多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
连续伏案工作了两个小时,莫楚又累又烦。他不知疲倦的把一片又一片虚拟硬件“插进”Step 7模拟器中,孤注一掷的努力找出震网的攻击目标,但不幸的是,他一无所获。 这是2010年10月初,几周之前,拉尔夫·朗纳已经成功识别出,震网是针对单一特定目标的精确制导武器。此刻,德国汉堡和美国加州的两个团队仍然没有任何交集,也不知道对方的存在,却在同时埋头研究同一个问题:震网的目标到底是谁? 赛门铁克的研究员发现,震网在将具有破坏力的载荷释放到315型PLC之前,会对集成在PLC内部的数据段进行搜索,寻找3个由数字和字母组成的“神秘数值”(16进制值)。震网感染PLC后,先在这些数据段中寻找“2C CB 00 01”“7050h”和“9500h”,只有同时找到这3个值,才会确认这就是它要找的目标。 钱哥在Google上搜了一下,但没有发现它们和震网之间有什么联系。他们怀疑,第一个值可能是与PLC连接(受其控制)的某个硬件设备的序列号,莫楚为此专门搭建了一套Step 7 PLC的模拟环境,想要确定这个未知设备的身份。Step 7系统具有内置的模拟器,可以在PC上构建一个虚拟的PLC网络,这样,用户就可以在构建工厂中的真实环境之前,对不同的硬件配置进行测试。模拟器中有一个很长的硬件设备清单,用户可以通过点击菜单中硬件名称的方式,对虚拟设备进行“插拔”操作。用户每选中一个选项,相应设备的ID号就会显示在屏幕上。但是,两个小时过去了,他们按照列表上的顺序,依次插拔了100多种设备,还是没有找到与这个值相匹配的设备。莫楚开始感觉有点不对了。幸好他没放弃。当他点到一大堆“现场总线卡”和“现场以太网卡”(用于PLC和受其控制设备之间通信)时,运气终于来了。莫楚在“现场总线CP 342-5卡”的条目上,看到了这个值。 然而,确定现场总线卡还远远不够。他还是不清楚PLC控制的是什么设备。在这个进展的鼓舞下,他快速的把清单中剩余的所有设备都“插拔”了一遍,不过第二个和第三个值没有出现。不要紧。反正已经有所斩获了。他们现在已经知道,震网正在寻找一个插着6块现场总线卡的系统,还知道胜利就前方不远处,向他们招手。 [![](https://box.kancloud.cn/2015-12-08_5666b1a749a94.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-471.jpg) 现场总线CP 342-5卡 震网曝光3个月后,公众已经知道这段代码的目标位于伊朗境内。但是,至于目标到底是不是纳坦兹铀浓缩项目,仍然只是个假说。赛门铁克的3人组就快要从代码中找到相关证据了。但首先,他们得先上一个关于PLC的蓝翔速成班。 对于法里尔和他的同事来说,对震网意在破坏西门子PLC的发现绝对称得上是个重大突破。但朗纳的猜测是对的,他们在接下来的研究中碰钉子,这钉子就是PLC。“我们发现,根本什么都看不懂!”钱哥着急的说。 这时,法里尔发现,震网的载荷不是一个,而是两个!震网像特战突击队员一样,手握“双枪”,每一把枪瞄准一个PLC。一个目标是西门子S7-315型PLC,一个是S7-417型PLC。 侵入每个PLC的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")只有区区几千字节,却是破解震网最大谜题的关键。挡在他们面前的只有一个问题——他们谁都看不懂这段代码的语言和格式。震网导弹部分代码,用的是最常见的C和C++语言,适用于因特尔的x86系列计算机。但这两个数字弹头,用的却是一种名为STL的西门子PLC专用编程语言,晦涩难懂。工程师要对PLC编程,首先要用STL语言编码,然后将其编译为一种名为PL7的汇编语言,最后在汇编成PLC可以直接执行的二进制机器语言。这意味着,即便法里尔把这些二进制代码经过反汇编,转换成PL7语言,仍然无法理解它的意义。这有点像破解中情局著名的克里普托斯(Kryptos)雕塑上用希腊语写出的密文。赛门铁克在8月17日发出的声明中明确提出,希望具有PLC和STL语言方面知识的人与公司取得联系、合作破解震网,但没有人回应。 [![](https://box.kancloud.cn/2015-12-08_5666b1a7a3d55.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-481.jpg) 中情局克里普托斯雕塑上的密文 如果西门子公司愿意帮忙,他们就不用向公众寻求支援了。但现实并不如意。之前,在他们分析破解震网的几个月里,钱哥曾联系过西门子公司。但每当他问到与Step 7系统如何工作有关的问题时,回复就变得异常缓慢,少则几天,多则几周。通常,等不到西门子回复,赛门铁克就已经把问题解决了。 实际上,还有另外一个团队可以给他们提供帮助,那就是朗纳团队。如果他们两家联手,可以说是天下无敌——赛门铁克最擅长在Windows系统上对[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")进行逆向工程,而朗纳团队在西门子工控软件和PLC方面具有最丰富的知识技能。但是,一封简短的邮件和几番博客上的互动,却让他们对彼此产生了误会,合作也无从谈起了。实际上,造成误会的只是沟通过程中的某次小小失言,一个电话就能挽回局面,但这两家都是傲气冲天,谁都不愿意打这个电话。 在没有外界援助的情况下,赛门铁克的研究员们别无选择,只好去买回来一大堆STL语言的书,硬着头皮自己啃。他们觉得,破解STL代码的最好办法,就是先学会怎么用这种语言编码。 每天早晚乘地铁时,法里尔都会埋头苦读,想要尽快看懂STL代码,但成效甚微。几天后,他偶然间发现了一种在线的开源工具,可以用来替代Step 7软件对西门子PLC编程。法里尔利用这种工具,可以看到STL在编译成MC7语言之后的状态,并通过这种方式,在STL语言和MC7语言之间搭建一个双向转换的桥梁,并借此反编译震网中用MC7语言编写的代码。 法里尔花了几个星期的时间,完成了对这段代码的反编译。震网注入PLC区区几千字节的二进制代码,暴涨为用于攻击315型PLC的4000多行指令,和用于攻击417型PLC的13000多行指令。对于法里尔来说,庞大的规模、复杂的结构和生僻的格式不仅难以阅读,而且几乎无法理解。于是,他决定把这些代码翻译成他能看懂的语言,比如C语言。但是,翻译过来后,他只能对代码进行静态分析,而不能把它加载到PLC上进行动态分析。因此,他又编写了一个小程序,在Windows系统上模拟PLC,然后载入翻译后的代码。经过此番折腾,法里尔总算回到了自己熟悉的套路上,并顺利完成了弹头代码的破解。 代码中最令法里尔印象深刻的是,它包含一个由6个步骤组成的循环体,这个循环会反复执行几周甚至几个月。一旦感染成功,循环立即启动。这意味着,震网要做的,并非一击致命,而是长期而隐蔽的实施破坏。这完全超出了他们的预料。隐蔽的破坏,加上对监控系统的中间人攻击已经封死了向管理人员通风报信的渠道,让故障变得更加难以探测,确定故障原因更是难上加难。这时,法里尔意识到,攻击者希望暗中破坏可以一直持续至少几个月的时间,而且,他们真的做到了。 攻击的第一个步骤,是为期13天的侦察。期间,震网只是安静的记录着PLC的正常运行状态,以便在破坏开始后把“正确的数据”发送给管理员。震网记录的频率为每分钟1次,在完成约110万次记录之后,才会转入下一个阶段。 数据记录完毕后,将开始长达2小时的倒计时。倒计时结束,破坏正式开始。不过,破坏仅仅会持续15分钟。时间一到,破坏就会暂停,受PLC控制的设备重回正常运行状态。5小时后,攻击行动再次回到起点。这一次,震网会蛰伏大约26天,记下两倍于上次的数据。破坏再次启动,这次的持续时间是50分钟。之后,破坏持续时间在15分钟和50分钟之间交替变化,而侦察蛰伏期则始终是26天。 法里尔完全看不懂,为什么要给破坏持续时间设定为两个不同的值:15分钟和50分钟呢?而且,在弄清楚遭震网破坏的到底是什么设备之前,根本没办法找到答案。这就像是,在夜空中看到子弹呼啸而过,却不知道它打向何方。(待续) 破解震网之谜的临门一脚,来自一位名叫罗布·胡尔斯波斯(Rob Hulsebos)的荷兰程序员。11月初,这位现场总线协议方面的专家给钱哥发了一封邮件。他此前在博客上看到,赛门铁克第二次在网上公开寻求技术支援,要解决的正是现场总线卡和关键基础设施方面的问题。于是,他主动做出了回应。这封邮件只有两段文字,大部分是钱哥已经掌握的有关现场总线的相关信息,但有几句至关重要的话正是钱哥特别需要的。胡尔斯波斯写道,与现场总线卡相连接的每个外部设备,都会有一个由现场总线卡分配给它的ID码。这个ID码的大小是2个字节、16位。 钱哥记起来了,之前有两个没破解出来的“神秘数值”——7050h和9500h,正好也是16位。 他走到莫楚的隔间,拿起黑莓手机,让他看了看这封邮件。两人四目交接,试图从对方眼中找到些什么。莫楚迅速打开浏览器,对现场总线外部设备的ID码进行了搜索,看到了一大长串产品手册的链接。钱哥让莫楚打开一个PDF文件,里面有一张与现场总线网卡适配的常见设备清单。清单上,设备名和16位的ID一一对应。莫楚从上往下搜了一遍,在清单底部找到了一个目标:9500h。清单上显示,这个ID码对应的是一家芬兰公司生产的某型变频器。接着,钱哥又搜了一遍,希望把另一个“神秘数值”也找出来,可惜未如愿。他只好给生产现场总线卡的公司发了封邮件,询问ID为7050h的是什么外部设备。发出邮件的时候,他已经做好了石沉大海的准备,但没想到,公司居然回信了!信中说,这是一家伊朗公司生产的某型变频器。 变频器是一种输入电流调节装置,用于控制发动机和涡轮机上的电流变化,以调整其转速。频率调高,发动机的转速就会加快。ID为9500h的变频器,由芬兰伟肯(Vacon)公司生产;ID为7050h的变频器则没有具体的型号标识,由伊朗法拉罗·巴耶利(Fararo Paya)公司生产。莫楚怀疑,后者是前者的伊朗山寨版本。如果事实的确如此,那么估计伊朗国产变频器的用户,应该就在伊朗境内。 [![](https://box.kancloud.cn/2015-12-08_5666b1a7be6ea.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-224.jpg) 之后,他们下载了关于变频器的所有资料,包括各个品牌的几十本说明书。虽然没找到上述两款设备的说明书,但他们发现,有些说明书虽然来自不同品牌,但其中列出的控制指令却大同小异。其中一条STL指令,正是法里尔从震网代码中看到的“47F and 1”,它的意思是:“启动变频器,发送字符串47F,将值设为1。”莫楚看到这句话,禁不住把它大声念了出来。他无法相信,四个月来,他们一直在奋斗在破解震网的第一线,夜以继日、加班加点,就是为了确定它攻击的目标。结果,最后的答案居然来自几条Google检索结果!这真是让人既难掩兴奋,又意犹未尽。 这时,天色已晚,钱哥和莫楚也精疲力尽了。于是,他们给法里尔写了一封邮件,把他们的发现和写着相关指令的说明书文件一并发了过去。钱哥写道,“仔细看看,看你能不能在里面找到些干货。” 法里尔一早醒来,打开手机看到了邮件,立刻飞一般的赶到了办公室。他把从震网代码中提取出来的所有配置数据和指令拉了个清单,然后一条一条的对着说明书查。不久,他就找到了所有的匹配项。之前他就怀疑,震网有可能通过PLC直接更改了某个设备的运行频率。因为,震网代码中有一些类似10640的数字,他猜测数字的含义可能是1064赫兹(单位为分赫兹)。现在可好,新的证据来了。 利用这些说明书,他在两小时内完成了震网中所有指令的翻译,据此拼出了震网攻击的完整谱系,并把结果发给了莫楚和钱哥。 在震网开始攻击S7-315型PLC之前,会首先确认系统中用的频率控制器是伟肯公司或法拉罗巴耶利公司生产的,且其运行频率在807赫兹至1210赫兹之间。此外,震网寻找的目标,是一个安装有186个变频器的工厂,且所有变频器的运行频率必须高于800赫兹。变频器的用途非常广,但运行频率在600赫兹以上的却很少。钱哥上网搜索后看到,美国核管制委员会规定,这种变频器属于限制出口类产品。那么,震网的目标是核设施这一点已经是板上钉钉了。朗纳的推测,总算有了来自代码中的证据的支持。 钱哥热血澎湃,慨然感喟:美哉震网!壮哉我钱莫法男子天团! 破解震网代码的工作花了他们好几个月。这几个月中,此三人真可谓“勉力争寸进,凝神履薄冰”。热眼回望,正是“循证谨严、浑然一体”。最后,法里尔绘制了一张堪称“工笔”的流程图,把震网315攻击的过程从头到尾、一步一步的摆了出来。 每当震网发现安装Step 7软件的计算机时,会将假冒Step 7 .DLL文件解包出来,并替换掉西门子原版.DLL。然后它会耐心等待,直到有程序员登录这台计算机上的Step 7,并读取或编写S7-315型PLC用的代码段。这时,震网会将[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")注入这段代码,并等待程序员将他的笔记本连接到PLC上,或者用U盘把这段代码复制到PLC上。这个过程可能需要几天甚至几周,但一旦[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")进入PLC,对设备的破坏性攻击就无可挽回了。 在13天的侦察后,震网会把变频器的频率提升至1410赫兹,并持续15分钟;然后降低至正常运行频率范围内的1064赫兹,持续26天。在这26天当中,震网会将所需信息全部收集完毕。之后,最精彩的戏码出现了。它会让频率在2赫兹的水平上持续50分钟,然后再恢复到1064赫兹。再过26天,攻击会再重复一遍。每次破坏性攻击进行时,对监控系统的中间人攻击都会起效,管理员会看到预先准备好的“正常数据”,此外,对安全报警系统的攻击早已根除了“通风报信”的可能性。 至此,赛门铁克完全吃透了震网攻击S7-315型PLC的来龙去脉。不过却对S7-417型PLC的攻击尚无头绪。一个导弹上,居然同时装载着两个目标迥异的弹头。 S7-417型PLC属于西门子的高端产品,内存为30M,标价1万美元,可以买20个S7-315。似乎是为了凸显它的身价,攻击此PLC的代码也更庞大。由于系统复杂度较高,针对417型PLC的恶意代码共包括40个代码段,而攻击S7-315的只有15段。 这段代码之所以如此复杂,一方面是由于目标环境更复杂,另一方面则是由于执行步骤更多。此外,它的结构非常怪异,给逆向工程带来了极大的困难。一个指针套一个指针,一个跳转接一个跳转,很难搞清楚代码的执行顺序到底如何。这两组恶意代码之间的悬殊差异,似乎可以表明它们由不同团队使用共同工具创作而成。 很明显,攻击者在针对417型PLC的代码中,倾注了相当多的思考和努力。因此,当法里尔发现这段代码有问题时,觉得很诧异。而且,这似乎是攻击者有意为之。在用于检测“417型PLC配置是否匹配震网目标”的代码段中,攻击者插入了一段“异常”代码——故意放置一个意外错误而使程序无法正常执行。而且,代码中根本没有攻击曾被激活的迹象。震网需要产生一段关键的中间代码来激活攻击,但用来生成这段中间代码的程序并不完整。 对于417攻击代码是否有效,暂且不能得出结论。因为它是一段处于执行过程中的代码,或是在已经完成任务之后、由于其他原因被废弃了。法里尔想起了以前的一个新闻,其中有位伊朗官员说,共在伊朗发现了震网的5个不同版本。而目前为止,赛门铁克和其他机构的研究者,却只看到过3个版本。那么,会不会有这种可能,对417型PLC实施完整攻击的代码,藏在震网的其他版本中? 从他们在已有3个版本中发现的线索来看,确实有可能存在其他的未知版本。比如,从版本号上看,这3个版本分别为2009年6月出现的1.001版、2010年3月出现的1.100版和2010年4月出现的1.101版。版本号之间存在空缺,说明至少还有一个版本号为1.00的更早版本。当然,也许这个版本根本就没有上线。 不论417攻击代码的目标是什么,它的攻击方式肯定有别于315。与后者不同,针对417型PLC的弹头,其目标系统由984个设备(6组、每组164个)构成。在攻击期间,每组164个设备中,只有110个会遭到破坏。不幸的是,417代码中并没有什么像315攻击代码中的变频器ID码那样,可以帮助他们识别出设备型号的“神秘数值”。与此同时,德国方面的朗纳团队也在研究417攻击代码,他们猜测,这段代码的目标并非某个单独的离心机,而是整个级联机组,可能是控制级联机组气流出入的管道和阀门。但是,由于缺乏代码细节层面的有力证据,两个团队都没能得出417代码目标问题的结论。经过几个月的工作并取得诸多成果后,他们不得不暂时在这里停下脚步。看来,震网似乎还想让这个连环猜谜游戏继续下去。 由于无法充分理解417攻击代码,赛门铁克团队决定,先把自己已经取得的进展发布出来。这个进展,就是对315攻击代码的完整破解。 2010年11月12日,在VirusBlockAda公司首次宣布发现震网整整4个月后,赛门铁克发布了一条博客,称震网的攻击对象是某个特定型号的变频器,通过攻击,实现了对其配置的操控。“震网的目标仅限于特定型号、运行特征显著的变频器,从这一点来看,我们推测,其目标范围非常有限。”钱哥写的既隐晦又谨慎,完全是赛门铁克的风格。虽然他没有明确提到伊朗核设施,也没提离心机,但是明眼人却能一望即知。(待续) 4天后,纳坦兹的技术人员全面暂停了工厂的铀浓缩活动。6天后的11月22日,所有离心机都停止了运转。伊朗官员没有对此做出解释,但赛门铁克研究员怀疑,工厂方面停工的目的,一定是为了在计算机中寻找震网的踪迹。震网相关信息公开发布几个月来,震网的具体攻击目标和攻击具体方法手段等并不十分明确。同时,由于震网在反侦察方面的突出表现,让人们很难发现PLC上的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),也很难对离心机破坏源头进行追查。然而,赛门铁克的这篇报告,终于用够硬的证据,在“离心机遭破坏”这一事实和“纳坦兹出现数字武器”这两者之间建立起一条不可磨灭的逻辑链条。尽管多家反病毒公司早就提供了震网病毒的特征码,但这些特征码只能检测出Windows系统上的震网病毒,却没法检测中震网注入PLC中的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。并且,震网就像一只拥有许多触手的章鱼,将文件四处播散,纳坦兹的技术人员必须对工厂中每一台机器进行彻底杀毒和完全恢复,才能确保将顽固的震网驱逐出境。 很清楚,至此,震网大势已去。它不仅无法继续对离心机实施破坏,而且纳坦兹工厂中未来出现的任何问题,都会让厂方立即引起对震网的怀疑。在此之后,各方势必会立即加强对工业控制系统的检查和防范,要想再次利用人们的疏忽来发起类似攻击,恐怕很难实现了。 震网大戏接近尾声,赛门铁克团队开始打扫战场,清点缴获,簿记总结,为转战新征途做打算。 然而,纳坦兹离心机停转仅一周之后,邪恶势力卷土重来,剧情再次出现重大逆转。看来,阻挠铀浓缩计划的力量仍未善罢甘休。如果说恶意代码的使命未达,攻击方手上的其他手段,依然能起到同样的效果。 2010年11月29日的清晨7点45分,德黑兰南部的阿泰什大街(Artesh Boulevard)上车流熙攘。40岁的著名核物理学家马吉德·沙利亚里(Majid Shahriari)在上班的路上,驾着他的标致轿车,挤在长龙般的队伍中艰难前行。他是沙希德·贝赫什提大学(前伊朗国立大学)的一名教授,车上还坐着两个人。一个是他的妻子,两个孩子的母亲,也是一名核物理专家,另外还有一名保镖。这时,一种不祥的预感向沙利亚里袭来。 正在沙利亚里驶向一个十字路口时,车的左侧突然冒出一辆摩托车。来者不善。胆大包天的歹徒朝司机一侧的车门上抛下了一个“粘性炸弹”,然后逃之夭夭。几秒钟后,炸弹爆炸。后窗被震碎,司机一侧车门被炸的稀烂,散发出金融熔化的气味。沙利亚里当场毙命,他的妻子和保镖也受了伤。附近沥青路面上被炸出了一个坑,诉说着这场光天化日之下的谋杀。 [![](https://box.kancloud.cn/2015-12-08_5666b1a7d45b6.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_21.jpg) 这时,在城市的另一边,52岁的放射性同位素分离专家法雷多·艾巴西(Fereydoon Abbasi)也在上班途中遭遇了跟踪。他发现,一辆可疑的摩托车从旁边跟上来,然后又听到车门上发出奇怪的声响。艾巴西是伊朗共和国卫队的成员,所以警惕性比沙利亚里高多了。他迅速跳车逃跑,把同车的妻子也拉下了车。两人虽被受了点伤,但所幸死里逃生。 [![](https://box.kancloud.cn/2015-12-08_5666b1a7e9f0a.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-126.jpg) 放射性同位素分离专家法雷多·艾巴西 据新闻报道,这两名科学家都是伊朗核计划中的核心人物。“他们都是坏人,”一位未具名的美国官员评论说,“从他们的所作所为来看,遭到报复完全是罪有应得。” 沙利亚里是一名中子输运专家(中子输运是启动链式反应的必要步骤),西方媒体报道称,他在伊朗核计划中的地位仅次于政府高官。伊朗核计划总负责人阿克巴·萨利希(Ali Akbar Salehi)对记者说,他曾在伊朗原子能组织中一个“重要项目”上担纲,但没说明是什么项目。 艾巴西在核计划中的地位更加重要。他是伊朗仅有的几名精通铀同位素分离技术的专家,是铀浓缩项目的技术领袖。同时,他作为伊朗国防部高级科技顾问、伊朗国民卫队官员穆桑·法克里扎德·马哈巴迪(Mohsen Fakhrizadeh-Mahabadi)的亲密同事,还位列美国安全委员会的制裁人员名单之上。据信,马哈巴迪被称为“伊朗核计划之父”。 内贾德总统对来自“犹太复国主义政权和西方政府”的职责不屑一顾。伊朗国家最高安全委员会秘书长赛义德·贾利利(Saeed Jalili)声称,这是敌人软弱无力、充满绝望的表现。“当敌人无计可施时,才会诉诸恐怖袭击,”他说,“这意味着敌人很虚弱,而非强悍。”艾巴西康复后,被任命为伊朗原子能组织负责人。这一举动,似乎在宣示,伊朗不惧怕敌人的阴谋,一定要将核计划坚持到底。当局让艾巴西在办公室中挂一幅沙利亚里的照片,以缅怀先烈、坚定信念。 [![](https://box.kancloud.cn/2015-12-08_5666b1a8740e6.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-225.jpg) 中子输运专家马吉德·沙利亚里 然而,众目睽睽之下发生的两起惨案,已经实现了袭击者的预期效果。它让伊朗核计划中的每一个人都意识到,没有人可以逃过暗杀者的魔爪。据报道,爆炸发生后,为了免遭血光之灾,有多名伊朗科学家告假不出。 作为对内贾德指控的回复,美国国务院发布了一个简短声明。发言人菲利普·J·克劳利(Philip J. Crowley)说:“我们谴责一切恐怖主义行为,不管这行为发生在哪个国家。除此之外,我们对伊朗科学家遭袭之事毫不知情。”以色列方面则拒绝直接置评。不过,在袭击发生当他,以色列总理本杰明·内塔尼亚胡(Benjamin Netanyahu)宣布,摩萨德(间谍机构)主席梅尔·达甘(Meir Dagan)在任职8年后退休。退休命令的宣布时机似乎在暗示,针对核科学家的袭击和针对纳坦兹离心机的攻击,是达甘谢幕前的最后献唱。达甘以擅长用暗杀手段解决政治难题而著称。在他2002年就任摩萨德主席的任命典礼上,时任总理阿里埃勒·沙龙(Ariel Sharon)直白的称赞他,在暗杀阿拉伯人方面“太能干了”。 [![](https://box.kancloud.cn/2015-12-08_5666b1a88c4ab.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-320.jpg) 以色列摩萨德主席梅尔·达甘 暗杀事件当天,内贾德总统似乎洞察到,这场袭击和震网有着相同的指向。于是,他“对数字武器攻击纳坦兹核设施”一事首次做出了官方的确认。他在谴责以色列和西方国家发动爆炸袭击的同时,还明确指责他们“一年前开始对伊朗核设施进行病毒攻击。”内贾德说,病毒通过软件“被注入电气部件”,并对部分离心机造成了破坏。但是,他否认攻击造成了显著影响,只是说病毒仅仅对“一小部分离心机”造成了影响,然后就被工人发现并清除了。尽管他没有说出病毒和遭攻击设施的名字,但是所有人都清楚,他指的病毒就是震网,遭攻击的核设施就是纳坦兹。 当德国的朗纳看到伊朗科学家遭袭的新闻时,胸口一阵发堵。他不知道,是不是因为自己对震网的揭露,才让攻击者在意图败露之后,使用如此出人意料的极端手段。这也让他彻底看清,破解震网的工作,让他陷入了一场充满黑暗与杀戮的斗争。 同时,这则消息也让赛门铁克的研究员们无不惊骇。在与震网交手的几个月里,对于“谁是震网的操盘者、他们到底有多大能耐”的猜测,凭空生出无数黑色幽默和无端妄议。莫楚甚至听到手机中传出 “咔嗒咔嗒”的怪声,总是觉得自己是不是被窃听了。一个周五下午,当他离开办公室准备回家时,他跟钱哥和法里尔开玩笑说,“如果周末我死了,我希望你们知道,我绝对不是自杀。”钱哥则养成了“每天早上出家门时看有没有人跟踪”的习惯。不过,他并不是真的认为自己身处危险。当他得知伊朗科学家遇袭事件时,跟莫楚开玩笑说,如果摩托车手敢靠近他的车,他一定会猛打一把方向盘,把他撞飞。但是,当他在下班回家路上的第一个十字路口停车时,还是禁不住神经兮兮的间或瞄一眼后视镜,看有没有摩托车手从旁边冲过来。 虽然他们知道,自己不会因研究震网而遭到暗杀,但很显然,破解震网之大势已然转向。像他们这样,已经在破解震网这条路上走了很远的公司,必须得停下来考虑考虑,再继续往前走还值不值得。 在破解震网过程中,他们曾屡次停下来争辩,到底该不该把研究成果隐瞒不发,或匿名发布。但实际上,除了没公布5家首发遭袭公司的名称之外,每次的结果都是“照单全发”。因为他们相信,他们公布的信息越多,就越能帮助公众免遭震网及跟风模仿者的伤害。他们认为,只有“是否公布攻击者的身份”这一问题有待进一步审视。但是直到最后,这个问题仍悬而未决,因为赛门铁克没有掌握有关攻击者身份的确凿证据。 事实上,连震网的目标就是纳坦兹这一点,他们拿出的证据也并非无可辩驳。没错,变频器的确是指向纳坦兹的一个有力佐证,但是,他们并没有证明,纳坦兹核设施用的,就是这款变频器。谜题的“最后一棒”,最终传到了戴维·奥尔布赖特和他ISIS(科学与国际安全研究所)的同事们手上。(待续) 11月中旬,赛门铁克公司在最后一篇报告中详述了有关变频器的发现,但直到两周之后,ISIS的奥尔布赖特才看到。那是12月的一天,他正和同事们坐在会议室,和几名离心机领域的特邀专家一道,召开伊朗核计划研讨会。研讨会的主题,正是一年多来一直困扰他们的一个谜团。 2002年,ISIS发布的纳坦兹卫星图像,有力推动了伊朗接受联合国核查人员进驻铀浓缩工厂。从那时起,奥尔布赖特和他的同事们就开始了对伊朗核进程的持续跟踪。除了偶尔从政府方面获得一些信息之外,他们的主要信息源是IAEA发布的核查工作季报。这份季报也是了解纳坦兹核设施第一手资料的唯一窗口。 18个月来,奥尔布赖特和他的同事们一直在紧盯着IAEA报告中不断变化的数据。每隔3个月,核查人员就会在报告中列出一些数据,其中有纳坦兹已安装的离心机数量、级联机组数量、处于铀浓缩进程中的离心机数量,以及已装入级联机组、却处于空闲状态的离心机数量。此外,还有厂房中输入离心机的气体量,和经离心机浓缩后的高纯度含铀气体量。 在2007年和2008年的大部分时间里,以上各项数据都处于平稳上升的趋势,偶尔会有些细微的波动。在从2009年年中到年底,这些数据开始出现显著变化。离心机产出的气体量骤减,某车间中18个级联机组中有11个机组的离心机出现了故障。很明显,一定是出了什么问题,但报告中并未提及故障的原因。 奥尔布赖特和同事们对数据突变的谜团进行了几个月的深入研究。他们尝试从各个不同角度来分析:是不是离心机的组件生产质量不过关?是不是材料有瑕疵?是不是技术人员在安装管道和阀门时出了差错,让气体逸出了?然而,这些原因都无法对报告中的数据突变给出合理解释。于是有了2010年的这场研讨会。会上,有人提到了震网病毒和赛门铁克刚刚发布的关于变频器的研究报告。奥尔布赖特没看过这份报告,但是他知道,伊朗铀浓缩工厂用的变频器正是报告中提到的芬兰伟肯公司生产的,而且他们之前还采购过土耳其和德国厂商的其他变频器。但是,他从未听说过法拉罗·巴耶利公司的变频器。显然,他们的精力一直放在跟踪伊朗核进程和具体的核活动上,根本没有心思关注什么伊朗国产变频器的事情。但是,这意味着,如果伊朗确实用了这种国产变频器,就可以说明,震网攻击者对纳坦兹铀浓缩项目情况的掌握程度,比在现场工作的IAEA核查人员还要深、还要细。 会后,奥尔布赖特回到办公室,开始认真研读赛门铁克的报告。他还找来了朗纳关于针对417型PLC攻击代码的报告。之后几周,他全身心的投入到挖掘技术细节的工作中,甚至为解决一些疑惑专门与钱哥取得了联系。有一次,他在与钱哥讨论时,突然发现了一个之前没注意到的细节。每当震网实施破坏后,都会把频率设定为1064赫兹。他觉得,这个数字似乎在哪里见过。奥尔布赖特知道,不同离心机的型号和制作材料不同,因此不同离心机马达的最佳运转频率也不同。纳坦兹用的IR-1型离心机的最佳运行频率,恰恰是1064赫兹。 而且,1064赫兹这个频点是IR-1离心机独有的。其他型号的离心机的标称频率都和这个数相去甚远,而且根本没有伊朗以外的其他国家使用IR-1型离心机。(虽然IR-1是以巴基斯坦早期使用的P-1离心机为模板设计的,但是巴基斯坦已经把本国铀浓缩设施中的P-1离心机升级为使用其他标称频率的高级型号了。) 不过,很少有人知道IR-1型离心机的最佳运行频率。奥尔布赖特也是在2008年偶然间从一位美国政府官员那里得知的。哪位官员对他说,虽然标称的最佳运行频率是1064赫兹,但伊朗人由于害怕转速太高把离心机弄坏了,就把实际运行频率略微调低了些,调到了1007赫兹。想到这里,奥尔布赖特得出了一个推论:要么是震网攻击方不知道频率调整这个细节,要么是伊朗人调整频率的行为发生在震网代码写就之后。 奥尔布赖特还注意到另一个有用的细节。当震网实施攻击时,会将变频器的频率设定为1410赫兹,并持续15分钟。这个频率,恰好处于IR-1型离心机马达可以承受范围的极限上,频率再高一点,离心机可能就直接损毁了。 尔后,他又转向了两份报告中关于417攻击代码的部分。虽然他们两家没有给出明确结论,但都提到了一点:攻击目标是由每组164台设备构成的6组大型机组。据奥尔布赖特所知,纳坦兹的级联机组,正好是由164台离心机构成的。这表明,针对417型PLC的攻击目标,就是包含984台离心机的6个级联机组。 钱哥还告诉奥尔布赖特,与以“操纵频率”为特征的针对315型PLC攻击代码不同,针对417型离心机攻击代码的特征是“简单操纵某设备的开关”。于是,奥尔布赖特和他的同事们开始排查铀浓缩工厂的设备清单,看有没有与这种攻击场景相匹配的目标。结果,他们得出了推测:唯一有攻击价值的目标就是——阀门。 纳坦兹的每台离心机上,有3个控制气体出入的阀门。此外,还有多个控制气体出入级联机组和机组中气体管道的辅助阀门。然后,奥尔布赖特和他的同事们对各种场景进行了推演。他们试着在生产的不同时段对不同阀门进行开关操作,基本都会得出同一个结果:离心机很可能遭受破坏。 现在,奥尔布赖特可以说,他们已经找到IAEA报告中数据突变谜题的答案了。之前,内贾德曾在新闻发布会上坚称,西方通过病毒攻击纳坦兹离心机,只造成了很有限的影响。但是,奥尔布赖特从IAEA的报告中看到的是,(从病毒首次进入纳坦兹)到伊朗方面宣布发现病毒攻击的这段时间里,至少有1000太离心机受到了破坏或被替换。 奥尔布赖特以此为主题,发布了一篇论文。文中内容,表明纳坦兹之谜已经得到了彻底的解答。随后,《纽约时报》紧跟着刊发了一篇叙事长文,主题就是“震网最大谜团——谁是幕后操盘手”。但是,文章的结论一点都不出人意料。文章指出,震网是以色列和美国发动的一次联合行动,并得到了来自德国人和英国人的少许帮助和启发。 [![](https://box.kancloud.cn/2015-12-08_5666b1a914466.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.jpg) 文中还讲到,根据匿名信息人士提供的信息,病毒由美国和以色列的程序员共同编写,并在内盖夫荒漠(Negev Desert)中的迪莫诺(Dimona)建筑复合体——始建于20实际60年代的以色列核武器研发基地内完成了测试。在迪莫诺,有关人员构建了西门子控制器和与纳坦兹相同的IR-1型离心机的试验台,对病毒破坏处于运转态离心机的效果进行了测评。美国有一家实验室也参与了试验。2004年,田纳西州橡树岭国家实验室获得了一批P-1型离心机(伊朗IR-1型离心机的设计原型)。另外,尤兰科(Urenco)财团的合伙人之一、英国政府可能也参与了试验。试验完成后,美国和以色列共同实施了对伊朗核设施的攻击。 当被问到美国在震网事件中到底扮演了何种角色时,奥巴马在大规模杀伤武器和军控方面的首席顾问盖里·萨默尔(Gary Samore)微笑着对《时代》杂志记者说,“我很高兴听说伊朗在离心机上遇到了麻烦,美国和盟国正尽我们所能,让事情更加复杂。” 关于美国参与研发与使用数字武器的新闻,本应会在华盛顿和其他国家的政府层面的掀起一波舆论。毕竟,这引发了一系列令人焦虑的问题——不仅为美国脆弱的关键基础设施带来了遭受类似攻击的风险,还面临着各界在道德和法律上对“破坏性网络攻击本质上是战争行为”的拷问。然而,奇怪的是,坊间一片鸦默雀静、毫无杂声。看来,拉尔夫·朗纳一改起初发博时大张旗鼓的风格,转而保持低调沉默的做法才是对的。虽然官方没有明确表态,但我们已经可以确定无疑的是:其一,以色列和美国就是震网的操盘者。其二,网络战时代正式来临。(待续)