世界“最大漏洞工厂”是谁? 一个补丁背后的秘密
特别报道
“永远也打不完的补丁。永无休止。”说这话之前,林俊辰默默地开启安全软件,扫描了一遍计算机,还好,提示的是:系统不存在任何高危漏洞。这意味着,林俊辰暂时不需要打任何补丁了。对这位35岁的证券分析师而言,尽管他把电脑、手机的安全问题摆在第一位,查找、安装补丁成了他的固定程序,但他并不明白什么是补丁,也说不上来补丁的分类,对一个补丁背后的秘密更是一无所知。
永远打不完的补丁
补丁,原指衣服、被褥上为遮掩破洞而补上的小布块。现多指用来封堵漏洞的特殊文件。“互联网将世界连成了一个整体,因此难免有许多人利用软件系统中存在的程序漏洞放置木马、病毒、恶意脚本、流氓软件等以破坏计算机系统,窃取重要信息。除了部署防火墙系统、安装杀毒软件外,给软件系统打好补丁显得尤为重要。”一位资深网络工程师如此阐释补丁的重要性。
一个形象的比喻是:就像衣服烂了要打补丁一样,人编写的程序也不可能十全十美,总是会出现各种各样的缺陷,而补丁的用途就是专门修复这些缺陷——它一般是一个独立的小程序,需要单独下载。
目前而言,计算机补丁主要有两种:操作系统补丁和应用系统补丁。
操作系统补丁顾名思义就是操作系统的不定期错误漏洞修复程序,有微软的,有Unix的,有Linux的——当然,还有苹果MAC OS补丁,补丁文件也大小不一。它关系到操作系统运行的稳定性、可靠性和安全性。
至于应用系统补丁,按属性则可分为软件补丁、游戏补丁、汉化补丁和硬件驱动补丁。“所谓软件补丁,常常是因为发现了软件的小错误,为了修复个别小错误而推出,或者为了增强某个功能而发布。我们经常直接跟软件打交道,如果不及时为软件打上补丁,可能会导致数据丢失,那就得不偿失了。”上述资深网络工程师介绍,比如微软Office补丁,就是其中一种。
游戏补丁则是解决游戏不能正常运行的问题;而汉化补丁,更好理解——许多软件都是英文版本的,为了占领市场,软件开发商提供了中文版本,或者一些民间小组对其进行中文翻译。比如游侠网,目前上面都有大量游戏和汉化补丁可供下载。
移动互联网的飞速发展,也出现了各种手机补丁。其中有抱着优化系统,或者是避开专利纷争的手机补丁,一个最新例子是——三星和谷歌共同开发了Galaxy Nexus手机的一个软件补丁,以便绕过涉嫌侵犯苹果专利。
但不管是哪种补丁,都是永远打不完,原因很简单——厂商在不断更新换代,推出新品。而用户在使用过程中,则会不断地发现漏洞。
世界上最大的“漏洞工厂”
微软Windows操作系统作为使用最多、最普遍的操作系统,很多病毒均是利用系统的漏洞进行攻击。为此,每隔一段时间微软都要发布修复系统漏洞的补丁。
2004年的时候,通常在每个月的第二个星期二,微软都会发布安全补丁。从那时开始,世界各地的微软用户就要学会如何安排这种每月都会发生的事件——打补丁。很多人对自己系统进行编程,从而可以自动地在太平洋时间10点下载它们。
RafaelCappas是一位美国系统工程师,他回忆当初下载补丁经历时说,Windows历代产品一贯给人留下的印象是:发布时颇为粗糙,直到SP1等多个补丁发布出来后才能勉强使用。
由于设计不当的原因,微软一直是世界上最大的“漏洞工厂”,通常每个月都需要推出补丁修补漏洞,在2011年4月,微软推出了17个补丁,修复Windows、Office、IE、Visual Studio等产品中64个漏洞,创下了最高历史纪录。更早一些时候的2009年6月10日,微软一次性推出了31个补丁,创微软补丁数量单日纪录,这些补丁用于修复Windows、Office、IE浏览器和企业数据中心使用的软件中关键部分的漏洞。

