每季度,我总是拨部分预算给安全评估,这是预算中至关重要的一环。我的安全评估重点常为主体设施,关键应用评估,或是公司产品的机能渗透测试。而本季度,我决定雇佣一名电脑黑客。
故障通知单一家专营渗透测试的咨询公司发现了不少漏洞。应对方案就是修补漏洞,并重新编写程序,然后查明为何安全团队中无人发现可疑的威胁进程。
大体上而言,我认为公司已经固若金汤,然而我亦明白,我们的基础架构仍不是100%的安全。内部系统评估是找出漏洞的唯一方法,或者,还有一种更好的方法:雇一位黑客来为公司进行评估,抑或是至少雇佣一家专营渗透测试的咨询公司来评估。
我的设想中,通过第三方的客观评估,我们得到的信息更为全面。对于所雇佣的顾问,我只提一项要求:禁止攻击阻断式服务。雇佣其他的公司,我就能进行秘密测试,测试安全团队对可疑进程的敏感程度;IT部门内,只有极少数可信之人了解内幕。这样做还有一大好处,我们能及时发现漏洞,明确如何改良数据外泄防护方案,安全事件,甚至是为我们提供保护的事件管理系统。
对于那些顾问,除了一张待评估关键件应用列表,我不提供多余详细信息。我需要他们像一名黑客,或一个组织那样,有目的性地攻击公司漏洞。
2周后,我收到了报告,此次报告最大的发现,是揪出了一个外部DNS(域名系统)服务器,该服务器提供公司内部地址空间的链接。此外,这个 DNS服务器经过配置,允许任何人转载公司包括内部基础架构图,以及命名约定在内的机密信息。一名黑客能够通过这些信息,找到公司的内网,攻击重要目标。
还有一个问题浮出水面:通过一些漏洞,公司的基础架构有被越权存取的可能。在一项网络应用中,一位顾问发现了一处SQL资料隐码漏洞,黑客能够使用SQL语言询问,获得密码,破坏公司应用服务器上的系统账户。密码的破译仅仅需要6秒的时间。
密码能用于登陆Microsoft Outlook 网络访问,之后,黑客/顾问就能够使用应用服务账户注册。出于安全考虑,服务账户最好别捆绑邮箱地址。
无论如何,顾问能够获取整个公司的名册,找出在邮件收发室的员工。取得该员工包括家庭住址,电话号码,个人邮箱地址在内的大量的信息,就如同他在网上所做的那样。然后,他伪装成该员工,向帮助台求助(顾问能从公司官网找到帮助台的电话号码)。帮助台的技术人员几乎不验证“用户”身份,他们只会询问“用户”的办公室分机号。顾问报上号码后,技术人员毫不犹豫地重置“用户”邮箱密码,并提供一个临时双重认证密码,顾问能凭其登陆员工VPN(虚拟私人网络)。至此,黑客成功进入公司内网,接触所有公司应用。
如你所想,我有一堆任务要完成。我们需要制定新帮助台流程,以进行员工验证,我们还需要重新配置DNS服务器,修补SQL资料隐码漏洞,合并 Microsoft Outlook网络访问的双重身份认证,以及查验服务账户。最后,我还需要查明一点:顾问/黑客的那些作为,为何我的安全团队没有一人发现?