通的信息安全职业人员可能没有意识到,但是,僵尸网络已经无可争议地成为企业需要面对的头号安全问题。为什么?企业信息安全人员需要花时间处理的大多数日常安全问题——受感染的终端、垃圾邮件泛滥以及数据泄漏或丢失——从某种程度上讲,这些都是由僵尸网络引起的。
在本文中,我们首先简单地讨论一下僵尸网络是如何工作的,然后重点介绍企业应该采取哪些措施来识别和阻止僵尸网络活动。
多年来,僵尸网络给许多消费者和企业都带来了危害,而且僵尸网络攻击没有放缓的迹象。在某种程度上,这是因为僵尸网络一直在改进其功能,并变得越来越容易使用。
有些人可能不太熟悉僵尸网络是如何工作的,简而言之是这样的,首先攻击者会通过电子邮件中、网站上的恶意连接,或者通过社交网络平台想方设法在大量的目标计算机上安装恶意软件。这种恶意软件可以让攻击者在计算机主人不知道的情况下,给被破解的计算机发送指令,做他们想要做的任何事情。通常情况下,数千台受感染的计算机汇集成一个僵尸网络或者僵尸计算机军队,这些电脑的综合计算能力可以让攻击者进行各种恶意活动。
尽管业界通过消除它们的命令和控制结构来“打击”僵尸网络,且消费者和企业也在努力改进他们的安全状况,但是僵尸网络和恶意软件已经进化,会攻击新的领域来达到他们的非法目的。过去僵尸网络使用直接以网络为基础的攻击,以Windows系统为目标,现在它们开始攻击应用程序了。更糟糕的是,成功的应用程序攻击通常只需要很少的用户活动,比如访问网页或者打开一个恶意附件等。
在企业环境中识别和清除僵尸网络
如果企业中有几台机器被僵尸网络感染,会出现明显的迹象,其中包括异常的网络活动或客户端系统的不稳定。异常网络活动表现为一台计算机连接大量的外部系统,但是攻击者已经意识到这种情况很快就会引起安全人员的注意,所以他们试图减少主机数量或者朝外发送的数据量,并使用HTTP,HTTPS或者其他常用的协议来弱化监测。客户端系统的不稳定表现包括运行速度慢等现象,然而这也不那么常见了,因为终端用户一旦报告速度慢,人们就会调查本地系统。企业可以结合网络分析和相关性报告以及本地系统的日志或者调查,来监测网络中的僵尸网络感染。其中一个监测方法是检查本地系统,把网络中通往外部的网络连接与本地工具报告的网络连接相比较。凡是出现在网络上、但是没有出现在本地系统报告中的内容都可能是命令和控制通道或者你的环境发出的数据。
对于一个大型分布式的网络来说,最有效的检测方法就是使用专用网络设备,访问所有的互联网流量,以识别可疑数据包。这种流量看起来像标准的网络数据,但是当大量数据朝外部发送时,尤其是从多个系统发送时,就需要有一种方法来鉴别这种流量以及产生这些流量的系统。我们还可以使用已知的僵尸网络控制器来扫描与IP地址相关的连接,识别可疑的网络流量。
一旦企业识别出受感染的系统,就必须集中精力清除僵尸网络,因为,如上所述,僵尸网络可以进行各种恶意活动,包括攻击内部系统或者进行欺诈。标准的建议是格式化并重装受感染的系统,这个方法总是删除恶意软件最有效的方法。本地系统重装以后,还应该把僵尸网络从网络中移除,以防止进一步的感染。与受感染的本地系统相连接的远程系统也应该断开,以防止其他可能受到感染的本地系统接触远程系统。企业不要把数据存储在本地系统上,而且要使用标准化的系统构建过程以及自动化软件分布功能,以尽量减少停工时间。
另外一个选择是利用备份恢复系统,让系统回到生产状态。你可以尝试使用杀毒软件或者定制工具手动移除恶意软件或者僵尸软件,比如,杀毒软件厂商提供的或者内部开发的工具,这种方法可能适合那些没有权限接触敏感数据的系统,但是这会导致系统再次被恶意软件或者病毒感染。一般来说,格式化并重装受感染的系统是更好的办法。
企业还可以做什么?
采取一些基本的安全控制措施很有必要,可以防御大多数的僵尸网络攻击。如果这些基本控制措施不能遏制这种威胁,那就要考虑采取某些高级控制措施。基本的安全控制措施包括:
客户端杀毒软件——每台客户端计算机应该安装最新的杀毒软件并定期更新,这个过程最好是自动的,或者采取类似的控制措施。
操作系统强化——每台客户端计算机应该采取基本的强化措施,比如删除不必要的软件或者服务等。
防火墙——每台客户端计算机都应该受到基于主机的防火墙或者网络防火墙的保护,可能的话两种防火墙都要使用,进行真正的深度防护。
为员工设置适当的权限级别——进行标准活动时,每个用户应该只用普通的低级权限登录。
适当的补丁管理——每台客户端计算机都应该运行更新过的、打过补丁的软件,以阻止那些利用未打补丁的软件的攻击。
如果你的企业应用程序需要禁用上述基本安全控制,比如有的自定义应用程序需要使用管理员级别权限,你可能还需要采取某些高级控制措施。这些高级控制措施包括:
专用杀毒软件或者反僵尸网络网络设备——比如Palo Alto Networks公司的防火墙、Actiance公司的Unified Security Gateways(一体化安全网关)、免费的BotHunter工具以及其他工具,可以用来识别并阻止整个网络的僵尸网络,不管本地系统有没有控制措施,为系统提供额外的保护层。
沙箱——这些工具把最常用和风险最高的应用程序,比如网络浏览器,PDF阅读器或者多媒体播放器等与系统的其他部分隔离,保护它们不受攻击。
白名单——这种技术严格限制系统能够做哪些事情,因此可以防止某些恶意软件感染系统。
浏览器安全工具——这些工具,比如Firefox的NoScript插件、Trusteer公司的Rapport以及其他工具等,还可以保护浏览器不被利用。
反钓鱼工具——这些工具可以配合其他工具使用,以阻止具有针对性的电子邮件攻击。另外,许多这种工具可以把它们的日志发送到安全信息与事件管理(SIEM)系统,以协助识别某些高级攻击。然而,所有这些控制都应该进行评估,因为它们的管理和复杂性会对网络产生潜在的影响。
然而,如果你发现了这样一种情况:基本的安全控制措施没有充分保护好一个受感染的系统(比如,大地零点接着一个僵尸感染),那么就应该做一个深入的调查,确定哪些控制失败了,为什么失败,以便决定是否需要采取更多的高级控制措施。这个调查应该将网络流量与本地报告的网络连接相比较,或者使用取证调查技术,以确定在感染过程中哪些文件被创建、删除或者修改。
结论
尽管研究人员在去年采取措施打击了某些僵尸网络,但是它们已经进化并继续危害更多的消费者和企业。企业应该采取基本的安全控制措施,从而尽量减小僵尸网络攻击和其他攻击的影响,当基本的安全措施失败时,应该使用或者购买高级控制措施。被僵尸网络感染之后,企业应该进行调查,确认哪些控制措施出现了问题,需要作出什么改变,以便在将来抑制这些攻击。企业应该尽快识别并删除僵尸网络,尽量减少这些攻击对其他系统和网上金融交易的危害。