曾几何时,我们坚信防火墙是对付攻击最好的利器,然而3月底出现的一个蠕虫病毒彻底击碎了我们的理念。防火墙与黑客的斗争就好似一个亡羊补牢的游戏,如今这个专门替别人修补漏洞的利器竟然忘记修补自己的千疮百孔。
网络安全技术顾问托尼·布德瑞博士说:“现在几乎所有的软件都存在安全隐患或漏洞,如果你想最大可能地避免病毒及黑客攻击,就请不要连接互联网,更不要完全相信你的防火墙……”
城门失守
2004年3月20日,一个星期六的早晨,重庆电信IDC机房的很多服务器突然出现异常情况,服务器似乎受到了溢出攻击,系统运行迟缓,而更加严重的问题是很多服务器重新启动后陷入了彻底的瘫痪状态,无法重新引导和修复。
与此同时,全球网络在短短的半个小时之内,已经有30000多台服务器和个人电脑受到了未知病毒的攻击而陷入瘫痪状态。
而且此次攻击的目标似乎很有针对性,这些被攻击的机器都有一个相同的特征:安装有ISS公司的网络安全产品。
攻击事件的罪魁很快被查明,结果令大众非常吃惊,造成此次全球众多服务器瘫痪的竟是一个名为Witty的蠕虫病毒,而Witty利用的正是ISS安全系列产品的一个漏洞发动针对性攻击的。
Witty蠕虫的传播方式同冲击波非常相似,它不需要欺骗用户打开任何文件,它在感染一台服务器后会迅速地将该服务器变成一个病毒传播源,通过随机生成的IP地址尝试将病毒传播到新的PC机或服务器上。
由于受到攻击的目标多数为网络服务器,因此Witty感染的速度也惊人地快。
崩塌的安全支柱
“Witty的传播速度实在令我们吃惊,在短短半个小时内它就感染了多达32000台机器,这可能是历史上速度最快的恶意攻击了。”ISS公司X-Force研发部门副总裁克里斯·劳兰德显然对Witty的到来没有做好充分的准备,“Witty每秒都会随机产生20000个IP地址进行攻击,然后通过ISS产品的漏洞向服务器硬盘中的关键分区写入垃圾数据,覆盖原有的重要系统数据。它摧毁了整个系统的稳定性,这些破坏最终会导致多数系统在重新启动时‘蓝屏死机’。”
ISS这次漏洞的出现主要是由于ISS安全产品的入侵检测功能都依赖于一个名为 “iss-pam1.dll”的模块,该模块中包含了协议分析、攻击特征描述等内容。而iss-pam1.dll在解析著名的通讯软件ICQ公开的ICQ v5通讯协议时对某些字段没有处理好,因此导致了缓冲区溢出漏洞。
不过因为这是RealSecure、BlackICE等安全产品对系统接收到的数据包解析过程中出现的问题,所以黑客或病毒要触发该漏洞时,被攻击者的系统上并不需要运行ICQ。
iDefense的计算机安全专家肯·邓哈姆表示,在大多数用户系统中使用的反病毒软件很难发现Witty蠕虫,因为它并不将自己复制到硬盘上,也不修改注册表,而是常驻内存。互联网病毒、蠕虫以及其他恶意软件往往在受到攻击的PC上安装软件或是打开后门让黑客控制PC,从而了解用户的个人信息或是利用受感染的电脑发送垃圾邮件。但Witty蠕虫却并非如此,Witty蠕虫自身并不以文件形式存在,它仅是一段UDP代码,这种情形类似于CodeRed和SQL Slamer蠕虫。而且大多数被感染的计算机将不得不重新安装整个系统,除非用户决定买新的电脑。他说:“这种病毒的破坏目的非常明确,那就是以Raw Data方式摧毁硬盘数据,导致用户不得不重新安装计算机操作系统和所有的软件。”
其实早在3月18日,著名的安全公司eEye Digital Security就发现了ISS产品中的这个缓冲区溢出漏洞,并通知了ISS公司。但是就在ISS推出该漏洞补丁程序的3月20日,Witty蠕虫也同时出现在互联网上,这一切都让ISS的技术人员和用户措手不及。而ISS只能看着自己用户的防火墙和系统一个个“失守”瘫痪。
3月20日~3月22日,仅仅过了两天时间,ISS产品5%的用户不同程度地遭到了Witty的“洗劫”,这家世界著名的网络安全公司对那些由于自己产品漏洞而毁掉系统的用户显得如此无能为力。而Witty蠕虫这种通过防火墙自身的漏洞发起破坏性攻击的速度与威力也给全世界留下了深刻的印象。
还用不用防火墙
ISS这次城门失守在网络安全软件史上并不是头一次,著名的杀毒软件公司赛门铁克也曾经几次城门失守,但是由于当时黑客技术和病毒技术并没有非常好融合,因此赛门铁克幸运地躲过了这些危险的攻击。
可如今的软件体积越来越大,而软件中的重复使用代码率也相当高,很多公司购买的重复代码安全性更低,存在很多的漏洞。根据赛门铁克一年两次的《互联网安全威胁报告》称,2003年软件公司和安全研究员共向公众发布了2636个软件安全漏洞,比2002年的2587个安全漏洞上升了2%。而从2001年至2002年,这一比率上升了81%。
赛门铁克还称:43%的网络攻击是由于蠕虫病毒;而40%来源于探测系统漏洞(不全为恶意);另外17%是非蠕虫导致的闯入系统尝试。该报告中还描述,过去半年的赛门铁克高级网络的侦测中,约有1/3的电脑被MSBlast或Blaster蠕虫病毒利用进行攻击。这是因为一台电脑可以用作多个攻击的工具,很多病毒极大程度地利用了这一点。后果“显著”的SQL Slammer蠕虫,在实现的攻击数量中占1/4,仅利用了2.4%的电脑。这份报告最后指出,已经有两年以上历史的红色代码和Nimda蠕虫也仍在网络上传播。
Witty在传播中,在被研究中,在被诅咒中。诅咒是无谓的,如果我们不能彻底战胜这类病毒,那就应该代之以感谢——感谢它带给我们的启示。
一时间,这个高速的网络之上的每一个人似乎都陷入了自我检讨和反思;感谢它“救”了防火墙,虽然我们付出了几万台机器“中招”的代价,但它教会更多人要理性,并重新抛弃那些有防火墙就万事大吉、天下太平的信念,就像当年抛弃计算机防毒卡一样。
结束语
最近又有安全组织发现Windows XP的浏览器在解析目录中的“wmf”文件时,如果目录包含零长度记录,就会发生异常,造成资源管理器崩溃。远程攻击者可以发送恶意目录中包含“wmf”文件的E-mail给目标用户,并通过用户点击来触发此漏洞。
目前厂商还没有提供补丁或者升级程序。