去年,一种名为Stuxnet的计算机病毒突然出现,它不仅能在计算机和网络营造的虚拟世界中作威作福,还能对真实的工业设备造成损害。这让很多网络安全专家感到恐慌:我们可能即将进入网络战争时代。
撰文 莎伦·温伯格(Sharon Weinberger) 翻译 王栋
一年多前,伊朗的一台计算机不停自动重启,原因不明。白俄罗斯VirusBlokAda公司的分析员推测,这可能是某种恶意软件在搞鬼。通过互联网远程检查了这台计算机后,他们很快就证实了自己的猜测。但阴云并未散去:他们从这台伊朗计算机中提取到的代码显示,这是一种未知计算机病毒,不论是大小还是复杂度,都前所未有。
2010年6月17日,VirusBlokAda公司向全球发出了警告,这种后来被称作Stuxnet的计算机病毒开始遭到国际社会的“追捕”。这种病毒是迄今发现过的最复杂的恶意软件,也是新一代网络安全威胁的前兆。不像传统恶意软件只会在计算机和网络营造的虚拟世界中作威作福,Stuxnet还会攻击那些控制着泵、阀门、发电机等工业设备的软件。
“这是我们首次遇到能在现实世界中造成损害的病毒。它真的能破坏设备,甚至可能导致爆炸,”世界最大的计算机安全厂商赛门铁克公司安全响应中心负责人利亚姆· 奥莫舒(Liam O Murchu)说。
Stuxnet让疯狂的设想可能成为现实:某些团体或国家可以发起网络战,破坏对手的水利、能源等关键性基础设施。“我们很可能会由此进入一个网络军备竞赛时代,”芬兰F-Secure反病毒公司的首席研究员米克· 哈普宁(Mikko Hypponen)说。
更糟糕的是,Stuxnet的爆发还凸显了世界各国的网络防御能力有多么薄弱,信息安全科学的缺陷有多么巨大。
虽然在市场上争得忘乎所以,但在面对Stuxnet这样的病毒威胁时,计算机安全厂商通常会在幕后密切合作。在VirusBlokAda公司发出警告后不久,俄罗斯的卡巴斯基实验室就同微软公司合作,寻找Windows操作系统中可被病毒利用的安全漏洞(Stuxnet这个名字,是微软公司根据隐藏在病毒代码中的一个文件所取的。从技术上说,Stuxnet是一种“蠕虫”,即一类不需要感染别的程序就能独立运行的恶意软件。但实际上,专家也经常直接称它们为“病毒”,这已经成为了可进行自我复制的恶意软件的通称)。
面对Stuxnet,赛门铁克公司作出最有力的回应。奥莫舒及其领导的国际专家团队为此连续奋战了三个月。他们主要在赛门铁克恶意软件实验室开展研究。该实验室位于美国加利福尼亚州卡尔弗城,它对信息安全的防护程度,堪比最高级别的生物安全实验室。实验室大门上有醒目的警示标志,提醒来访者将随身携带的计算机、闪存和智能手机留在外面。任何进入了那道门的电子设备,即便无意带入的,也不能再被带出实验室。在实验室里,研究人员将Stuxnet植入一个模拟的网络环境,这样他们就能安全地观察这种病毒是如何发起攻击的。只是从“体积”来看,Stuxnet就足够让人吃惊了:差不多15 000行代码,这意味着,要编写这个病毒,一个程序员大概需要10 000个小时才能完成。与任何已知病毒相比,“这都是一个极长的代码,”奥莫舒说。
代码的精妙程度同样让人吃惊。Stuxnet不仅利用了两个数字认证证书(偷取自享有声誉的大公司),还可利用4个零日漏洞(zero day vulnerability)——这些都是以前没有发现的Windows系统安全漏洞,很容易受到黑客攻击。
然后是这个病毒的“行为”。“我们很快就意识到,它的表现不同寻常,”奥莫舒回忆说。最明显的是,Stuxnet病毒会与控制工业设备的可编程逻辑控制器(programmable logic controllers, PLCs)“对话”。不过,Stuxnet也很有针对性:虽然它能扩散到任何运行着Windows系统的设备,但只有在同时运行着西门子Step7(一种用于控制工业进程的数据采集与监控系统)的设备上,执行代码的关键部分才会激活。
为了避免遭遇恶意软件,被恶意接管,很多工业控制系统都不会连接互联网。针对这一点,Stuxnet也有巧妙对策:除了能像其他大多数恶意软件一样通过网络传播,它还能“潜伏”在闪存里。所以,只要不知情的操作员将带毒闪存插到一台控制系统计算机上,病毒就会激活。
可疑的动机
现在尚不清楚的是,Stuxnet会对西门子的软件做什么。赛门铁克的团队发现了一条线索:该病毒会搜集宿主计算机的信息,将数据传回马来西亚和丹麦的服务器——这可能是幕后黑手想偷偷地给病毒升级。虽然赛门铁克公司无法通过识别指令和控制服务器揪出幕后黑手,但他们可以说服互联网服务提供商,切断幕后黑手的服务器接入通道,并截取病毒发送的数据,传回赛门铁克公司,以供研究团队监视分析。通过监测流向那些服务器的数据来源,奥莫舒说:“我们能够发现大部分被感染的计算机都在伊朗,”比例至少有60%。事实上,在2009年时,伊朗就有大批计算机被Stuxnet感染。
很明显,这个病毒就是为攻击伊朗而编写的,具体原因仍然未知。但对于赛门铁克公司的研究人员来说,仅仅依靠他们自身的力量,已经无法更进一步了。虽然他们具有极其丰富的计算机和网络知识,但同许多防恶意软件团队一样,他们对可编程逻辑控制器及数据采集和监控系统知之甚少。德国汉堡的一位控制系统安全顾问拉尔夫· 朗纳(Ralph Langner)说:“他们真的没办法弄清楚这些病毒是用来干什么的,因为在他们现有的实验室环境里,是没法测试这个病毒的。”
朗纳决定自己来搞定这个问题。2010年整个夏天,他和他的团队都在一个装备有西门子软件和工业控制系统的实验室里忙碌,监测Stuxnet如何作用于可编程逻辑控制器。“我们开始测试的第一天,就得到了一些非常奇怪、有趣的结果,”他说。
根据测试结果,朗纳推断,Stuxnet的出现是一次有针对性的袭击,目标是某些特定软件和硬件。2010年9月中旬,他在博客上公布了Stuxnet可能是故意用来攻击伊朗的证据。他认为,最有可能的攻击目标是伊朗的布什尔核电站。
工业破坏
虽然朗纳公布的内容还有待证实,但新闻媒体却迅速“嗅”到新闻点,开始大肆宣扬一个新名词:“定向网络武器”(targeted cyber weapon)。然而,在接下来的几个月里,随着朗纳和其他研究人员对病毒代码的进一步研究,证据的指向开始从布什尔核电站转到了伊朗纳坦兹的铀浓缩厂。在那里,上千台离心机昼夜不停地运转,将稀少但能用于核裂变的铀235同位素从铀238中分离出来。许多西方国家确信,虽然从表面上看,伊朗提取浓缩铀是为了向核电站提供燃料,但真实目的是用来制造核武器。据朗纳和其他一些研究人员所说,这个恶意软件的代码就是用来改变精密离心机的运转速度,导致这些机器运转失控,最终损坏。
国际原子能机构(IAEA)的一项报告让这一解释显得更加可信。2009年,该机构发现,伊朗铀浓缩厂的离心机数量一度显著下降,而这正是很多评论家认为的Stuxnet首次感染伊朗计算机的时间。
准确地说,这些最多只算得上是间接证据。曾与美国科学家联合会(Federation of American Scientists)合作,研究伊朗铀浓缩行为的保加利亚物理学家伊万卡· 巴斯扎什卡(Ivanka Barszashka)谨慎地指出:“当它们不运转时,我们并不知道这些机器的状态究竟如何,我们不知道它们是真的坏了,还是仅仅没有运行。”另外,伊朗政府的官方声明也否认Stuxnet破坏了纳坦兹的大量离心机,尽管该国承认,Stuxnet确实在伊朗传播。并且,国际原子能机构于2010年下半年出具的视察报告也清楚表明,即便是有所损害,也只是一个暂时性的倒退:伊朗目前的铀浓缩能力比以往任何时候都要高。
不过,如果Stuxnet的攻击目标真是纳坦兹,我们大概就能明白,是谁以及为什么要编写这个病毒。考虑到编写这个病毒所需的知识——需要对恶意软件、工业安全以及特定型号和配置的工业设备都有很深的了解,多数Stuxnet研究者从一开始就认定,这个病毒的背后必有政府支持。
以前就有一些国家试图破坏他国的核项目,美国哈佛大学贝尔法科学与国际事务中心的高级研究员、国际原子能机构的前副总干事奥利· 海诺南(Olli Heinonen)说。例如上世纪八九十年代,西方国家精心策划了一次行动,向巴基斯坦的一个网络提供了一些有缺陷的部件,而这个网络是用于向某些国家提供核技术的——这些国家包括伊朗、朝鲜等。美国中央情报局等情报机关还进行过其他尝试,比如将有缺陷的核技术出售给其他国家。海诺南说:“Stuxnet 是新花样,但目的是一样的。”
朗纳认为,Stuxnet的背后是美国政府,它有制作网络武器的能力,而掐灭伊朗核野心的动机更是由来已久。除了朗纳,2010年的整个夏天,赛门铁克公司和所有计算机安全研究人员也一直在交流有关Stuxnet的最新发现和信息。但令人疑惑的是,美国国土安全部却一直保持沉默,尽管它管辖着专门用来应对网络威胁的计算机应急响应小组(Computer Emergency Readiness Teams,CERTs)。确实,这个小组发出过一系列警告。然而,虽然它坐拥世界上最精密的工业控制系统实验台,但第一个警告直到2010年7月20号才发出,比VirusBlokAda公司晚了一个多月,而且没有任何新内容。接下来的警告依旧如此:信息量少,发布又很迟缓。“一个迟来的‘剪报服务’,”数据采集与监控系统安全商——美国Digital Bond公司的创始人戴尔·彼得森(Dale Peterson)在他的博客里评价说。
“他们不可能忽略这个病毒,这一切也不可能只是个误会,绝对不可能,”朗纳说。他相信,CERTs对此轻描淡写的反应是刻意的,是为了掩盖一个事实——他们在爱达荷的实验室正是Stuxnet的诞生地。
但即便是朗纳,也不得不承认所有指向美国政府的证据都是间接的(美国政府既不会承认也不会否认这项指控,这是它对这类指控一贯的应对方式)。而指向另一个经常被提及的嫌疑国家——以色列的证据,就更加不清不楚了。赛门铁克公司曾指出,Stuxnet代码中内嵌的一个名字“香桃木”(Mytrus),可能暗指圣经故事中犹太人在波斯被有计划屠杀的记载。但其他研究人员认为,诸如此类的推断确实没什么根据。“没有事实证明与以色列有关,”美国的信息安全顾问公司泰阿国际(Taia Global)的创始人兼CEO杰弗里·卡尔(Jeffrey Carr)说。
事件余波
究竟“谁”是幕后黑手?或许永远都没人知道。实际上,对Stuxnet的实质性研究已于2011年2月停止了。当时,赛门铁克公司对该病毒的总结报告进行了最后一次更新,记录了它的运作方式、攻击路径以及传播记录的关键细节。微软公司早已为Stuxnet利用的安全漏洞打上了“补丁”。此外,所有的反病毒公司也都为用户的数字免疫系统进行了更新,以便能在第一时间发现并杀灭Stuxnet。现在,虽然感染还偶尔出现,为所有连接着西门子控制器的计算机打上“补丁”还需数年,但是新的感染事件已经很少见了。
然而,即使Stuxnet本身已经不再构成严重威胁,但信息安全专家依然对此次事件所暴露出的巨大安全隐患而担忧。许多研究过该病毒的研究人员都认为:Stuxnet实际上为未来的袭击者提供了一个蓝本,让他们可以参照学习,甚至进行改进。“从某种程度上来说,通过发动这次攻击,‘潘多拉魔盒’已被打开,”在谈到对美国政府的怀疑时,朗纳说,“美国最终很有可能是搬起石头砸自己的脚”。
信息安全专家对此类威胁几乎毫无准备,部分原因是他们与熟悉工业控制系统的人员缺乏交流与联系。“我们处于两个截然不同的世界,以前没有什么交流,”加拿大兰托菲诺工业安全公司的创始人之一兼CTO艾瑞克· 拜尔斯(Eric Byres)说。他对赛门铁克公司、朗纳及其他研究人员打破了这个隔阂表示赞赏。但这次,为了建立这些联系,研究人员消耗了很多时间和精力,耽误了对病毒的研究。
这种隔阂还延伸到了大学的计算机科学系里,曾是大学教师的拜尔斯说。研究人员往往将工业控制安全归为技术问题,而不是需要进行严格分析的科学问题。所以,如果哪位研究生对密码学和工业控制感兴趣,导师会告知他,从数学角度来看,这些领域深度不够,不足以作为论文课题。
以色列瀑布安全措施公司(Waterfall Security Solutions)北美分部的工业安全主管安德鲁· 金特(Andrew Ginter)对此深表赞同,他说:“我没听说过大学里的哪位科学家对Stuxnet做过深入研究。”从事这项工作的研究人员几乎都来自工业界,或官方机构——比如美国爱达荷国家实验室的一个研究团队,他们正在研发名为索菲亚(Sophia)的新一代系统,通过监测网络异常来保护工业控制系统,以免受到Stuxnet这样的威胁。
阻碍学术界人员进军信息安全领域的一个因素是,他们接触不到那些他们本应抵御的恶意软件。在Stuxnet事件中,这个问题还不突出,因为该病毒的代码在首次发现后不久就公布在网上了。但总体来说,在赛门铁克和其他公司的安全实验室里,为防止恶意软件外泄而精心设置的安全措施,同时也不可避免地成为了一道障碍,致使很多人无法接触到他们想要研究的恶意软件。“就像生物制剂研究领域,拥有某种制剂的研究组数量有限,而且他们不愿共享信息。对恶意软件的研究来说也是一样,” 美国乔治· 梅森大学安全信息系统中心的首席科学家阿纳普· 戈什(Anup Ghosh)说。“要想促进这个领域的发展,研究人员要有高质量的数据资源,”戈什说,他曾是美国国防部高级研究项目局的项目管理员,而现在的研究方向是恶意软件探测器。
美国华盛顿国家研究委员会计算机科学和电信委员会的首席科学家赫伯特· 林(Hebert Lin)说,对“数字武器”的抵触情绪,也是阻碍学术界人员研究恶意软件的原因之一。他指出,先弄清楚如何防御网络攻击,或许有助于说服他们。目前,让导师教研究生编写恶意软件仍“充满争议”,他说,“人们会问,‘你们在干嘛?培养黑客?’”
准备抵御下一次攻击
去年,为美国政府提供科学和技术咨询的詹森集团(JASON)开展的一项研究发现,网络安全存在很多挑战。其中最重要的或许是它的研究结论:“该领域在报告实验结果上较为落后,因此导致对研究成果的利用能力不足。”
美国卡内基· 梅隆大学的计算机科学家罗伊· 马克森(Roy Maxion)进一步指出,网络安全领域缺乏科学的严谨性。过去200年中,医学从业者已将自身从用水蛭治病的巫医,转变成了基于循证医学的现代科学家,“而在计算机科学,尤其是计算机安全领域,还没看到这种转变”。
在一些无足轻重的环节上,计算机科学确已取得了长足进步。马克森指出,在一次学术会议上,一篇论文向大家展示了,如何通过窗户和其他物体的反光,来偷看计算机显示器上的信息。“实际上,任何参加机密安全会议的人都会对这一‘成果’嗤之以鼻”,他说,“在保密措施严格的地方,根本不会有窗户。然而,这篇论文却是那次会议的热门议题。”
马克森认为,必须尽快把传统研究手段(如实验设计和统计分析)纳入计算机科学及安全课程——这是目前没有做到的。“为什么这很重要?”他说,“因为我们现在还不具备研究Stuxnet的科学基础,也没有能有效应对此类威胁的防御机制。”
对许多Stuxnet研究人员来说,让他们感到郁闷的还有美国政府对病毒漫不经心的反应(假设它不是幕后黑手的话)。Stuxnet代表了新一代网络武器,它完全可以用来袭击美国,但是现在,还没有迹象表明美国政府在采取积极措施应对此类袭击。
对此类威胁,其他国家的态度似乎要认真得多。据报道,以色列似乎已在开发应对国家网络安全的计算机技术。在发现Stuxnet的几个月之前,以色列本-古里安大学德国电信实验室负责人伊瓦尔· 阿勒维西(Yuval Elovici)告诉《自然》杂志,他正同以色列国防部在网络安全领域进行密切合作。似有先见之明一般,当时他就警告说,下一波网络攻击的目标将会是现实中的基础设施。“如果有一段病毒代码被注入数据采集与监控系统,会发生什么?要是有人突然激活了它们又怎么办?”阿勒维西问道。他和一些专家一直在警告:对电网控制系统发动一次病毒袭击,就能导致全国范围的大停电;发电站安全系统也有可能被压制,导致机组关停或重大事故。类似的破坏还有可能发生在供水和排水系统,甚至食品加工厂。
阿勒维西警告,这类袭击不是科幻小说里的情节,它们确实可能在现实世界里发生,而且它们的危害往往被低估了。当被问到造成的损失会有多大,阿勒维西给出的答案直接明了:“我认为,远远大于数颗原子弹在大城市爆炸所造成的损失。”
请 登录 发表评论