这并不是微软最著名的补丁事件。2008年10月中旬,中国众多用户突然遭遇了来自微软的黑屏恐慌,大批中国用户担心自己的电脑永远黑屏或被植入永久标志。微软公司不得不临时召开媒体会,为这场名为“Windows正版增值计划”(WGA)及“Office正版增值计划”(OGA)的行动正名。从当月10月20日开始,那个引起众多用户恐慌的WGA——即KB905474补丁,正式见诸于众人面前。
另一个补丁是2008年5月6日发布的Windows XP SP3补丁,它包含了自2001年以来的XP所有补丁——当时在微软内部,有1.5万人参与了SP3的测试。
Jesper Johansson博士以前是微软的高级安全员,他曾多次参与微软补丁测试,他表示,每个IE安全补丁在发布之前都要经过数以千计的退化测试。“确保新的软件不会影响现有软件,因为有时补丁会导致系统崩溃。”
让人难以想象的是,微软发布一个漏洞的补丁时间曾长达7年半——2008年11月,微软发布了一款SMB(服务器消息块)服务安全补丁。这个软件是用来在网络上实现文件和打印机共享的。但早在2001年,一名黑客就公布了使用Metasploit渗透工具攻击SMB漏洞的方法,而微软当时也承认这一漏洞的存在。
一个补丁引发的纷争
2007年4月初,微软律师向一家网站创办人递送了禁止通知函,原因是在Vista第一个服务包SP1还未正式发布之前,该网站就发布了100多条可能被包含在SP1中的hotfix补丁。
这家网站叫做Hotfix.net,其创办人名叫伊桑·艾伦,他表示这些信息是从微软的知识库中得到的,已经被认可为微软的服务包。不过微软还是义正辞严地进行了警告,并发出了律师函。这正好表明了微软对于第三方补丁的鲜明态度——微软对第三方补丁并不欢迎,甚至持警告态度。
按照微软惯例,微软公司在每个月的第二个星期的星期二发布补丁,这个光荣的传统持续了十多年。可0Day漏洞(才被发现但没有补丁的漏洞)不会在每个月的第二个星期的星期二出现,这样一来漏洞出现和漏洞被修补之间就出现了一段时间差,于是第三方补丁出现了。
在国外,以ZERT(由程序员和安全专家组成)为代表的一些安全组织和安全公司会推出应急的第三方补丁,例如2010年的“台风”漏洞,该漏洞被曝光三天后国外的一些安全论坛就制作了第三方补丁。
不过在国内,微软与中国的安全公司大都有合作,360、金山、瑞星等知名安全公司都是微软的合作伙伴,微软的补丁同时通过他们推送给用户。相比之下,国内的第三方补丁更有商业目的。
至于第三方补丁流程,一位资深网络安全专家告诉记者,作为微软合作伙伴推送微软补丁的流程是:在第一时间看到微软发布补丁程序后,工程师会针对自己的用户群,连夜分析新补丁,基本不做测试漏洞的兼容验证,这个由微软负责,然后通过自己的工具推送给用户,同时写新闻告知用户新的补丁。一般在微软发布两三个小时后,第三方就会把微软补丁推送给用户。
由于安全公司只是提供微软补丁的入口和指向,而且各家安全公司的用户数量不同,同时下载的带宽资源也是一个瓶颈,因此,补丁下载的带宽资源都是微软提供,由微软分配给各安全公司。
这引发了新一轮血雨腥风的战争——谁能最迅速推出补丁,获得更多的带宽资源,也就能有更多的用户,占领更多的市场。某种程度上,这也是360、金山、瑞星、腾讯长期口水不断的原因。
但问题在于,两三天就制作出来的补丁可能存在种种问题(这也是微软补丁出得慢的根本原因)。微软前高级安全员Jesper Johansson博士警告说,第三方补丁以及修正程序通常都没有像官方补丁那样彻底测试过。
苹果在此,补丁不是微软专利
在微软Vista项目主管尼克·怀特(Nick White)看来,盲目安装无论是第三方补丁,还是微软网站上的补丁对于用户来说都是不明智的,这些补丁只针对出现相对症状的电脑,如果盲目安装还可能会引发一些新问题。
而一向特立独行的苹果,在漏洞补丁上也是特立独行。
今年6月,国外网站PCWorld发现苹果悄悄更改了Mac电脑病毒免疫声明,从原来的It doesn’t get PC viruses(不受PC病毒侵害)改成较为保守的It’s built to be safe(重视安全)。
此番措辞的更改,来自向来不怕病毒入侵的苹果Mac电脑让人大感意外——跟微软Windows系统相比,苹果一向宣称自己电脑的操作系统很少感染病毒。
该操作系统的运行环境是Java。不过,在今年2月,来自俄罗斯、美国的安全专家就多次表示,因为Java漏洞,导致全球60万台Mac电脑中毒。据悉,苹果几月前就曾发现了这一威胁,而甲骨文早在3个月前就发布了补丁,苹果拒绝使用这一补丁,而希望自己解决此事,但这通常需要花费数月时间。苹果直到4月2日才推出了自主开发的补丁。
最新消息显示,俄罗斯黑客阿莱克斯·鲍罗丁最近利用“应用内购买”,成功让iOS用户不需要越狱就可免费使用App中的收费应用。分析人士认为,iOS apps的“应用内购买”要比Mac App Store apps严重得多。
这一次,业内外都在等待苹果给出答案:是否能像对待iOS应用漏洞那样,尽快发布一款针对OS X应用商店漏洞的补丁。
编辑建议
根据本报软件评测工程师多年经验,不打第三方补丁比打第三方补丁更好。不打第三方补丁虽然无法临时封住漏洞,但真正面临的威胁也小——漏洞单个利用很容易,但要大规模利用也需要一定的时间来完成漏洞利用工具的编写,所以这一个几率问题,被摊上的几率其实非常小。如果看到KB3开头的补丁、临时补丁、应急补丁这些文字就不要安装了。
小贴士 | TIPS
KB是补丁的编号,KB3开头的都是第三方补丁,这对熟悉安全的人来说是常识,不过很多普通用户不知道,可能会误以为是微软官方的补丁。