尸网络(Botnet)是指多台被恶意代码感染、控制的与互联网相连接的计算机。Botnet正成为一种日益严重的威胁,不过,只要我们用好对付它的六把利剑,僵尸网络就难以造成严重的祸患。
第一招:采用Web过滤服务
Web过滤服务是迎战僵尸网络的最有力武器。这些服务扫描Web站点发出的不正常的行为,或者扫描已知的恶意活动,并且阻止这些站点与用户接触。
Websense、Cyveillance 、FaceTime都是很好的例子。它们都可以实时地监视互联网,并查找从事恶意的或可疑的活动的站点,如下载JavaScript或执行screen scrapes等正常Web浏览之外的其它骗局。Cyveillance 和Support Intelligence还提供另外一种服务:通知Web站点操作人员及ISP等恶意软件已经被发现,因此黑客攻击的服务器能被修复,他们如是说。
第二招:转换浏览器
防止僵尸网络感染的另一种策略是浏览器的标准化,而不是仅仅依靠微软的Internet Explorer 或Mozilla 的Firefox。当然这两者确实是最流行的,不过正因为如此,恶意软件作者们通常也乐意为它们编写代码。同样的策略也适用于操作系统。据统计,Macs很少受到僵尸网络的侵扰,正如桌面Linux操作系统,因为大多数僵尸的罪魁祸首都把目标指向了流行的Windows。
第三招:禁用脚本
另一个更加极端的措施是完全地禁用浏览器的脚本功能,虽然有时候这会不利于工作效率,特别是如果雇员们在其工作中使用了定制的、基于Web的应用程序时,更是这样。
第四招:部署入侵检测和入侵防御系统
另一种方法是调整你的IDS(入侵检测系统)和IPS(入侵防御系统),使之查找有僵尸特征的活动。例如,重复性的与外部的IP地址连接或非法的DNS地址连接都是相当可疑的。虽然难于发现,不过,另一个可以揭示僵尸的征兆是在一个机器中SSL通信的突然上升,特别是在某些端口上更是这样。这就可能表明一个僵尸控制的通道已经被激活了。您需要找到那些将电子邮件路由到其它服务器而不是路由到您自己的电子邮件服务器的机器,它们也是可疑的。僵尸网络的专家Gadi Evron进一步建议,您应该学会监视在高层对Web进行访问的家伙。它们会激活位于一个Web页面上的所有的链接,而一个高层次的访问可能会指明一台机器正被一个恶意的Web站点所控制。
一个IPS或IDS系统可以监视不正常的行为,这些行为指明了难于发现的、基于HTTP的攻击和来自远程过程的攻击、Telnet和地址解析协议(即ARP)欺骗等等。然而,值得注意的是,许多IPS检测器使用基于特征的检测技术,也就是说,这些攻击被发现时的特征被添加到一个数据库中,如果数据库中没有有关的特征就无法检测出来。因此,IPS或IDS就必须经常性的更新其数据库以识别有关的攻击,对于犯罪活动的检测需要持续不断的努力。
第五招:保护用户生成的内容
还应该保护你的WEB操作人员,使其避免成为“稀里糊涂”的恶意软件犯罪的帮凶。如果你并没有朝着WEB 2.0社会网络迈进,你公司的公共博客和论坛就应该限制为只能使用文本方式,这也是Web Crossing的副总裁Michael Krieg的观点,他是社会化网络软件和主机服务的创造者。
Krieg 说,“我并不清楚我们成千上万的用户有哪一个在消息文本中允许了JavaScript,我也不清楚谁在其中嵌入了代码和其它的HTML标签。我们不允许人们这样做。我们的应用程序在默认情况下要将这些东西剥离出去。”
Dan Hubbard是Websense安全研究的副总裁,他补充说,“那是用户创建内容站点的一个严重问题,即Web 2.0现象。你怎么才能在允许人们上传内容的强大功能与不允许他们上传不良的东西之间寻求平衡呢?”
这个问题的答案是很明确的。如果你的站点需要让会员或用户交换文件,就应该进行设置,使其只允许有限的和相对安全的文件类型,如那些以.jpeg或mp3为扩展名的文件。(不过,恶意软件的作者们已经开始针对MP3等播放器类型,编写了若干蠕虫。而且随着其技术水平的发现,有可能原来安全的文件类型也会成为恶意软件的帮凶。)
第六招:使用补救工具
如果你发现了一台被感染的计算机,那么一个临时应急的重要措施就是如何进行补救。像Symantec等公司都宣称,他们可以检测并清除即使隐藏最深的rootkit感染。Symantec在这里指明了Veritas和VxMS(Veritas Mapping Service)技术的使用,特别是VxMS让反病毒扫描器绕过Windows 的文件系统的API。(API是被操作系统所控制的,因此易于受到rootkit的操纵)。其它的反病毒厂商也都试图保护系统免受rootkit的危害,如McAfee 和FSecure等。
不过,Evron认为,事后进行的检测所谓的恶意软件真是一个错误!因为它会使IT专家确信他们已经清除了僵尸,而其实呢,真正的僵尸代码还驻留在计算机上。他说,“反病毒并非是一个解决方案,因为它是一个自然的反应性的东西。反病毒能够识别有关的问题,因而反病毒本身也会被操纵、利用。”
这并不是说你不应该设法实施反病毒软件中最好的对付rootkit的工具,不过你要注意这样做就好似是在你丢失了贵重物品后再买个保险箱而已。用一句成语讲,这就叫做“亡羊补牢”。Evron相信,保持一台计算机绝对安全干净、免受僵尸感染的方法是对原有的系统彻底清楚,并从头开始安装系统。
不要让你的用户访问已知的恶意站点,并监视网络中的可疑行为,保护你的公共站点免受攻击,你的网络就基本上处于良好状态。这是安全专家们一致的观点。
可以注意到,如果一个网络工作人员对于网络安全百思不得其解,并会油然而生这样一种感觉,‘我应该怎么对付这些数以百万的僵尸呢?’。”其实,答案非常简单。正如,FaceTime 的恶意软件研究主管Chris Boyd所言,“只需断开你的网络,使其免受感染─病毒、木马、间谍软件或广告软件等……。将它当作一台PC上的一个流氓文件来进行清除(不过,谁又能保证真正清除干净呢?)。这就是你需要做的全部事情。