第十九章 数字潘多拉

最后更新于:2022-04-01 21:17:32

2009年5月30日,震网的一个新版本即将登陆伊朗的几天前,巴拉克奥巴马总统正站在白宫东侧大厅,对一众新闻记者发表关于美国网络安全(cybersecurity)问题的重要演讲。“今天,我们正处在一个即将发生重大变革的历史关头,”他说,“一个从未如此互联的世界呈现在我们面前,前景无限光明,同时也暗流涌动。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d7cfdd0.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-132.jpg) 演讲中的奥巴马 奥巴马说,正如我们以前在公路、铁路、桥梁等实体基础设施领域投资不足一样,我们在网络安全领域的投资也是欠账累累。他警告说,网络入侵者已经攻破过我们的电网,其他国家还出现过因网络入侵而全城停电的事故。“目前的现状不可接受,我们的网络空间从未像今天这样危机四伏。” 1年后,震网曝光了。这让奥巴马1年前这番大义凛然的话成了令人尴尬的谈资。公众了解到,美国政府通过侵略性的网络攻击侵犯了别国的主权,而且打开了敌对势力对美国网络空间发动类似攻击的大门。 当奥巴马和其他官员听说,有人在美国的信息系统中潜伏,并为未来攻击电网进行前期准备工作的同时,美国军方和情报部门也在对伊朗等国的信息系统实施渗透,建立网络武器储备库,做好了迎接新型战争的准备。而“实施网络攻击的交战规则”和“网络攻击会造成怎样的结果”等问题,都没有经过公开讨论。可能,正是出于对“美国在伊朗等国实施网络攻击”情况的理解,才让奥巴马如此急切的意识到美国信息系统所面临的风险吧。 震网研发和上线时期的CIA局长迈克尔·海登,在震网曝光后对记者说,为发动震网攻击,“有些人可谓是破釜沉舟,特别玩命。”他说的有些人,其实就是美国政府及其盟友。 如今,世界各国都在大力扩张其已有的网络力量或打造新的网络力量。包括俄罗斯、英国、以色列、法国、德国和朝鲜在内的十几个国家都在开展或计划开展网络战项目。连伊朗都在发展网络战项目。2012年,哈梅内伊宣布,将启动防御性和攻击性网络战项目,并对台下的大学生说,要为即将来临的网络战时代做好准备,好好学习,保家卫国。 对于美国而言,国防部网络司令部(Cyber Command)担负网络攻击与网络防御两类任务,年度预算超过30亿美元,正计划将其员工数量从目前的900人增加5倍到4900人。DAPAR(国防高级研究计划署)也推出了一个名为“X计划”的网络战相关技术研发项目,预算高达1.1亿,目标是帮助五角大楼在网络空间这个新的作战域中占据统治地位。目标技术清单包括“绘制并实时更新包括网络空间中所有系统和节点的拓扑结构图,并标示出数据流的属性”“识别(对敌)攻击目标”和“(对己)攻击早期发现”。五角大楼希望得到一套“能够使用内置想定程序和场景,光速发起打击或反击的系统”,从而彻底摆脱人工干预。 据了解,在所有拥有网络武器项目的国家中,只有美国和以色列曾在非交战状态下,对另一个主权国家使用过破坏性的网络武器。为了这次攻击,美国丧失了道德上的制高点,不能再理直气壮的批评其他国家的类似行为了。而且,震网通过先行示范作用,在一定程度上宣告了“为政治目的和国家安全而实施网络攻击”的合法性。 “震网是个好主意,”哈登对美国CBS《60分》栏目记者说,“但也得承认,这个是很大胆的想法。世界其他国家都在盯着它,并说‘显然,有人已经这么干了,那就证明这是合法的。’” 当前,网络攻击已经被其他国家当成了解决争端的一个切实可行的选项。 美国内战时的罗伯特·李(Robert E. Lee)将军曾经说过已经非常著名的话。他说,战争如此残酷是件好事,“不然会有人爱上它。(otherwise we should grow too fond of it.)”战争以其令人恐惧和耗资巨大的特性令人望而却步,驱使着各国通过外交渠道而非战争来解决问题。但是,网络战消弭了上述特性,还能让发动者不露真容,这些优点诱惑着各国的领导者们,相比一轮又一轮可能毫无成果的外交斡旋,更愿意通过发动一场网络攻击的方式达到自己的目的。 然而,网络武器并不仅仅开启了战争的新时代,还改变了网络攻击的内涵和外延。它为国家和非国家背景的新一代网络攻击者打开了一扇门,让他们拥有了对目标造成物理破坏甚至人员伤亡的潜在能力,这种方法虽然早已存在,但正是震网的出现,才使之公诸于世。赛门铁克公司的凯文·哈雷(Kevin Haley)在畅想震网后时代场景时写道:“我的预测是,我们都会深切的怀念那些逝去日子,那时,病毒制造者为了博取名声,通过网络和电子邮件大肆传播蠕虫病毒。求爱信、Conficker蠕虫、Zeus银行木马……都将成为尘封的往事。当我们偶然间回想起它们的时候,脑海中会浮现出第一代黑客们那一张张兴奋的笑脸,和他们眼中天真纯洁的光芒。” 考虑到震网的繁复程度和高度专注的特点,可以将它称之为一次非凡的创举。但同样非凡的,是它的鲁莽。如同在广岛和长崎爆炸的两颗原子弹一样,震网向世人展现了一种前所未有的强大技术,并产生了广泛和深刻的影响。在线杂志《原子能科学家公报》执行主编凯妮特·柏南迪(Kennette Benedict)在一篇文章中指出了震网和第一次核爆之间的几个共同点,并认为两者都没有预见到它们会引发核武器相关技术和网络攻防技术的大发展和大应用。在这两个事件之中,美国政府和科技界都是始作俑者。他们出于对敌对势力先于自己创造并使用武器的恐惧,分秒必争的投身于新武器的研发当中。在1940年代,没几个人能理解,扔下两颗原子弹会对这个世界产生多少长远的影响;正如今天没几个人预见到震网造成的后果一样——它不仅摧毁了物理实体目标,而且引发了世界范围内的网络武器军备竞赛。柏南迪写道,“我们已经知道,核武器可以摧毁整个社会甚至人类文明,但我们至今仍不清楚,网络战将对我们的生活方式产生何种影响。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d7e711f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-141.jpg) 在线杂志《原子能科学家公报》执行主编凯妮特·柏南迪(Kennette Benedict) 两者之间的另一个相似之处是,虽然意识到了使用新武器所潜藏的风险,但美国还是在没有征求民意的情况下,把“小男孩”和震网造了出来。因此,对于它们的使用会对全球的安全与和平造成何种影响,公众根本没有说话的份。更令人啼笑皆非的是,柏南迪说,“网络武器的第一次军事化运用,居然是为了阻止核武器的扩散。为了终结前一个大规模杀伤性武器的时代,而开启了一个新的大规模杀伤性武器的时代。” 除此之外,1940年代投下原子弹与本次震网攻击之间,有一个关键的区别。制造或拥有核武器乃至常规导弹和炸弹的门槛非常高。但网络武器可以非常容易的从黑市上买到;或者,根据拟攻击目标系统的复杂程度不同,由高水平的少年程序员从零开始量身定制。同时,由于所有网络武的代码中,包含着攻击者所有的设计思路和蓝图,因此要制造一个新的网络武器,是件相当容易的事情。当你在使用网络武器攻击敌人的同时,你所创作的知识产权也会赋予敌人“以其人之道还治其人之身”的能力。这就相当于,在1945年美军在广岛和长崎投下原子弹后,含有放射性物质的尘埃如雨点般落下,用于制造原子弹的所有数学方程式、物理原理和设计图纸也会随着这尘埃之雨一起落下来。 那么,受破坏性网络攻击影响最大的国家,必然是具有最多网络连接的国家。防火墙的创始人之一马尔科斯·拉农(Marcus Ranum)将震网称为“住在玻璃房里的人扔出的一块石头。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d83b4dd.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-161.jpg) 防火墙的创始人之一马尔科斯·拉农(Marcus Ranum) 震网用事实证明了,网络攻击仅仅使用二进制代码,就能达到与常规炸弹等同的破坏性效果。但是,它还展示了这样一个事实:即便强大如美国,即便拥有坚不可摧的海空防御力量,仍然可能遭到一个从未想过侵犯美国本土的敌人发动的类似攻击。正如NSA前任局长迈克·麦康纳(Mike McConnell)在2011年对参议院某委员会所说的那样,“如果今天爆发一场网络大战,那么我们一定会输。因为我们比其他国家更脆弱,比其他国家拥有更多的网络连接。” 在可能发生的对美网络攻击中,最有可能成为攻击目标不是军事系统,而是民用系统。首当其冲的时交通、通信和金融网络,其次是食品生产厂和化工厂,还有天然气管道、水利电力设施,甚至铀浓缩工厂。“我们正生活在这样一个世界中,当危机和冲突来临时,敌人会对我们的工业控制系统发起攻击。”国土安全部前任副部长斯图尔特·贝克(Stewart Baker)曾表示,“虽然我们整个国家上上下下都依赖于各种工业控制系统,但我们并没有一个通盘考虑的防御体系。” 一般而言,在战时,关键基础设施都属于战争潜力目标。但长期以来,由于主要对手和作战地域远离美国本土,美国国内的基础设施享受着安枕无忧的待遇。然而,随着网络空间成为新的作战域,这一优势不复存在。在由彼此连接的计算机所构成的世界中,每一个系统都是可能的“前线”。美军战略司令部司令凯文·齐尔顿(Kevin Chilton)将军对国会说,“不再有什么‘停战保护区’和‘后方区域’,到处都是一样脆弱。” 战争法规定,除非必要,禁止对医院和其他民用基础设施发动直接攻击,如果军事将领违反此项规定,将以战争犯论处。但如果搞不清楚攻击者是谁的花,那所谓的受法律保护就成了一纸空文。由于来自德黑兰的网络战士可以轻易的把自己伪装成来自俄亥俄州的黑客,那么一旦遭到攻击,我们将很难辨别,攻击者到底是伊朗军方、黑客团体,还是某个闹着玩的黑客或国内的抗议者。震网以其神级的繁复程度和清晰的国家背景印记自成一体,而并非所有攻击都像震网这么容易辨识。 有人说,具有国家背景的攻击很容易被定位,因为这些攻击往往发生在彼此间关系紧张或处于敌对状态的国家之间,因此可以清晰的辨识出攻击者是谁。比如,2008年俄罗斯在入侵南奥塞梯的同时对格鲁吉亚发动了一系列拒绝服务攻击,瘫痪了格政府部门的多个网站。即便如此,还是存在这样的可能:第三国趁两国交恶,匿名对其中一国发动网络攻击,并让它看起来像是另一国发动的,以此让双方剑拔弩张,自己得渔翁之利。 2013年11月,以色列在特拉维夫大学举办的一场模拟演习,展示了辨别攻击者身份的困难,特别是在“第三方发动意在火上浇油的网络攻击”之时。训练采用了“具有现实基础但比现实更加极端的背景”,红方为以色列,蓝方为伊朗、伊朗羽翼下的黎巴嫩真主党和叙利亚。冲突从针对以色列的小规模物理打击开始,逐步蔓延到了网络空间,不断升级的网络攻击迫使美国、俄罗斯不得不卷入到这场冲突之中,分别为自己的盟友而战。 模拟演习从一场海上钻井平台的爆炸开始,同时,从黎以边境地区发射的火箭弹落到了以色列北部地区,特拉维夫也发生了爆炸,随之而来的网络攻击瘫痪了一所医院。经过分析,以色列认为网络攻击来自伊朗,但伊朗矢口否认,坚称以色列想要通过嫁祸于人的方式,换取西方对攻打伊朗的支持。之后,网络攻击扩展至美国,造成了华尔街交易中断,瘫痪了纽约肯尼迪国际机场的航管系统,并引发两架飞机失事、700多人丧生。白宫随机宣布美国进入紧急状态。这一次,攻击源首先被定位到加利福尼亚州的一台服务器,继续往后查,却查到了以色列。 以色列在确定伊朗及其盟友是对以网络攻击的发动者之后,准备对叙利亚和黎巴嫩境内的真主党武装发动武力打击。同时,为了指证对美网络攻击的发动者/撇清责任,美国和以色列之间也吵的不可开交。“如果我们继续演下去,那么整个中东地区将变成一片火海。”设计这场演习的博弈论专家哈伊姆·阿萨(Haim Assa)如是说。 对于参加这场演习的人而言,所受教益是多层次的。据参演的美国陆军将军威斯利·克拉克(Wesley Clark)表示,美国人“明白了要想查明网络攻击的源头有多难,甚至是不可能的。”一名以色列官员则提到“在决策者没有做好应对网络攻击事件准备的情况下,对网络攻击事件的迅速定性,可能引起非常危险的动能打击。”有鉴于此,他们认识到,在网络空间中,最好的防御不是进攻,而是更好的防御。因为如果没有防御良好的关键基础设施,一旦攻击发生,决策者根本没有什么办法做出理性的抉择,更谈不上利益最大化了。当国内系统遭到破坏,有本国公民出现伤亡时,不论是谁当总统,都将面临快速决策的巨大压力,而这时的决策,很可能是在不准确、不完整结论的基础上做出的。 不难看出军方和政府选择网络武器的原因。除了匿名性、减少附带伤害之外,网络武器的速度比导弹还要快,有能力在几秒之内就达到目的地,而且在这个过程中还能做出各种“突防”的动作。如果某个零日漏洞被修复了,攻击者可以如同他们在震网攻击中所做的那样,从漏洞储备库中选取一个新的漏洞利用程序。此外,攻击者还可以更改并重新编译代码,以改变其特征码、躲避杀毒引擎的探测。 以色列的阿维夫•柯查威(Aviv Kochavi)少将曾指出,“我个人认为,网络空间将很快成为战争模式变革的前沿,其重要性比手枪和出现和上世纪空中力量的运用还要高。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d862d32.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-151.jpg) 以色列少将阿维夫•柯查威(Aviv Kochavi) 但是,网络武器的用途是有限的。如果像震网那样,在实施中谨慎避免附带伤害的话,每种网络武器只能攻击很小范围内的少数几个目标。与用于突袭的钻地弹或导弹不同,一旦目标系统或网络的配置有所变化,网络武器就会立即失效,网络攻击就得推倒重来。马尔科斯·拉农指出,“我不知道在战争史上,有哪一种武器,会在敌方轻点鼠标之后立即变得毫无用处。”而且,一旦网络武器遭到曝光,它不仅不会走向毁灭,反而会让其他人利用其中的新技术和新方法,在其他网络武器中浴火重生。伦敦国王学院(King’s College)战争研究专家托马斯·里德(Thomas Rid)认为,“就此而言,我们可以肯定,那些建造气体离心机级联系统的人们,会比一般人更小心的对待其中的软件。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d912e98.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/0.webp_.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d9297b3.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-171.jpg) 伦敦国王学院战争研究专家托马斯·里德(Thomas Rid)及其著作 网络武器的另一个问题是,它们难以控制。一个好的网络武器,其攻击方法和流程应该是可以预测的,这样才能在实施的过程中,取得可控的影响、实现符合预期的结果,避免产生或产生很小的附带伤害。武器的设计必须精确,以确保其只有在收到指令或发现目标的情况下才会开始行动;武器必须能够被召回或具有自毁机制,以应对态势变化或任务取消的需求。此前提到过的前美国空军武器系统官员安迪•潘宁顿(Andy Pennington)将失控的网络武器比作失控的生物制剂。“如果不能对网络武器进行有效控制……那你手上的,将不再是一个武器,而是一个发了疯的枪手(loose cannon)。为什么我们在国际公约中承诺,不会使用生物和化学武器呢?因为,我们无法有效对其加以控制,更无法精确的瞄准目标,也无法在其中加入召回和自毁机制。” 显然,震网的设计者们考虑到了这一点,在代码中加入了一些控制功能,但还远远不够。震网是一个精确制导武器,仅仅会将其弹头释放到与设定目标相符的系统上面。他还拥有一种随时间推移而发挥效力的机制,会耐心的等待时机,直至目标计算机满足特定条件时,才会实施破坏。但是,一旦上线,攻击者就无法将其召回,而且它缺乏自毁机制。攻击者赋予震网的,仅仅是一个“上线3年后停止感染”的终止时间。震网的早期版本传播能力还相当有限,但2010年3月的版本明显是个“发疯枪手”,尽管它疯的不是很厉害——它感染了数千台非目标计算机,而没有对它们造成破坏。 那么,谁敢说其他网络武器能设计到震网这个程度?或者像震网这么幸运呢?实际上,网络空间比实体空间中的级联效应更强,附带伤害更广。针对某目标投下一枚炸弹,其附带伤害只局限于目标附近的很小范围之内。然而,计算机网络就像一个彼此互联的复杂迷宫,网络武器一旦上线,其路径和影响往往无法预测。“我们尚不具备对网络攻击造成的附带伤害实施准确考量的能力。”华盛顿战略与国际研究中心的吉姆•刘易斯(Jim Lewis)指出,“考虑到目标网络(计算机)与其他网络互联的不同情况,一场以瘫痪目标网络为目的的网络攻击,不仅会对目标网络造成不可预料的破坏,而且可能会对非参战者、中立方乃至攻击者自身带来附带伤害。这些不可预知的结果,将会造成计划之外的政治风险(如攻击塞尔维亚网络,会影响北约盟国的商业活动),甚至引发冲突(如对北朝鲜发动网络攻击,会影响中国的网络服务)。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d9a0236.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-181.jpg) 华盛顿战略与国际研究中心的吉姆•刘易斯(Jim Lewis) 虽然震网打响了网络战的第一枪,但我们还是应该问问:灾难性网络攻击发生的可能性有多大?美国国防部长莱昂•帕内塔曾表示,美国“正面临一场网络911”,对手们正在积极谋划,精心准备,等待时机,攻击美国。但托马斯•里德则把网络战称为“调门过高的宣传骗局”,就像(孩子们眼中)在圣诞节早晨的闪光的新火车一样,网络战这个“闪闪发光的新事物”一下子抓住了军方的眼球。而事实上,托马斯•里德认为,它并没有人们想象的那么厉害。未来,网络武器只会作为传统战争的一部分而出现,而不会将其取代。对网络灾难预言者的批评人士们也表示,到目前为止,根本没有出现什么灾难性的网络攻击,这充分证明那些“网络911”之类的警告都是言过其辞。 但有人主张,在911之前,也从来没出现过客机与摩天大楼相撞的事故。“我认为……要说这不可能或不现实,还为时太早。在未来几年里,任何事情都可能发生。”美军首个网络战特遣队前成员、华盛顿智库大西洋理事会的“网络治国行动部”主管詹森•希利(Jason Healey)表示,“随着越来越多的系统接入互联网,随着网络攻击从破坏数据升级为破坏由钢筋混凝土建造而成的物理实体,形势将发生根本性的转变。未来将出现网络攻击直接或间接致人死亡的情况。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d9ba593.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-191.jpg) 美军首个网络战特遣队前成员、华盛顿智库,大西洋理事会“网络治国行动部”主管詹森•希利(Jason Healey) 有人认为网络攻击的威胁被夸大了,因为大多数有能力发动网络攻击的人,都会因慑于被反击的风险而管住自己的双手。实际上,有些人怀疑,以色列或美国是故意让震网曝光的,他们希望借此向伊朗和其他国家展示他们强大的网络攻击能力。还有人认为,震网能够长期保持隐蔽状态,却最终被白俄罗斯的一家不见经传的小公司发现,这可以证明震网是被人故意泄露出来的。之前提到过的、曾在美国奥运会项目中发挥重要作用的前参联会副主席詹姆斯•卡特莱特将军,也支持美国对外公布其网络能力,以对潜在对手实施威慑。 “为了实现有效的网络威慑(cyber deterrence),”卡特莱特于2012年表示,“必须要认同这样几件事:第一,我们有发动网络攻击的意愿;第二,我们具备实施网络攻击的能力;第三,我们正在为此做准备,还要让大家都知道我们在为此做准备。”此外,卡特莱特还曾因为向《纽约时报》泄密的嫌疑,遭到司法部的调查,他对此予以了否认。在发表这篇文章后,他再也没有受到任何指控。 不过,虽然这种对于某些“相信网络攻击可有效归因”的国家很有效,但对于那些毫无逻辑的流氓国家和恐怖组织而言,根本就是对牛弹琴。吉姆•刘易斯于2012年对国会表示,“一旦恐怖组织具备了发动网络攻击的能力,他们就会毫不犹豫的使用它。” 刘易斯预计,发生在美国与俄罗斯或其他大国之间、以军队指挥控制系统为目标的网络冲突将非常有限,以这些大国的关键基础设施为目标的网络攻击也很难出现,“因为搞不好就会失控。”但是,像伊朗和朝鲜这样的国家会寻求发展网络攻击力量,并可能对美国本土目标发动网络攻击。他在2010年的一篇论文中写道,当美军对这些国家的目标进行军事打击时,这些国家会感到“没有什么能够阻挡,对攻击美国目标的向往(little or no constraint against attacking targets in ours)”。面对这类对手实施报复的威胁,美军的网络威慑将失去意义。正如他所说的那样,“在决定是否发动网络攻击时,他们考虑风险和回报的方式,与我们根本不在一个层面上。”类似的,小国和非政府武装也会通过获得网络攻击能力,来对远距离的目标发动打击。“用于达成政治目的的扰乱性行动,和意在造成破坏性后果的网络攻击会越来越多。”像阿富汗塔利班和索马里青年党这样的恐怖组织很难获得能够达到美国本土的传统武器,但是一旦他们设法获得或雇佣他人取得实施网络攻击的能力,形势将出现戏剧性的变化。刘易斯说,“发动网络攻击的能力,将使恐怖组织将战火烧到美国本土的梦魇变成可能。”尽管他们或许无法获得实施大规模攻击的能力,但如刘易斯所分析的那样,针对华盛顿特区某个目标发动“骚扰性攻击”将很可能进入成为他们作战计划的一部分。在类似攻击所造成严重后果级级联效应的基础上,美国一些重要的系统和服务可能陷入崩溃,并持续一段时间。 刘易斯还提到,如果其他国家拥有了网络武器,那么美国在进行传统作战计划时,就必要重新考虑“对手实施报复性反击”的风险了。在2003年美军入侵伊拉克的战争中,几乎没有遇到什么抵抗,但如果伊拉克那时已经拥有了一定的网络攻击能力,并用它实施报复,情况会变成什么样呢?“这可能不会改变战争的结局,但伊拉克一定会有机会蹦跶两下。”刘易斯说。 如果各方在针对关键基础设施的网络攻击的问题上存在分歧,那么各方一定不会对类似攻击所能造成的破坏达成一致。虽然莱昂•帕内塔等人一再用“网络珍珠港”和“网络911”之类的语言振聋发聩的语言提出警告,但还是有人认为,灾难预言者们所描述的这种破坏性网络攻击,并不像看上去那么容易发生。之前曾在桑迪亚国家实验室从事破坏性网络攻击研究的安全专家厄尔•博伊伯特(W. Earl Boebert)认为,发动一场具有长远效果的破坏性网络攻击“比用飞机撞大楼、把装满炸弹的卡车开到人群中要复杂的多。”网络和信息系统确实可能遭到攻击,但它们能在较短时间内恢复运行。他写道,“要想成功实施一场攻击,需要一个相对宏伟的计划,在此过程中攻击者必须能持续不断的做出理性的决策。”虽然人们可以说,911攻击所需要的计划和协同,跟实施一次网络攻击相差无几,但是,一场精心策划的网络攻击,即便它可以破坏实体物理设施,也永远不可能造成像飞机撞击双子塔那样的视觉冲击和恐慌情绪。 虽然使用网络武器会有这样那样的风险和后果,但政府发展攻击性网络作战的问题却没有激起公众的讨论。批评人士指出,如果你想跟奥巴马政府的人讨论一下美国的网络攻击战略和作战行动,他们会宁愿跟你聊一会暗杀本•拉登(Osama bin Laden)的内幕。2010年,当基斯•亚历山大将军在他就任美军网络司令部司令的审议听证会上被问及“发动网络攻击的规则”时表示,他拒绝公开回答这个问题,只会在闭门会议中吐露心声。虽然包括传统作战在内的很多公众领域中都有大量原则性的手册,但网络作战中却没有这样的东西。就连从事保密工作的一些人都注意到了这个问题的机密程度。“考虑到像NSA和CIA这类机构的背景,这并不奇怪,我认为这些信息应该属于绝密级。”曾在CIA和NSA两个部门担任过局长的迈克尔•海登将军表示,“情报界是美国网络力量的根基,但说实话,我们并不太习惯于在机密的环境中做事。所以,我很担心这种(机密)文化会渗透到我们对待所有与网络空间相关问题的方式中去。” 由于网络攻击行动既缺乏透明度,又不能公开辩论,对于与此事没有直接利益关联的团体而言,几乎找不到任何机会来对这类活动的成败得失和风险大小做出评判和估计。 “震网的曝光,总算是把你们发动网络攻击的本事给我们展示了一下。看来,你们已经可以想攻击什么设备就攻击什么设备了,”一名前任政府职员表示,“哪里才是终点?看上去这些项目根本不受监管。真遗憾,这些聪明的科学家们就是不愿意松手。有人给钱让他们做这方面的研究,他们就特别高兴。我根本不知道他们在做什么。我也没发现有人提出类似的疑问。” 在美国国内,对于“震网所引发的网络武器军备竞赛”“网络武器的使用可能会产生不可预知后果”“网络武器的使用可能招致对方对等报复”等问题,的确没有任何公开讨论。 2011年,在一份递交给国会的报告中,情报界指出,与针对美国计算机网络的攻击者相比,防御部门长期处于下风,根本赶不上攻击者所使用的多变的策略。漏洞利用程序和漏洞利用手段快速迭代演化,探测手段和对策却跟不上来。随着国家研发和运用更复杂的攻击手段,这一问题将会变本加厉。目前为止,引领计算机攻击手段创新前沿的,仍然是地下网络犯罪团伙,但随着类似震网和火焰等具有国家背景的网络攻击的出现,情况将会发生变化。以前是国家背景的黑客向地下黑客学习新技术、新手段,以后情况将出现逆转。而且,随着网络武器的防御手段不断发展,制作更复杂网络武器的需求仍会增长,从而推动其进一步创新。一名美国官员将震网成为“第一代网络武器”,就像“爱迪生第一台电灯之于电灯,苹果II(1977年发布)之于PC”一样。这意味着,随着时间的推移,一定会出现比它水平更高超的新型武器,取代它的位置。 这样一来,处于地下状态的网络犯罪分子,就将受益于政府在网络武器和间谍工具方面的研发投资。震网系列网络武器库出现后,他们已经从中获益匪浅。比如,当毒区于2011年被发现后,网络武器黑市上很快就出现了利用相同的字体解析漏洞的多种“产品”。在毒区曝光的一年以内,这个漏洞居然成了网络罪犯用来制作银行类木马和其他恶意程序的“最受欢迎目标”。可见,即使非国家背景的黑客不能把正规军制作的高级病毒全盘复制过来,但还是可以从中学到一些东西、获得不少好处。正如微软公司曾经发现的那样,如果有黑客想模仿火焰病毒对Windows自动更新系统发动一个简易版的类似攻击,只需要3天的准备时间。 Adobe公司负责产品安全与隐私部事务的高管布拉德•艾金(Brad Arkin)曾指出,公司目前的主要安全威胁并不是来自网络犯罪分子,而是更高端的官方黑客,他们钱袋满满,手上握着一抽屉一抽屉的零日漏洞利用程序,随时可对公司的产品发动攻击。2011年,他在一个研讨会上指出,“在过去18个月中,唯一在我公司产品中发现零日漏洞的…是一个电信级的对手。这帮家伙富到可以造出一艘航母。他们是我们最大的对手。”用于攻击Adobe产品的漏洞利用程序“非常非常昂贵,非常非常难制作”,而一旦当它们被国家队制作出来并付诸使用的话,很快就会扩散到用于实施非法活动的黑客工具中。 2013年,美国网络战的舵手,NSA的亚历山大将军也向参议院的某个委员会承认了上述趋势。他表示,“我们认为,由资金雄厚的国家队研制的高端网络武器,迟早会流到某些组织或个人的手上。而从这些人喊出的狂热政治口号中可以看出,他们可能不知道或不在乎,使用这些网络武器可能会给无辜的人或国家关键基础设施带来附带伤害。”亚历山大强调,有些高端网络武器是某些大国制作出来对付美国的(这些武器可能会流到黑客手上)。但是,却没有一个委员问他,难道美国的NSA制作出来的那么多高端武器,不会成为网络犯罪分子和行动主义黑客(往往带有强烈的个人政治理念)获取新工具和新技术的源泉吗?也没有一个委员问他,你们储备这么多零日漏洞利用程序,对美国国内信息系统业主们隐瞒漏洞信息,就为了政府能够攻击敌人的网络和系统,这么做道德吗?会造成不良后果吗? 迈克尔·海登提出,在发展网络攻击能力和发展网络防御能力之间,始终存在一个两相权衡(tradeoff)的问题。政府一直以来在权衡传统军事领域(kinetic realm)攻防力量时,采用的核心理念也同样可用于网络空间作战领域,那就是“人无我有”(NOBUS, or Nobody But Us)。 他对我解释说:“别人不知道的,我们知道;别人利用不了的(漏洞),我们能利用。如果拿我们在这个方面所具备的知识,或我们利用漏洞的能力和其他国家相比,会是一个怎样的情形呢?…没错,这方面我们没有绝对的优势,但如果你有一台占地一英亩半的超级计算机克雷(Cray,曾是世界排名第一),来专门干这件事呢?”如果我们能做到“人无我有”的话,那些政府高官们就会暂时对这件事持一种“随它去”的态度,并把这些漏洞当作一种资源。当然,他们心里非常清楚,“随着时间的推移,具备利用这些漏洞的能力的人将会越来越多。” 但考虑到如今计算机安全领域的严峻形势,以及针对美国发起的网络攻击的庞大数量,海登表示,他已经做好了“重新评估美国在网络空间中优势地位”的准备。 “如果一家在数字时代之前成立的机构,突然在文化上急剧转型,从时代的追赶者一下子冲到最前沿,并对本就朝不保夕的领先者们形成威胁,”他说,到那个时候,政府就该重新考虑这个问题了。 继爱德华·斯诺登“惊天揭秘”之后,在由白宫召集的“监视改革委员会”(surveillance reform board)发表的一篇报告当中,委员们特别强调了这个问题,并建议国家安全委员会建立了对政府使用零日漏洞的审查制度。“美国的政策必须做出调整,以确保零日漏洞避免落入他人之手,并为美国政府和相关网络打上相应的补丁。”文中提出,只有“在极少数情况下,美国才会在政策上批准将零日漏洞用在高优先级的情报获取任务中。而且,这个决定必须建立在包括所有相关部门在内的高层联席会讨论通过的基础之上,方可实施。”而在绝大多数情况下,“消除软件漏洞要比将其用于国家情报工作,更符合国家利益。”他们还建议,任何由美军网络司令部和NSA实施的网络作战行动,都应在事前经过国会的审查,就像CIA的秘密作战任务都要经过尽职审查并纳入监管一样。 布什施政团队的网络安全事务总顾问理查德•克拉克(Richard Clarke)在他们的一篇报告中阐释了零日漏洞的运用原则。他在一场研讨会上指出,“如果美国政府发现一个新的零日漏洞,其首要义务是告知美国人民以打上补丁,而不是立刻把它用在攻击北京的某个电信系统上。政府的首要义务是防御。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d9d1d54.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-20.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d9ebf6f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-211.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1da0c821.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-221.jpg) 布什总统网络安全事务总顾问理查德•克拉克(Richard Clarke)及其著作《Cyber War》 在一场演说中,委员会抛出了报告中的观点,但奥巴马对于他们关于“处理零日漏洞”和“对网络攻击实施监管”的建议视而不见。2014年3月,在NSA和网络司令部的副手迈克尔•罗杰斯(Michael Rogers)接替退休的亚历山大将军,出任NSA局长和网络司令部司令的审议听证会上,罗杰斯对参议院委员会说,他们已经建立了一套用于“处理在商用产品和系统中发现的零日漏洞”的成熟而公正的工作流程,正在与白宫一道,建立用于妥善利用零日漏洞的跨部门协调机制。他说,对每一个零日漏洞进行全面分析,采取措施减弱其影响,对发布手段提出建议,是NSA的职责所系。在处理零日漏洞的过程中,很重要的一点就是“必须确保不会对美国及盟友的网络空间带来严重风险。”如果NSA选择利用某个零日漏洞而非将其发布出来,他们一定会通过与国土安全部或其他机构合作的方式,尽可能减弱其对美国本土带来的风险。 一个月后,据新闻报道,作为对委员会报告和斯诺登揭秘的回应,奥巴马总统低调的发布了一项新的零日漏洞国家政策。其中,不论何时,只要NSA发现了软件中的新漏洞,必须立即通知软件供应商等,以便他们在第一时间打上补丁。但是,这项政策中的内容,距离委员会提出的建议有十万八千里,而且明显留下了后门。它只明确了由NSA发现的漏洞,却没有提到其他政府承包商发现的漏洞,还提出“明确用于国家安全或执法行为”的漏洞可以由政府保密并加以利用。委员会曾表示,在漏洞发布之前的利用,应该仅限于“高优先级的情报获取活动”等特定情况。然而,奥巴马发布的政策,为政府部门保有大量关键漏洞并决定其用途大开方便之门。而且,政策中并未提及,政府将如何处置现有网络武器库中的大量零日漏洞和漏洞利用程序。 委员会在一篇未发表的文章中暗示,像震网和火焰那样侵略性较强的网络武器,颠覆了公众对数字证书和Windows自动更新系统的信任。 美国民权联盟(ACLU)的克里斯托弗•索戈扬曾把对Windows自动更新系统的攻击比作“CIA为灭杀本•拉登而颠覆了居民对免疫接种体系信任”的例子。当时,CIA在巴基斯坦招募了一名医生,在某个地区为当地居民打预防针,以便偷偷摸摸的收集附近一座城堡内居民的DNA样本。据信,本•拉登就住在那座城堡里面。 同样,类似这种对Windows自动更新系统的攻击颠覆了用户对系统的信任,有可能引发全面的信任危机,并促使用户抛弃意在保护他们的系统。 “自动更新是一件好事。他们让我们所有用户更加安全。”索戈扬在火焰曝光后举行的一场研讨会上指出,“与这种益处相比,攻击Windows自动更新系统所带来的任何短期利益都相形见绌。” 但海登说,有时候事情并非如此。他表示,如果他在CIA局长莱昂•帕内塔的位置上,为了灭杀本•拉登,也会对“颠覆免疫接种体系信任”的行动做出同样的决定。“我想告诉你们的是,每时每刻都需要有人拍板。”同时他也承认,“当然,有时我们也会犯错。” 如果像新闻报告中所说的,美国是火焰攻击Windows自动更新系统的始作俑者,那么问题来了:攻击方应不应该事先通告微软、甚至取得微软方面的谅解呢?美国情报机构绝不会做那种“可能将商业部门置于险境”的事,除非他们的行动获得了高级别的合法审批和商业公司的谅解。比如,他们不能让一个IBM公司的员工,在不知情的情况下成为CIA的共谋者。乔治城大学法学教授、前CIA公共事务办公室律师凯瑟琳•罗翠特(Catherine Lotrionte)表示,“CIA不能那样做,他们必须通知公司CEO,因为公司董事会对员工负有信托责任。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1da7e381.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-27.jpg) 乔治城大学教授、前CIA公共事务办公室律师凯瑟琳•罗翠特(Catherine Lotrionte) 如果将“使用微软的签名文件给恶意程序签名”的行为认定为对美国公司的“作战使用”(operational use),那么政府应事先通知微软。罗翠特指出,“这取决于如何定义技术领域中的‘作战使用’。如果政府用的一个具体的人,那我们都能明白,但一旦涉及技术事务,要搞清楚其中的逻辑和法律关系就难了。” 当火焰首次曝光时,很多研究人员都在猜测,微软的高管们可能已经预先知道了攻击的情况。但也有人指出,如果震网就此事与官方达成了一致,攻击者根本没必要去费那么大劲去通过MD5哈希碰撞来获得数字证书,除非这是微软额外推卸责任而想出来的花招。 罗翠特问,“问题是,微软会同意他们这么干吗?其实,这也正是我所担心的。情报界无法无天就罢了,为什么这些公司也把自己置于险境呢?关于‘这是否是作战使用’和‘公司是否知情’的问题,很值得玩味。” 知情人士称,在火焰这件事上,微软根本没有得到通知,更没有点头同意。他说,“如果微软会对这种事开绿灯,那公司算是到头了。谁也不会去冒这个险。”他将官方对微软数字证书的肆意破坏“极其不负责任”“耸人听闻”。 他还说,“水太深了。我觉得,私营公司们肯定想不到,这帮家伙会以这种方式挑战他们的利益。” 攻击具有高可信度的微软自动更新系统,不仅破坏了微软与用户之间的信任关系,更是对政府层提出“加强美国计算机安全”承诺的一种反动。 2011年,白宫发布了《网络空间国际战略》(International Strategy for Cyberspace),全面展现了总统在互联网治理领域的愿景,其中还强调了政府在“增强网络和系统安全性和抗毁性”方面的责任。为此,文中提出建立一套行为规范,并设立一个在公众和私营部门间分享漏洞信息的体系。但詹森•希利指出,政府用自己的行动,硬生生的把真诚变成了质疑。 “如果你一边推行安全政策,一边以破坏微软数字证书和Windows自动更新系统的手段传播病毒,那么你很难找准自己的位置,也无法回答如何使网络空间更安全、更具抗毁性的问题。”他指出,“有些时候我感觉米德堡的这帮家伙简直就像是网络空间中的以色列移民,想来就来想走就走,想怎么歪曲事实就这么歪曲事实……如果我们更加注重防御而不是进攻的话,我们将占有更崇高而不可亵渎的地位……然而,我们却走上了现在这条道路,一条不断产生信任危机的道路……这让我们无法重振声誉。” 希利还提到,这些足以对关键系统的安全性和可信性造成威胁的“武士般的攻击手段”,将为网络空间带来更多的小型冲突和游击战争。“(这种)网络攻击的出现可不是一般的好,而是大大的好。它把网络空间由蛮荒的西部变成了战火纷飞的索马里。” 并不是每个人都会同意希利和索戈扬“应禁止某些行动”的观点。因为,类似行为在实体世界中并不鲜见。比如,CIA会将门锁、保险箱和楼宇安防系统的脆弱性,作为收集情报的渠道。却未见有人提议说,CIA应该将这些脆弱性告知锁具生产商,以便修复产品中的漏洞。 对于确保网络空间长治久安和信任机制,立法者或独立机构并没有提出正确的问题,进而施加有效影响。对具有国家背景的网络攻击的讨论,只局限在一小批内部人士之间。而这批人在乎的,不是如何限制这种能力,而是如何发展这种能力,如何持续不断的扩张能力的边界。“拍板的都是那些经过高级别政审的人,而这些人根本没有跟那些他们真正应该保卫的私营部门打过交道。”希利说道,“因此,他们很容易做出‘不断壮大网络攻击力量’的决定……因为,政府是最大的受益者。比如,政府通过把零日漏洞用在火焰攻击上而获益。而这样做的后果是,私营部门可能成为报复的对象,而且美国的网络攻击行为正在为潜在的对手树立这样一种标准:网络攻击是合法的。” 即便白宫和国会山并不关心政府的网络攻击行动对计算机系统安全造成的伤害,他们起码会关心这些行动引发的其他问题。正如ESET公司高级安全研究员斯蒂芬•科布(Stephen Cobb)所指出的那样,“政府发动的每一次网络攻击,都是对公众信心的侵蚀;对公众信心的每一次侵蚀,都是对数字经济体系的破坏。” 由于政府对网络作战行动高度保密,很难搞清楚军方或立法者对这些行动采取了何种程度的监督以阻止灾祸发生,也很难搞清楚在灾祸发生之后,他们进行了何种程度的调查。 海登曾表示监控广泛存在。“我在任时,对网络武器的监控非常严格,我感觉,我们能使用这些网络武器简直就是个奇迹……要想将网络武器作为一种正当的新型武器,并加以适当使用,面临着巨大的障碍,各方很难对它的使用达成一致。” 但在2009年,震网病毒入侵伊朗核设施之后,美国国家科学院在一篇文章中写道,“用于贵方美国网络攻击能力的政策和法律框架非常不规范,尚处于不成形和不确定的状态。”尽管自从1998年首支网络作战特遣队成立以来,网络攻击的计划和行动已经持续十年之久,有关网络战行动的法规却一直没有出台。 震网首个版本上线3年后的2011年,五角大楼和白宫终于开始着手解决这一问题了。据报道,国防部编辑了一个秘密清单,其中列举了武器库中的所有网络武器和工具;同时,在拖了很久以后,终于建立了一个有关“网络武器使用方式与时机”的计划框架。一直以为,军方会定期发布“经过核准(可使用)的常规武器清单”,但这一次,清单中首次出现了网络武器。一位军方高级官员对华盛顿邮报表示,这是军方网络空间作战方略在近年来取得的最大进展。 2012年,总统签署了一条密令(secret directive),明确了计算机网络攻击应遵守的一系列政策。但我们仅能通过爱德华•斯诺登泄漏的机密文件中,窥得一些细节。在密令中,在未对一国宣战情况下使用网络武器,必须经过总统的批准,但在战时,军方领导人拥有快速使用网络武器发动打击的自由裁量权。网络攻击所造成的伤害,必须与面临的威胁相当,同时必须限制附带伤害、避免居民伤亡。但这些表述,还是给军方自由发挥留下了很大空间。任何可能干扰、破坏或操纵计算机或“很可能产生重大影响”的网络作战行动,也必须经过总统的比准。重大影响包括,人员伤亡、财产损失、严重的经济冲击,可能出现的针对美国的报复,以及对外交政策的负面效果。 此外,如果要在外国的信息系统植入逻辑炸弹或用于引导攻击的信标,也需要获得总统的批准。不过,旨在收集情报或探测网络结构的网络侦察行动则无须总统批准,除非行动中使用的蠕虫病毒或[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")具有传播能力。值得一提的是,在执行作战行动前,军方必须对作战行动可能对整个互联网安全与信任产生的影响进行评估,并考虑行动是否会在国际上树立“坏榜样”。尽管有人说,美国使用震网和火焰发动网络攻击已属不当,并且开了网络攻击的先河,但美国国家科学研究委员会(National Research Council)的网络安全专家赫伯特•林(Herbert Lin)指出,总统令对军方高层的要求,只是考虑“网络攻击行动会不会树立坏榜样”这个问题,而非为此“把孩子和洗澡水一起倒掉”。对于震网和火焰,他表示,“事实上,为了获得延缓伊朗核计划所带来的利益,他们宁愿付出树立坏榜样的代价。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1da9141e.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-231.jpg) 美国国家科学研究委员会网络安全专家赫伯特•林(Herbert Lin) 然而,总统令中所阐述的,并不仅限于网络作战行动军事用途。文件中给出了一系列“免责条款”,其中免责的主体,既包括NSA和CIA这类情报机构,也包括FBI和联邦经济情报局(Secret Service)等特务机关。而且,虽然它为执行攻击性军事网络作战建立了宽泛的基础性规则,却并没有对美国如何应对网络攻击的问题进行阐述。2011年,五角大楼就此问题向前迈进了一小步。他们宣称,如果针对美国的网络攻击造成部分电网受损或人员伤亡,那美国会将其视为战争行为,并对攻击方发动包括“所有必要手段”(即动能打击)在内的适当报复。换个说法,如同另一名军方官员所讲,“如果谁胆敢关闭我们的电网,我们就会用导弹把谁家的烟囱打冒烟。”不过,美国至少没有像参联会(Joint Chiefs of Staff)在2004年版军事方略中指出的那样,说“保留对网络攻击使用核武器的权力”之类的话。赫伯特•林还指出,在参联会后期的军事方略文件中,类似言辞再也没有出现过。但国防科技局(Defense Science Board)的人显然希望这种论调死灰复燃。他们在2013年宣称,美国不应把核报复排除在军方决策池之外。幸好国防科技局只是个咨询机构,在政策制订事务中没有发言权。呵呵。 虽然斯诺登泄漏的总统令暗示,在网络攻击法规方面,政府内部确实提出了一些问题,但公众仍然无法知晓,到底哪些问题得到了回答,哪些仍未有定论。林提到,基于透明度方面的考虑,在不影响机密作战行动实施的前提下,应该把这些问题拿到公众面前进行讨论。“实际上,我们完全可以就‘哪些事情可能发生’进行讨论,而不涉及‘美国真正在做什么’。”同样,美国网络司令部和NSA完全可以提供一份情况说明,说明他们会在怎样的情况下使用网络武器,或解释他们会在怎样的情况下隐瞒零日漏洞利用程序的相关信息,又会在怎样的情况下把有关安全漏洞的信息发布出来以便修复。至少,我们有权了解,在对那些关乎互联网完整性的可信系统发动网络攻击的问题上,政府有没有为军方划定红线,如果划了,这条红线在哪里。 “参众两院议员必须了解这些情况,”林并未提及公众。“而且,对于美国为达到任何目的而实施的网络攻击,都应该有一个(事前)陈述的程序……告知(议员)攻击的目标是什么,具体情况是怎样的……内容可以保密,但至少有了这个程序,为人们更好的理解政府真正在做的事情打开了一扇窗。”众议员迈克•罗杰斯(Mike Rogers)则坚称,国会曾经对政府的网络作战活动举行过内部讨论。但目前为止,国会山并未对“公开讨论政府发动进攻性网络作战”的问题显示出任何兴趣。 在总统令签发之前的2011年,时任美国战略司令部司令的空军上将罗伯特•科勒(Robert Kehler)曾表示“我认为,确实有必要对网络作战方略进行充分讨论,也确实有必要对实施网络作战行动的规则进行充分讨论。但是我并不认为,这些讨论应在公共领域进行。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1daea1d1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-24.jpg) 时任(2011年)美国战略司令部司令的空军上将罗伯特•科勒(Robert Kehler) 然而,随着美国与其他国家打响了网络战第一枪,包括政策困境在内的各种难题纷至沓来。与网络作战有关的诸多法律问题至今尚未解决。 卡巴斯基实验室创始人尤金•卡巴斯基等人呼吁,应签订一份旨在控制网络武器扩散、规范网络武器使用的网络军控条约。但如前所述,要想控制人们对这种非实体武器的囤积,面临着无数显而易见的困难。政府间可以签订旨在控制核扩散的条约,并通过卫星图像和联合国核查人员等途径跟踪核原料的行踪。但是,再先进的卫星也无法跟踪网络武器的行踪,再高明的传统监察活动也看不到[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的跨境走私。而且,谁也无法监控所有“意图模仿震网,利用关键基础设施的信息系统漏洞发起攻击”的潜在攻击者。 在为管控网络攻击使用而制订新法律的问题上,法律专家们似乎已经达成了共识。他们认为,现有的战争法完全可以适用于网络战,只需要在其中单独为网络战补充一些司法解释即可。 2013年,某北约相关机构(北约卓越合作网络防御中心CCDCOE)邀请20名法律界人士,组建了一个法律专家组,专门做这件事。最终成果,是一部300页厚的《塔林手册》,其作用是帮助北约各成员国军方的法律顾问,为本国网络战部队建立网络作战方略。然而,虽然这本手册很长,但还对很多问题都没给出清晰的答案。专家们发现,有些网络攻击与实体物理空间的传统动能打击有很多共同点,但还有些网络攻击则比后者更加隐秘莫测。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1db0e2fa.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-25.jpg) 《塔林手册》 例如,根据《联合国宪章》中的《武装冲突法》的精神,他们将对水坝控制系统发动网络攻击并导致洪水从山上倾泻而下的行为,视同于用爆炸物对水坝发动袭击。通过位于中立国的代理计算机系统发动网络攻击的行为,与穿越中立国领土来打击敌人的行为一样,都在禁止之列。他们还规定,只有当网络攻击确实造成物理破坏或人员伤亡时,才算得上“暴力行为”(an act of force),而如果没有造成上述后果,只是删除硬盘数据,则不算“暴力行为”。那么,对华尔街进行网络攻击,从而破坏或意图破坏国家经济,算不算暴力行为呢?法律条文没有给出明确的回答。因为专家们对此类问题各执一词,无法达成一致。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1db95744.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-26.jpg) 《联合国宪章》 专家们还给出了“暴力行为”和“武力攻击”(an armed attack)之间的区别。一般认为,后者比前者更严重,但却没有清晰的定义。通常,人们会对攻击所造成的效果进行评估,将最严重的“暴力行为”行为归入“武力攻击”之中。《联合国宪章》第24条规定,对于敌国的“暴力行为”行为,一国只能使用非武力手段予以回应,如实施经济制裁、切断与敌国之间的外交联系等。 《联合国宪章》第51条规定,每个国家都拥有使用武力进行自卫的权利,此权利既可单独实施,又可联合盟国共同实施。自卫的前提是该国或其盟国遭到了“武力攻击”,自卫应有必要并与所受攻击对等,自卫的时机应为正在遭受攻击或面临即将到来攻击的威胁。至于造成何种程度的伤害才算“武力攻击”并令受攻击(受威胁)的一方“师出有名”,具体的门槛由自卫一方决定,并由自卫方通告联合国。那么,如果自卫方受到“制造重大破坏未遂”的攻击,应如何处置?毕竟,敌国发射的导弹即便被“爱国者”导弹成功拦截,也改变不了其武力攻击的本质。在网络空间这个虚拟域中,这种观点还能成立吗?凯瑟琳•罗翠特认为不成立,因为武力攻击的效果在于造成了什么后果,而非攻击方的意图。但曾于2010年至2012年间担任美国网络司令部高级法律顾问的加里•布朗(Gary Brown)指出,“如果能拿出证据来,说明网络攻击(如果成功实施)将产生与动能打击同等效果,”那就可以将其认定为“武力攻击”。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1dba62b9.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-29.jpg) 美国网络司令部高级法律顾问(2010-2012)加里•布朗(Gary Brown) 那么,网络间谍活动(espionage)又算不算暴力行为呢?在国际法和美国法律体系中,网络间谍活动不算战争行为。但是,网络间谍活动可能是破坏性攻击的前奏,就像在震网之前,攻击方使用了多种间谍工具来为攻击收集情报一样。那么,在遭刺探的系统中发现间谍工具,是否可以表明,有人意图对其发动“武力攻击”呢?在目前的法律框架内,武力攻击的含义是正在发生或迫在眉睫的,并且值得使用致命暴力手段予以回击的,可是,如何确定情况是否“迫在眉睫”呢?911之后,美国宣称入侵阿富汗是自卫行为,因为根据《联合国宪章》第51条,阿富汗是策划针对美国恐怖袭击的基地组织头目的宗主国,符合自卫打击目标的要求。 有一点是编撰《塔林手册》的专家们一致同意的,即震网是一种违反国际法的“暴力行为”。不过,对于它是否构成“武力攻击”,专家们莫衷一是。如果答案是肯定的,那么伊朗将拥有对网络袭击行动进行自卫反击的权利,或进行网络攻击,或进行动能打击,只要造成的破坏与震网所造成的破坏对等、并在震网攻击起效期间发动即可。而一旦攻击平息,且伊朗方面不再面临离心机遭破坏或其他武力攻击的迫近威胁,换言之,一旦震网曝光并被破解,那么恰当的反应就不再是自卫性的武力攻击,而是外交手段或其他非暴力手段。 值得重视的问题是,美国官方的政策与编撰《塔林手册》专家的解释并不一致。前者认为,暴力活动和武力攻击之间没有显著界限,本质上是一回事。基于这种理解,震网就是一场非法的武力攻击,而伊朗完全可以就此做出自卫反击的反应。这还意味着,如果有人用类似震网的武器攻击美国,美国政府无疑将会视其为武力攻击。罗翠特曾表示,深受此问题的困扰。(而经过作者的分析,答案水落石出。) 在《塔林手册》中,有些结论之间存在着明显的冲突。兰德公司网络战专家马丁•利比基(Martin Libicki)曾质疑,要不要允许将动能打击作为解决网络空间冲突的一种方式。他在想,把“拉斯维加斯规则”用于网络战,以便让网络战的影响限于网络空间之内,是否更明智?“如果引入动能打击,而非将网络战限于网络空间,会增加冲突升级的可能性,”他表示,“因此,我们应该建立这样一种规则,为网络战的风险加以限制。规则的内容很简单:只能用网络战的手段应对网络战(而不能使用动能手段)。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1dbc5d1b.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-28.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1dbd4f39.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-30.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1dc6b63c.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-311.jpg) 兰德公司网络战专家马丁•利比基(Martin Libicki)及其著作《网络威慑与网络战》 然而,罗翠特认为,这种限制根本没用,因为决定冲突会不会升级的,是反击是否具备必要性和对等性(而非反击的手段)。“必要性是指你必须判断,除了武力反击之外再无其他办法可用,”她说,“也就是说,你抗议无效,发动经济制裁无效,向联合国安理会求援也无效。如果确实存在制止敌发动攻击的办法,你必须使用这些办法而非使用武力。这才是避免冲突升级的正确方式。” 还有人指出,将传统的战争法用于网络空间这个虚拟领域中的战争,面临很多困难,归因困境就是其中之一。《武装冲突法》规定,在发动反击之前,必须确定攻击者的身份。而虽然有些网络攻击的发动者可以判断——即便不能通过法律手段也可以通过情报手段——但网络攻击内在的匿名性,使得对正在发生的网络攻击进行快速反应,变得极其困难而复杂。 “在反恐作战中,要想发现正在射击的射手几无可能;而要想在网络攻击中发现发出指令的攻击者更是难上加难。”乔治•华盛顿大学(George Washington University)的国土安全政策研究所(Homeland Security Policy Institute)所长弗兰克•西鲁夫(Frank Cilluffo)对国会表示,网络空间“简直就是为花言巧语者推卸责任而生的。” 如果上述问题还不足以说明网络战问题复杂性的话,这里还有。关于如何界定网络武器,有大量困难需要解决。在动能武器领域,武器就是武器,可以造成伤害、破坏,具有杀伤力,完全不同于侦察刺探工具。但加里•布朗提出,网络空间中的绝大多数活动都是来自“一个坐在计算机前的家伙,在键盘上敲下几行命令”,不论要达成何种目标,都要通过“安装恶意程序、破坏已有数据”的途径,从而摧毁或破坏目标系统或受系统控制的设备。“那么,这是否意味着,用于进入目标系统的软件和技术也属于武器呢?”他问道。“如果答案是肯定的,那意味着一切都是武器。这是个非常麻烦的问题。而且我感觉,对于这个问题,我们根本找不到好的对策。” 布朗还指出,在“如何界定网络武器”和“如何区分网络攻击活动和网络间谍活动”问题上缺乏明确标准,将带来包括误判、应对困境以及冲突升级等巨大风险。而这些问题难以回答的根本原因在于,在网络空间,用于网络间谍活动和破坏性网络攻击,所使用的技术和工具完全一致,遭攻击的一方无从分辨。 “传统的刺探行为很容易理解,因而一般不会引起冲突升级,”他讲到,“即使你穿越围墙和栅栏,潜入办公室盗取文件……我们也不会将其视为战争行为……而在网络空间,如果有人获得了某个关键系统的访问权,比如核武器指挥控制系统……也许他们只是来看看。但也许他们正计划着(通过网络攻击)令其失效,并对我们发动核打击……这种情景,正是我担心的所谓‘冲突升级’。” 显然,震网的出现,以及网络战争的前景,让很多问题浮出水面。而这些问题亟需得到充分讨论和详尽阐述。美国直到此时才开始考虑研究这些问题,这显得有些后知后觉,好在其他国家也好不到哪儿去。“有些(欧洲)国家甚至连(网络战)规则都还没开始制定呢。”罗翠特说。 在震网首次曝光之后的几年中,很多人的命运都被改写了。其中不仅包括军方人士,还有[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")猎捕手。对于那些花费大量时间对震网及相关间谍工具进行反汇编和分析的研究人员而言,破解震网可以称为病毒研究领域的大满贯,为他们带来了无以伦比的兴奋感。但同时,这件事也把他们卷入了一定程度的风险和不可预知的政治角力当中,对他们的职业生涯造成了不可逆转的改变。 在赛门铁克团队关于震网的最后一篇评估报告中,埃里克•钱(钱哥)写道,作为一家信息安全公司中的研究团队,他们无法判断,震网的出现是意味着“它开启了一个针对关键基础设施发动物理攻击的新时代”,还是说它“仅仅是一个10年一遇的偶发事件”。但是他很清楚自己心中的答案。他表示,“我们希望永远不会再看到类似的攻击。” 幸运的是,直到本书杀青之日,并无迹象表明,拉尔夫•朗纳曾警告的“针对工业控制系统的反击”即将发生,美国和其他国家也再未实施与之类似的网络攻击行动。迄今为止,震网仍然是被记录在册的唯一一个网络战战例。不过,随时可能有人刷新这项纪录,因为,潘多拉的魔盒,已被打开。(完)
';

第十八章 够格的成功

最后更新于:2022-04-01 21:17:29

1年前,IAEA官员们发现,纳坦兹的技术人员把一台又一台离心机拆掉,并从地下车间里运出来,却不知道发生了什么事情。1年后,答案终于揭晓。原来,震网病毒是造成离心机大量损毁的原因。随着更多细节被曝光,新的问题又出现了:震网是否实现了攻击者的预期目标?为实现这个目标而冒这么大的风险、付出这么大的代价、造成这么大的影响,是否值得? 奥尔布赖特在2010年发布的一份ISIS研究报告中提到,“如果震网的目标是破坏纳坦兹的所有离心机,”那它无疑是失败的。但如果震网的目标是通过破坏纳坦兹的部分离心机,而延迟伊朗铀浓缩活动的进程,那可以说“它取得了成功,至少是暂时成功了。” 毫无疑问,当2010年伊朗人发现震网的时候,他们的核计划实施进程已经完全脱离了预定的轨道。伊朗人早在10年前,就建成了纳坦兹的2个地下车间,设计容量为47000台离心机。但时至今日,其中1个车间还处于闲置状态,另1个也只用了三分之一。“对比伊朗先前的计划和当前的形势,可以发现,情况非常糟糕……”奥尔布赖特写道。 但这糟糕的形势,有多少是与震网有关的?又有多少是与经济制裁、外交压力和其他秘密破坏行动有关的?没人能回答。拉尔夫·朗纳认为,震网对纳坦兹的攻击取得了巨大的成功,而且在规避了军事行动固有风险和代价的基础上“造成了与空袭等效的影响”。《纽约时报》报道说,震网是“推迟伊朗核进程的最大功臣。” 不过,关于震网到底影响了多少台离心机,对伊朗核计划到底产生了多大延缓作用,也有不同看法。 回到2003年,当时以色列官员曾提出警告说,如果伊朗核计划能顺利实施,将于2007年生产出足够制造一枚核弹的浓缩铀。但伊朗方面自愿签署暂停核活动和一系列其他因素,推迟了这一进程,以色列也先后两次将对“伊朗跨过核门槛时间”的预测调整为2008年和2010年。在震网之后,这一时间将再次向后推延。 当即将卸任的摩萨德首脑梅尔·达甘(Meir Dagan)最终于2011年初退休之时,对以色列议会表示,伊朗将拥有核武器的时间不会早于2015年。美国官员的估计则相对谨慎,认为伊朗核计划将在18-24个月内恢复至正常轨道。据美国国务卿希拉里·克林顿(Hillary Clinton)称,伊朗核进程因技术故障和经济制裁影响而显著放缓。她说,“我们(为实现战略目标)争取了时间,但并不长久。”供职于伦敦国王学院科学与社会研究中心的副研究员伊万卡·巴茨卡(Ivanka Barzashka)认为,伊朗核进程根本没有被延迟。她分析了2009年震网上线以来IAEA报告中有关离心机数量的所有数据,并据此断言,有关震网攻击造成影响的证据既不直接,又缺乏确定性。如果震网真的对铀浓缩进程造成了影响,应该很快就能反映到数据上来。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d310d59.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-91.jpg) 伦敦国王学院科学与社会研究中心副研究员 伊万卡·巴茨卡(Ivanka Barzashka) 她的结论是:“如果破坏确实发生过,那么时间应该比较短暂,且很可能出现在2009年5月至9月之间。虽然震网病毒可能暂缓了纳坦兹扩张的速度,但并未起到延迟伊朗铀浓缩进程的作用。” 实际上,面对震网和其他因素对核进程的破坏和延迟,伊朗人显示了惊人的韧劲,屡次被打倒,又屡次爬起来。 比如,2010年初,纳坦兹的技术人员果断替换掉了出故障的离心机,加快了铀浓缩活动的步伐,增加了投放的原料,以期获得更多成品。结果,在此之后,伊朗2010年的低纯度浓缩铀产量真的提高了,而且还稳定了相当一段时间。再如,2008年秋天,震网0.5版正在级联系统的阀门里肆虐,低纯度浓缩铀的单月产量仅有90公斤。到2009年底震网新一轮攻击发起之后的时候,月产量降到了85公斤。而在2010年,虽然纳坦兹至少经历了震网的两轮攻击,但月产量却提高到了120-150公斤。到了2011年,纳坦兹低纯度浓缩铀的月产量已经可以稳定在150公斤了。 然而,值得注意的是,这些数字与离心机的设计产能相比,显得相当可怜。2010年,投入运行的离心机共有4820台,2011年则增加到5860台,产量却没有大的提高。这说明,离心机的运行效率远远低于此前的正常水平,而这很可能是震网病毒所造成的。 最终,伊朗的铀浓缩进程还是没被打断。截至2011年中期,伊朗共得到了4400公斤的低纯度浓缩铀。而且,伊朗将其中的至少1950公斤送到了试验工厂,并进一步加工成纯度为19.75%的浓缩铀。在2011年初的时候,伊朗手上的纯度19.75%浓缩铀已达33公斤,并宣称计划生产3倍于此的高纯度铀。 在震网破坏离心机事件之后,伊朗官员启动了高纯度浓缩铀的生产。他们声称,需要将高纯度浓缩铀用于癌症治疗方面的研究。但对于那些反对伊朗核计划的人们而言,伊朗开始生产高纯度浓缩铀,意味着离得到制造核弹所需的纯度90%的武器级浓缩铀又近了一步。这可不是什么小事。“启动高纯度浓缩铀的生产意味着,伊朗在生产纯度90%武器级浓缩铀的进度表上,已经走完了一半里程。” 巴茨卡提到。就这一点来说,“震网失败了,因为它没有实现降低伊朗拥核潜力的目标。” 同时,纳坦兹的技术人员在试验工厂中,启动了IR-2m和IR-4型两种先进离心机的安装。这些离心机的效率远远优于IR-1型。如果说IR-1型离心机的设计产能是每天1.0分离功单位(实际中很少能达到这个水平),那么更先进的离心机的产能将达到它的3-5倍。而且,新型号的鲁棒性也优于IR-1型,意味着即使受到震网等外界因素产生的压力,也不那么容易损毁。 尽管伊朗看上去很快就从震网的阴影中走了出来,但客观的说,震网至少对纳坦兹核设施造成了两个长久的影响。第一,它大幅减少了伊朗含铀气体的供应量。在震网攻击的过程中,数以吨级的浓缩铀气体流入了废气罐。当然,由于离心机还遇到了其他故障,含铀气体的损失不能全都记在震网的账上,但毫无疑问,震网在其中占了大头。如前所述,伊朗手上的铀原料本来就不多(部分从国外进口,部分产自国内铀矿),含铀气体的损失有效的削减了其原料储备。 第二,震网让伊朗本就不太饱满的“离心机及用于制造离心机的原材料储备”雪上加霜。由于西方加大了对伊制裁的力度,替换损毁离心机比以前更加困难了。2008年,IAEA估计,伊朗拥有足够制造10000台离心机的部件和原材料。如果按照震网摧毁了1000台计算,那么就相当于减少了伊朗离心机总量的10%。按最大值计算,伊朗每年会有10%左右的离心机因正常损耗而报废。这样算下来,“只消5年,这帮家伙就没戏唱了。”IAEA的海诺尼说。 实际上,海诺尼认为震网攻击所破坏的离心机不只1000台,而是接近2000台。他的依据是,IAEA季度报告中的数据,仅仅建立在3个月内若干次核查的简单印象之上,而且确有迹象表明纳坦兹的安全封条曾经被人动过。这说明,伊朗人有可能趁IAEA核查人员不在场时,偷偷替掉更多的损毁离心机。 尽管IAEA核查人员平均一年会到纳坦兹进行24次核查,但报告却是一季度发布一篇,这就造成报告中的离心机数量,仅仅反映了“离报告撰写前最近的那一次核查时核查人员在现场看到的情形”。这样一来,纳坦兹技术人员就获得了钻空子的机会。只要绕开IAEA安装的监控摄像头,就可以利用核查人员每次检查之间的空隙,把损毁的离心机替换出去。 每当工厂有新的级联系统安装到位时,技术人员都会在它周围搭建一圈活动墙,只留下一个小门。而IAEA的摄像头就装在这个小门的外面。活动墙由一块块墙板组成,墙板之间的墙缝上都贴着一触即破的封条,以杜绝技术人员绕开摄像头,从墙板之间进进出出,搞小动作。但是,有人发现,纳坦兹的封条遭到了破坏。伊朗官员称是不小心弄坏的,已经跟工人们讲过“下次小心点”了。但海诺尼认为封条破损“必有蹊跷”,充分正面了伊朗人偷移、偷换损毁离心机行为的可能性。 显然,就算损毁离心机的数量不只1000台,震网也不是某些人想象中的“天降神兵”。在他们看来,震网应该一下子就可以对几千台离心机实施快速而彻底的破坏,而不是像现实中这样缓慢的蚕食。 实际上,他们一直想不通,为什么攻击者不让震网实施更迅猛、更剧烈的破坏呢?因为,侵略性过强的攻击行动,所蕴含的风险更大。如果震网一次性摧毁3000-4000台离心机,那么这就变成了赤裸裸的“破坏行为”。如此一来,伊朗很可能将其定性为军事袭击,并做出对等的回应。因此,震网这种缓慢而隐蔽的攻击模式,是攻击者经过深思熟虑之后,在“实现更大战果”和“避免伊朗忍不住还手”之间的一种折衷。 还有其他问题。如果2010年,震网没有曝光,那会是一种怎样的结局呢?震网遭曝光时,伊朗的铀浓缩活动正在进行,而那时震网病毒(较晚版本)尚处于攻击行动生命周期的较早阶段。谁也不敢说,随着伊朗不断安装新的离心机和级联系统,震网会取得多大的战果。如果震网能一直存活到“纳坦兹安装更多了离心机,进一步扩大生产规模”的那一天,它一定会对整个铀浓缩项目造成更严重的破坏和更大的影响。 对于攻击者而言,一个确定无疑的影响是:震网之后,要想重复这样一次攻击,难度大大增加了。正如朗纳所言,震网是一种非常有效的一次性武器:攻击行动一旦曝光,伊朗人就会更加谨慎,从而使得“再用同样手段(网络武器)发动攻击”变得极其困难。从此以后,只要纳坦兹的装备出现问题,伊朗人就会想到是不是遭到了(网络)攻击,并迅速予以响应。只要有一点故障的迹象,技术人员就会立即关闭系统,对病毒或其他恶意操纵行为进行更加细致的排查。 然而,即使有诸多因素限制了震网攻击的成效、缩短了它的生命周期,但至少对于这样一个团体来说,震网实现了他们的愿望。 奥尔布赖特说,“在核不扩散社群中,震网的出现令人倍受鼓舞。它意味着,我们不用非得跟伊朗打仗了。” 虽然震网攻击行动为外交谈判人士争取了一些时间,但并没有让关于伊朗核问题的政治危机走向终结,也没有彻底消除战争爆发的可能性。2011年,联合国启动了针对伊朗的第5轮制裁,美国则在中东地区大量部署爱国者导弹,万一有战事发生,可使盟友免遭涂炭。此外,为破坏伊朗核计划,伊朗的对手们仍然继续从事着暗杀核科学家的勾当。2011年7月,一位名为达里奥谢·雷扎伊·内贾德(Darioush Rezaeinejad)的35岁伊朗核物理学家,在德黑兰一家幼儿园接女儿放学的路上被人一枪毙命。据报道,事后,2名歹徒乘摩托车成功逃跑。IAEA表示,雷扎伊·内贾德曾参与一个研制高压开关的项目,这个开关的作用是,引起用于触发核弹头的一系列爆炸。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d342589.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-101.jpg) 伊朗核物理学家达里奥谢·雷扎伊·内贾德(Darioush Rezaeinejad)和他的女儿 2012年1月,就在以色列军方领导人声称“2013年将是伊朗核计划的关键一年”的第二天,伊朗再次出现摩托车手暗杀惨案,杀手向穆斯塔法·艾哈迈迪·罗尚(Mostafa Ahmadi Roshan)的车上丢下了一枚炸弹,罗斯汉闪避不及,在爆炸中丧生。一开始,罗尚的身份被确认为“一名32岁的化学家,在纳坦兹工作”,但伊朗官员随后宣称,他的真实身份是纳坦兹设施的管理者,并负责为伊朗核计划采购特殊设备。罗尚的头衔是卡拉扬电力公司贸易事务副主管。卡拉扬电力是纳坦兹的供应商,同时也是震网攻击的目标之一。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d364d67.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-122.jpg) 卡拉扬电力公司贸易事务副主管,穆斯塔法·艾哈迈迪·罗尚(Mostafa Ahmadi Roshan)的葬礼 另外,让伊朗头痛的,还有一连串神秘的大爆炸。2011年11月,一场发生在某远程导弹试验基地的大爆炸,造成了超过30名伊朗革命卫队官兵伤亡,其中包括据称是“伊朗导弹项目总设计师”的一位将军。伊朗坚称这次爆炸是一场意外事故,而非外部袭击造成的。但西方情报界的一位知情人士对《纽约时报》表示,实际情况根本不是伊朗官方说的那样。“在伊朗试图拥有‘两弹’的道路上,任何能为我们赢得时间、给他们带来延迟的行动,都是一个有意义的胜利。”他说,“在这个问题上,我们会尽其所能,不择手段。” 同月,伊斯法罕铀转化厂也发生了爆炸,据报道,一个用于存储铀原料的设施遭到了破坏,而这些铀原料是为铀浓缩准备的。之后,2012年8月,用于从库姆城向福尔多(Fordow)地下铀浓缩工厂供应电力的线路发生了爆炸。新闻报道显示,安全部队发现了一个伪装成岩石的电力监控设备,正当他们想要把它移开时,耳边再一次炸响。据报道,这种饵雷设备可以监听铀浓缩工厂中计算机和电话线中的数据。在讨论这次事故时,一位伊朗官员透露,为纳坦兹铀浓缩工厂供应电力的线路也曾发生过一次事故,但是,他没有透露那次事故发生的时间以及更多细节。对于西方而言,震网的战果再大,也不足以让他们安枕无忧。 对于核不扩散政策教育中心执行官亨利·索科斯基(Henry Sokolski)而言,这些事情没什么大不了的。他对《新共和》新闻杂志记者表示,自从比尔·克林顿起,每一任美国总统,都想方设法希望通过秘密行动对伊朗核计划造成干扰,但每次都是铩羽而归。“布什做过,奥巴马正在做。”他说。但是秘密破坏行动永远无法取代明智的外交政策。他说,这种动作,只能用来“维持现状”,而无法从根本上解决问题。 此外,还有人质疑,震网之后,伊朗拥核的野心还在吗?到了2011年底,IAEA又发布了一篇关于伊朗的、被称为“史上最严厉”的报告,宣称伊朗从2003年开始一直在试图制造核武器。虽然美国情报部门在2011年早些时候判断伊朗已经放弃了制造核武器的计划,IAEA还是把报告发出来了。这篇报告并未拿出新的证据,而是基于他们之前所掌握的各种历史档案所做出的判断。这些档案中,就包括来自伊朗间谍“海豚”提供的文件。尽管这些档案并不是最新的,但IAEA却愿意在这个节骨眼上旧事重提,并发出“伊朗意图拥核”的强烈声音。据此,以色列首相本杰明·内塔尼亚胡(Benjamin Netanyahu)再次提出了对伊朗发动军事打击的要求。然而这一次,伊朗人正愁没借口呢,IAEA和以色列就送上门来了。伊朗外交部长阿里·阿克巴·萨利希(Ali Akbar Salehi)挑衅的说,伊朗已经“做好了与以色列开战的准备”。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1d42bfd8.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-112.jpg) 时任(2011)伊朗外交部长阿里·阿克巴·萨利希(Ali Akbar Salehi) 如果说震网的确做了一件好事,那这件事就是,它和其他秘密破坏行动一道,成功避免了一场对伊朗贸然发动的军事打击。尽管局势持续紧张,各方小动作不断,但要不是震网的出现,根本没人愿意做出这样的选择——各方于2013年迈出了历史性的一步,就伊朗核问题重新回到了谈判桌前。经过第一阶段谈判,伊朗同意冻结其核计划的核心部分,以换取西方放松对伊朗的制裁。伊朗的承诺清单包括,停止安装新的离心机,对浓缩铀的总产量进行限制。 同时,要对震网做出客观评价,也不能忽略它所引发的负面影响。对伊朗的攻击,会让美国在谴责其他国家对美攻击时底气不足。由于震网以“史上第一个众所周知的网络武器”身份闪亮登场,美国从此将永远失去对其他国家宣经布道、指手画脚的道德优越感。 要对震网做出决定性的评判,除了要考虑它确实为攻击者带来了有限且不确定的利益之外,还必须考虑到它在更长的历史时空中造成的重大影响。震网的出现,使得不论大国还是小国,都卷入了网络武器的军备竞赛当中,从而永久性的改变了网络攻击领域的态势和氛围。震网幕后的攻击者为其他黑客和具有国家背景的攻击者开辟了一个新战场;而当他们真的有样学样,把网络武器当成屈敌利器之时,总有一天美国自己会成为遭难的那一方。
';

第十七章 离心机之谜

最后更新于:2022-04-01 21:17:27

震网新版本上线两周前,伊朗内部一片喧嚣。2009年6月12日,一场在现任总统内贾德和挑战者穆萨维(Mir-Hossein Mousavi)之间展开的总统大选,并没有产生大多数人期望中的结果。人们本以为选举会很激烈,但是当投票结束两个半小时后,官方宣布了最终结果——内贾德以63%对穆萨维34%的优势胜选。部分选民认为有人作弊,纷纷表示抗议。第二天,愤怒的抗议人群涌向德黑兰街头,向官方表达愤慨与怀疑。据媒体报道,这是自1979年驱逐国王的革命以来,伊朗国内最大的一场抗议活动。很快,抗议示威演变成了暴力冲突。抗议者肆意破坏商店,点燃垃圾箱,警察、圣战者(Basijis)以及穿便装的国民自卫队则奋力用警棍、电棒甚至子弹驱散人群。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1ce9612d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-53.jpg) 2009年伊朗总统大选候选人:内贾德和穆萨维 随后的星期天,内贾德发表了一席雄心勃勃的胜选演说,宣称伊朗的新时代即将到来,并把抗议者比作输红了眼的足球流氓。抗议者并未示弱,继续示威游行,直到6月19日,为了平复局面,宗教领袖哈梅内伊出面,认可了选举结果。他主张,1100万人的选票差距太大了,很难通过作弊手段取得。但他的说法,抗议者似乎并不买账。 第二天,一位名叫尼达•阿迦-苏尔坦(Neda Agha-Soltan)的26岁妇女陷入了抗议者引发的交通拥堵,正当她和她的音乐教师走下车来观察路况时,一枚来自狙击手的子弹击中了她的胸膛。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1ceaf724.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-63.jpg) 不幸遇害的尼达•阿迦-苏尔坦(Neda Agha-Soltan) 2天后,6月22日星期一,负责监督选举进程的“伊朗监管委员会”正式宣布内贾德获胜。抗议活动在持续近两周之后,突然销声匿迹,德黑兰出现了反常的平静。前两天还用催泪瓦斯和空炮弹驱赶示威者的警察们,也可以喘口气了。当天下午4:30左右,伊朗人还没来得及从前些天的恐惧与悲伤中醒过神来,震网的新版本已经完成了编译,正式上线。 虽然德黑兰的街头乱作一团,纳坦兹的技术人员却是泰然自若。他们从2009年元旦前后重新开始安装离心机,到2月底已经共完成新装离心机5400台,接近内贾德之前承诺新装6000台的目标。但只有部分离心机投入了运行。不管怎么说,整个进度还是逐步向前推进的。到6月份,新装的离心机数量增至7052台,其中4092台处于运行状态。其中,除了A24机房中的18个级联系统外,还有A26机房中的12个级联系统。另有A28机房中的7个级联系统已经抽成了真空状态,随时可以注入气体。 离心机的性能也得到了改善。伊朗低纯度浓缩铀的日产量提高了20%,并在2009年整个夏天都保持稳定。虽然之前遇到一些问题,但伊朗的低纯度铀的总产量已达839公斤,越过了实施一次核爆的技术瓶颈。如果继续保持这个速度,伊朗将在一年之内获得足够制造两枚核弹的浓缩铀。而这只是建立在纳坦兹已经安装的IR-1型离心机的基础上,估算出来的。伊朗已经在试验工厂中安装了一个IR-2型离心机的小型级联系统,一旦技术人员完成试验并开始在地下车间安装IR-2型离心机,一切就得重新计算了。1年内生产制造1枚核弹所需的浓缩铀,需要3000台IR-1型离心机,但如果把离心机换成IR-2型,则只需1200台。 提示:震网1.001版被揭露的时间,正是2009年6月底。(回看第一章) 为了让病毒进入铀浓缩工厂,攻击者首先对4家公司的计算机发起了攻击。这4家都与控制系统和某些处理过程有关,要么是生产某些产品、组装某些部件,要么是安装工业控制系统。它们都经过了精心挑选,因为它们都是纳坦兹的承包商,而且经常有员工出入纳坦兹。这为病毒的传播提供了通道。 为了让病毒更有效的传播到目标位置,与之前仅有“感染Step 7项目文件”一种传播方式的0.5版相比,震网的这个版本增加了两种传播方式。一种是通过U盘,利用Windows的Autorun功能进行传播,另一种是利用打印缓存服务中的一个零日漏洞进行传播。而卡巴斯基和赛门铁克稍后都在代码中找到了这个零日漏洞。 震网1.001版本的日志文件显示,“首位染毒者”位于一家名为弗拉德(Foolad)科技的公司。感染时间为6月23日星期二的凌晨4:40。大约一周之后,才有第二家公司遭到感染。 第二周的周一,大约5000名游行示威者安静的穿过德黑兰的街道,来到深衣(Qoba)清真寺,悼念在近期抗议活动中的遇害者。当天晚上11:20左右,震网对第二个目标百坡炯(Behpajooh)公司发动了攻击。 很容易分析为什么百坡炯公司也会遭到攻击。这是一家位于伊斯法罕的工程公司,靠近伊朗新的铀转化工厂。伊斯法罕铀转化工厂的任务是,将采掘出的铀矿转化为铀化物气体,作为纳坦兹铀浓缩的原料。同时,伊斯法罕还是伊朗核能科技中心的所在地,据信伊朗的核武器开发项目就在其中。在美国联邦法院关于伊朗非法采购活动的法庭文件中,百坡炯公司也赫然在列。 百坡炯的业务是安装、调试包括西门子公司产品在内的各种控制系统和自动化系统。公司的网站上没有提到纳坦兹,但提到了公司曾为一家伊斯法罕的钢铁厂安装过西门子S7-400型PLC,配套的Step 7和WinCC软件以及现场总线通信模块。这些设备,与震网在纳坦兹的目标设备完全一致。 在百坡炯遭攻击9天后的7月7日凌晨5点,震网攻击了尼达工业集团的计算机。同时遭到攻击的,还有一家在日志文件中被缩写为CGJ的公司,据信是高士达(Gostar Jahed)控制系统公司。这两家公司的业务都是设计、安装工业控制系统。 尼达的业务范围包括工业控制系统、精密仪器和电力系统的设计与安装,主要客户是伊朗的石油天然气行业、电厂、矿产开采与加工厂等。在2000年和2001年,公司曾为伊朗多个天然气管道项目安装过西门子S7系列PLC,也为伊斯法罕钢铁厂建筑群安装过西门子S7系统。与百坡炯一样,尼达也因参与了非法采购活动进入了“核扩散监控公司清单”,并因通过走私渠道获取微控制器和其他设备部件,位列美国法院的诉状之上。 又过了两周左右(7月22日),一名尼达公司的控制系统工程师在西门子用户论坛上发了一个帖子,抱怨自己公司的同事们遇到了一些问题。他发帖时用的名字是Behrooz,他在帖子中说公司所有计算机都遇到了相同的问题,有一个西门子Step 7系统的.DLL文件反复报错。他怀疑其中可能存在某种通过U盘传播的病毒。 他还写道,当他用西门子安装光盘重新安装Step 7,用正常的文件覆盖染毒系统中可疑文件后,一切恢复正常。但当他使用U盘在计算机间传递文件之后,问题再次出现。我们知道,U盘是震网病毒的主要传播途径。然而,尽管Behrooz和他的同事们用杀毒软件进行了扫描,却没有发现病毒。在论坛的回帖中,也没有他们及时解决该问题的迹象。 对于“在震网感染尼达等4家公司之后,又用了多久才到达最终目标”,我们并不清楚。但在6月至8月间,纳坦兹处于运行状态的离心机数量出现了下滑。那么,这一笔军功,到底是该记在震网新版本身上,还是记在遗留其中的震网0.5版本身上?我们也不知道。我们只知道,到8月底的时候,处于运行状态的离心机数量,比6月减少了328台,至4592台。问题还是出现在之前出过故障的A26机房。6月份的时候,A26机房里面共运行着12个级联系统,但到了11月,一半级联系统都处于停工状态,只剩下6个级联系统还在勉强运行。在5个月中,处于运行状态的离心机数量一共减少了984台,还剩下3936台。而且,虽然还在不断安装新的离心机,但没有1台投入运行。在A28机房里,17个级联系统已经安装就绪,但这将近3000台离心机都没有开机运转。 很明显,级联系统出状况了,技术人员却大眼瞪小眼,无从下手。然而,纳坦兹发生的这些变化,准确的反映出震网攻击的有力功效。 如前所述,震网1.001版会将离心机转子的频率升至1410赫兹(接近每小时1000英里)并保持15分钟,然后休眠3周,将频率将至2赫兹并保持50分钟。这种攻击行为循环实施几次之后,就会逐渐开始对离心机造成破坏,并影响浓缩铀气体的产量。 但奥尔布赖特和它的同事们却认为,要想把离心机转子的频率升至1410赫兹,15分钟是不够的,而且这个频率会直接对离心机造成显著破坏。因此,在这个攻击段中,实际频率大概在1324至1381赫兹之间。尽管如此,长期持续加速减速,仍会逐渐增加离心机转子的负荷与磨损。此外,突然的加速还会导致铝制离心机振幅扩大,以致失去平衡。 IR-1型离心机由于设计上的缺陷,本身非常脆弱,一点小问题就可能让它无法正常运转。比如,膛内有灰尘都可以导致离心机自毁。伊朗原子能机构(AEOI)主席阿扎加德(Gholam Reza Aghazadeh)在铀浓缩项目实施初期(2006年)接受采访时表示,IR-1型离心机经常会由于机器内部的病菌而崩溃。最初,他们完全找不到离心机爆炸的原因,直到后来终于发现,这居然是技术人员在操作时没戴手套造成的。离心机一开始高速旋转,机器上的微生物就会一点一点的将其腐蚀。他对记者说:“离心机遭到破坏的实质,是它的部件被微生物化作了粉末。” 离心机顶部装有轴承,这些轴承像是旋转的陀螺,起着稳固离心机的作用。离心机从静止状态开始运行时,加速十分缓慢,但姿态非常美丽而优雅。但一眨眼的工夫,优雅就可能变为灾难。一旦离心机开始晃动,很快就会失去控制。离心机外壳很坚固不会被摔碎,但要么会像热狗一样开裂,要么会变得弯曲,使两端的盖子迸射出去。同时,离心机内膛里的转子和其他部件也会分离、碎裂。 震网发出的加速指令所引起的晃动,会在多轮循环之后最终将轴承磨损殆尽,让离心机最终因失衡而倒塌。但由于操作人员看到的数据永远都是正常的,他们既看不到破坏发生过程,也无法在事故发生后找出其原因。 震网会在攻击的第二阶段中,将离心机运行频率降至2赫兹,并持续50分钟。这说明攻击者的另一个目标,是在破坏离心机的同时,降低浓缩铀的产量。要把一台以1064赫兹的频率高速旋转的离心机降至接近静止状态的2赫兹,需要很长一段时间。因此,据奥尔布赖特团队分析,50分钟只能将离心机频率降至864赫兹,攻击结束后再慢慢恢复正常转速。不过,只要震网能把离心机转速降低50至100赫兹,就可以使其产量减半。在铀浓缩生产进程中,离心机必须持续稳定的高速旋转,才能将含有铀235和铀238从混合气体中分离出来。如果速度下降长达50分钟,分离进程将受到严重影响。纳坦兹的技术人员本期待着从离心机中得到高品质的浓缩铀,但震网的攻击却让成品浓缩铀的品质大大降低。这部分攻击基本上没什么破坏性,也不会对推迟伊朗核计划产生特别显著的影响。但作为从另一个角度实施骚扰的攻击活动,它很适合与破坏性攻击配合使用。这个攻击阶段的实施,不仅降低了浓缩铀成品的纯度,还起到了使浓缩铀产量不再稳定的作用。在2009年2月,离心机的分离功单位是0.62,到了5月份已经降至0.49。在6月至8月间,这个数值在0.51至0.55之间波动。 回到美国。此时,ISIS的奥尔布赖特团队正在研究IAEA的报告,并从中发现了纳坦兹铀浓缩进程中的变化。考虑到技术人员在A26机房安装离心机的“疯狂速度”,看到伊朗遇到麻烦,他们一点都不惊讶。奥尔布赖特从报告中看到,纳坦兹的技术人员已经放慢了安装离心机的速度,以确定问题出在哪。但他推测,除了正常损耗和技术难题之外,一定有其他原因导致了这些问题。他专门找到美国政府和IAEA中的熟人,索要更多与这些问题有关的资料,但没有得到什么决定的结果。 进入2010年,纳坦兹处于运行状态的离心机数量进一步下滑。已安装的离心机数量为8692台,运行中的离心机只剩下3772台,比2009年6月减少了1148台。在此之前,问题仅仅出现在A26机房的离心机中,但可怕的是,A24和A28机房的离心机也开始出问题了。A24机房的级联系统中,出现了含铀气体逸出的情况。 然而,更有意思的是,技术人员开始将离心机从级联系统中断开或移除。2009年8月,IAEA在地下车间中安装了更多摄像头,来监控技术人员安装离心机的过程。但在2010年初,摄像头拍下了画面显示,技术人员正在急急忙忙的从机房中移除离心机。1月,IAEA报道,技术人员从A26机房的11个级联系统中移除了部分离心机,具体数量不明;同时,他们还移除了A28机房某级联系统中的全部164台离心机。而且,A28机房中余下的11个级联系统也没有处于运行状态。之后,《华盛顿邮报》的一篇报道中提到,在这段时间内,共有984台离心机被替换,相当于6个级联系统那么多。 但此时,震网的攻击行动尚未全部展开。 临近2009年底,美国加快了对伊朗核计划施压的步伐。 9月底,纳坦兹离心机数量正在下滑之中,奥巴马总统在“联合国安理会核不扩散和核武军控峰会”上宣布,在伊朗发现了一个新的秘密铀浓缩设施。这个设施位于库姆圣城(holy city of Qom)30公里外的一个军事基地之内,深藏于福尔多(Fordow)山下150英尺处。 该设施的规模远小于纳坦兹,设计容量为3000台离心机,还不到纳坦兹47000台的零头。但这已经足够生产出每年制造一枚核弹的浓缩铀了。“伊朗拥有和平利用核能,满足人民能源需求的正当权利。但福尔多铀浓缩工厂的规模与配置似乎并不是用于和平目的的。”奥巴马在发言中说道。 伊朗人告诉IAEA总干事巴拉迪,这是纳坦兹的后备工厂,由于纳坦兹面临军事打击的威胁,他们才不得不未雨绸缪。新的铀浓缩工厂仍在建设之中,预计将在2011年完工。但根据美国情报部门的消息,该设施早在2002至2004年间的某个时刻就已破土动工。这意味着,IAEA核查人员在去往纳坦兹的路上,曾多次路过这个铀浓缩工厂,却分别不知道它的存在。奥巴马知道此事的时间是2009年1月,当时他在白宫做就职演说前的准备工作。而情报部门至少在2007年就知道了。当时,伊朗国民卫队司令叛变后告诉CIA,伊朗正在境内某处建造第二个秘密铀浓缩工厂。之后,美国通过卫星侦察,找到了福尔多工厂的地址。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1cf3eed0.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-7.jpg) 福尔多(Fordow)铀浓缩工厂地址 福尔多铀浓缩工厂虽然比纳坦兹规模小,但实际上却比纳坦兹更加危险。因为,纳坦兹无时无刻不在IAEA的监控之下,伊朗人很难把纳坦兹的铀原料转移出去,并把它浓缩为武器级铀化物。但像福尔多工厂这样的秘密设施,却可以在IAEA不知情的情况下,生产武器级浓缩铀。这才是真正令人担忧的。 福尔多工厂的另一个令人担忧之处,是它建造在厚达100多英尺的坚固岩石下面,因此,就连目前最先进的集束炸弹和美国正在研制的新一代炸弹,都对它无计可施。 英国首相戈登·布朗在回应福尔多铀浓缩工厂的新闻时表示,伊朗核计划是“当前国际社会所面临的最紧迫的核扩散挑战。”他说,面对伊朗“多年来一系列欺骗行为”,国际社会除了“给伊朗戴上紧箍咒”之外,别无选择。 然而,伊朗官员似乎并未受到福尔多曝光的干扰。AEOI主席阿扎加德挑战似的宣称,他们打算在未来10年内再建造10个铀浓缩工厂,向未来的多所大型核电站供应浓缩铀燃料。而且,这些浓缩铀工厂都将建在大山深处,以抵御外部攻击。 获悉福尔多工厂之后,以色列更加坚定了对伊朗核计划采取行动的决心。11月,在特拉维夫(Tel Aviv)的一场会议上,以色列军方领导对美国官员说,2010年将是与伊朗摊牌的“关键之年”。如果他们不迅速动手,伊朗人就会进一步加固他们的核设施,到时候再想打,就更困难了。美国方面则秘密承诺以色列,一旦新一代集束炸弹从工厂下线,会立即将其运往以色列。但是,要拿到这批货,还得等上6个月。 2010年1月,一家隶属于伊朗军方的秘密核能研究机构FEDAT被媒体曝光,紧张态势进一步升级。据称,该机构的领导人是德黑兰伊玛目•侯赛因(Imam Hossein)大学教授穆赫辛•法克里萨德(Mohsen Fakhrizadeh)。2月份,IAEA表示,已经得到了有关伊朗研制核武器“具有显著一致性和可信性”的证据。“这条消息表明,伊朗曾经或正在实施着某个不为人知的导弹核弹头研发工程。而这引发了各界的强烈忧虑。” 此外,以“缓解各方对伊朗不断增长的低纯度浓缩铀库存的忧虑”为目标的谈判也陷入了破裂。多年来,伊朗一再声称需要用铀化物为德黑兰的研究性反应堆提供燃料棒,以开展癌症病理学与肿瘤治疗研究,但美国等西方国家始终在怀疑,这些铀化物可能会被进一步浓缩至武器级。为了解开这个疑团,2009年中,一名白宫的顾问想出了一个高明的计策。这是一个和解建议,其内容是,让伊朗将绝大多数低纯度浓缩铀发往俄罗斯和法国,后者帮助伊朗生产燃料棒。那么,伊朗人说反应堆需要多少燃料,就能得到多少燃料。这样一来,伊朗官员肯定会受不了钻空子的诱惑,让俄法两国多生产些燃料,以供自己制造核弹之用。 伊朗官员曾于2009年表示,将认真考虑这项建议。但在2010年1月19日,他们宣布拒绝此建议。而且,他们还说已经开始用纳坦兹生产的部分低纯度浓缩铀,在一个试验工厂中进行进一步浓缩了。在那里,他们将得到用于医学研究用途的纯度近20%的浓缩铀。 6天后,震网团队完成了新一轮攻击的准备工作。 在上任第一年内,奥巴马总统一直密切关注的震网攻击的实施进程。美国在这项行动上押下了巨大的赌注,不过目前来看,反馈回来的都是好消息。实际上,攻击所取得的成效,比预想的还要理想。虽然遭到震网攻击的离心机数量有限,但伊朗人却为了查找问题原因,移除了包括整个级联系统在内的大量设备。这种反应不仅倍增了攻击成效,而且对伊朗核计划起到了进一步的延迟作用。伊朗人至今仍然不知道问题出在控制级联系统的计算机上,因此根本找不到解决问题的出路。值得一提的是,这一切都发生在对伊朗发动军事打击呼声渐强之时。 1月25日,震网攻击者为新版震网中的两个驱动程序文件签发了从台湾瑞昱公司盗取的数字证书。3月1日,代码编译完成。接下来要做的,就是等待时机。 3月20日是伊朗传统新年诺鲁孜节,奥巴马把他在上一个伊朗新年时发出的和平合作倡议又重复了一遍。这一次,他明确提出了伊朗核计划。“美国与国际社会一道,承认伊朗和平利用核能的权利,我们所坚持的,只是希望你们能够恪守其他国家共同遵守的责任。”他说。“我们了解你们胸中对过往的怨气,因为我们也有怨气。但是,我们仍然希望继续前行。我们知道你们反对什么,请告诉我们你们支持什么。” 当他提到伊朗于近期拒绝关于生产铀燃料的和解建议时,声调变得更低沉了。“面对我们伸出的友好之手,伊朗领导人却只是紧握着拳头。” 在演讲之前的几周内,伊朗技术人员挑灯夜战,努力查找问题原因。他们又把A24机房的全部18个级联系统装了回去,并开始将之前从A26机房移除的离心机一一复位。他们还增加了注入仍然处于运行状态的离心机的气体量,想要挽回之前浪费的时间,尽力增加浓缩铀气体的产出。但他们根本不知道,攻击还会卷土重来。 伊朗的传统新年的公共假期为4天,相关庆祝活动则会持续13天。3月23日是公共假期的最后一天,大部分伊朗上班族还在家中与家人和朋友过年,而震网恰恰选在这个时刻发动新一轮攻击。2010年3月版震网的载荷与2009年6月版没有变化,但导弹部分中增加了多个零日漏洞利用程序和其他传播机制,其中就包括最终导致其曝光的.LNK漏洞利用程序。 尽管加了不少花里胡哨的小工具,但攻击者似乎却只为新版本震网选取了一个攻击目标——百坡炯。代码上线的具体时间不详,只知道百坡炯的首位染毒计算机的中招时间是3月23日早上6点左右。百坡炯不仅是2009年攻击的“首位感染者”之一,而且在2010年4月的下一轮攻击中也率先中招。实际上,它是唯一一个在3次攻击中都遭到震网攻击的对象,这表明它作为通往纳坦兹目标计算机的中间渠道,比其他公司具有更大的利用价值。同时,不幸的是,它也成为了伊朗国内外数以千计染毒计算机的发源地。 在接下来的日子里,员工们结束休假返回公司,病毒开始快速传播,首先传遍了百坡炯在伊朗、英国和亚洲其他国家的办公室,之后又感染了这些国家的其他公司……后来,当赛门铁克的研究员分析来自世界各地染毒计算机上的病毒样本时,他们发现数千台染毒计算机的源头都指向百坡炯。 为什么攻击者在这个时间节点,突然增加了指向目标的攻击火力呢?也许,过去两年来他们已经习惯了在纳坦兹计算机中肆意妄为,因而信心膨胀、忘了自己姓啥。但最可能的解释是,前面几个版本的震网都是通过某个接近目标计算机的内部人士和其他什么人带进去的。如果震网攻击者后来失去了这个入口,他们会感觉到有些别扭。因此,他们需要提升病毒的传播能力,以增加病毒到达目标的机会。支持这种解释的一个旁证是,在上一轮攻击中,攻击者在完成代码编译到上线、感染“首位感染者”之间的等待时间,与本轮攻击有所区别。在2009年6月的攻击中,代码编译完成到首台计算机被感染之间,只有12个小时。但在2010年3月的攻击中,代码编译时间是3月1日上午,首台计算机被感染的时间是3月23日。(之后于2010年4月上线的下一个版本,其编译-感染延迟时间也是12天。)2009年攻击短暂的时间间隙表明,攻击者可能有一个内线,或精心挑选了一个不知情的受害者,充当了带毒者的角色。但当攻击者上线震网后续版本时,情况可能发生了变化,他们不得不静待时机,方可将病毒上线。 震网在到处扩散的同时,一直通过指挥控制服务器跟攻击的控制者保持着联系。因此,当震网出状况后,华盛顿应该很快就会有所觉察。很显然,那时,这项已经实施3年之久的华盛顿最高机密行动,突然遇到了暴露的风险。 一个精心设计且长期可控的网络武器,怎么突然之间就掉链子了?一开始,以色列成了千夫所指。据报道,2010年春天,白宫、NSA和以色列“决定来个全垒打”,意思是要对一组多达1000台的离心机发动攻击。这组目标可能是A26机房中的6个级联系统。在上一轮攻击中,震网成功的将A26机房中的级联系统数量由12个减少到6个,这一次他们希望把最后这6个级联系统全部搞定。6个级联系统,每个系统有164台离心机,总数是984台。很明显,为了确保胜利,以色列人插了一脚,在代码中加入了更多零日漏洞利用程序和其他传播机制。据纽约时报记者桑格(David Sanger)报道,知情人士告诉他,一名伊朗科学家先是将自己的笔记本接入了一台染毒的控制系统计算机,之后有把笔记本带回家接入了互联网。借助这台笔记本,他们得到了“震网成功侵入纳坦兹”的消息。但是,这种说法与研究员在代码中找到的证据并不相符。如前所述,每一个震网样本中都包含一个日志文件,上面记录着它感染过的每台计算机的信息。这些文件先是,首位感染者均来自百坡炯和其他3家公司,染毒计算机似乎都是些普通的计算机,而非纳坦兹内部存有Step 7文件或安装西门子软件的编程计算机。退一步考虑,或许有可能,这些染毒笔记本是承包商的资产,只是放在纳坦兹内部供人使用。(因此带了毒进来)然而,桑格还提到,当震网离开目标环境之后,应该可以识别出环境的变化。但各大公司的研究员却从未在任何版本的震网代码中发现过“识别环境变化并防止震网传播至纳坦兹之外”的功能。震网代码中的限制条件只有一个,就是“投下载荷”的地点(满足一系列条件),而非传播的区域。 不过,有一个很重要的问题必须说明,就是负责管理指挥控制服务器的操作人员,的确具有在发现震网传播失控时停止其传播的能力。震网本身具有自毁功能,攻击者可以将它从染毒计算机上移除。当震网四处传播、即将失控时,攻击者将会看到位于印度尼西亚、澳大利亚等地的服务器收到来自染毒计算机的报告,这时,他们可以发出指令,把震网从这些发出报告的计算机上删掉。他们之所以没这么做,只有几种可能的原因。“要么是他们不在乎震网四处传播,要么是震网的传播速度实在太快,超出了他们的预想,因此来不及实施对策。”莫楚说。他认为,传播失控,并非因为攻击者无能。“他们对染毒计算机拥有完全的控制权,我认为他们看着震网大规模爆发却什么都没做,确实有点不可思议。”当震网四处传播的新闻传到了华盛顿之后,华府做出了一个令人的决定:不做阻拦,任其发展。然而,其细节仍然不甚分明。据桑格的线人透露,在3月份之后,至少又有两个新版本的震网上线,其中移除了前一个版本中导致大规模传播的错误(bug)。 4月14日,攻击者完成了另一个版本的编译,但其载荷与3月份的版本几无二致。虽然拥有同样的传播机制,但后者并不像前者那样,传播的既远且广。该版本之后,互联网上再无其他版本的震网出现。 不过也有这种可能:攻击者随后又推出了更新的版本,但由于对它实施了更严密的控制,因此没被任何人发现。相关线索的确存在,ESET公司研究员曾在2010年7月发现过一个可疑的驱动程序文件,上面带有智微公司的数字证书。他们认为,这个文件应与震网有关。但是,如前所述,这个驱动程序文件是单独发现的,没有跟震网的主要文件在一起出现,但是经过分析,研究员仍然认为它可能来自震网的另一个版本。 在2010年4月这一轮攻击中,弗拉德科技继2009年6月之后,再次成为“首位感染者”。震网于4月26日侵入公司,并再次击中了在去年那轮攻击中第一台被感染的计算机。两周后的5月11日,震网感染了据信为卡拉扬电力公司(日志上为Kala)的3台计算机。卡拉扬电力正是反政府组织NCRI发言人阿里雷萨•贾法萨德在2002年揭露纳坦兹的新闻发布会上提到的幌子公司,实际任务是管理纳坦兹工厂和为核计划秘密采购设备部件。百坡炯遭感染的时间更晚些,在5月13日。 值得一提的是,虽然研究员在2010年版震网样本的染毒日志中,并未发现尼达工业集团的名字,但该公司那位曾在西门子用户论坛上发帖的控制系统工程师Behrooz又跑到论坛上来抱怨了。6月2日,他发帖说,(尼达)公司的所有使用Windows系统的计算机,再次遭遇了与去年一样的问题(报错)。 公司的其他工作人员也纷纷顶帖,表示赞同。其中一名用户也说公司所有PC都被感染了,还说他觉得好像只有伊朗才遇到了这个问题。“因为大家可以看到,自从1个多月前开始,论坛上有很多伊朗人都遇到了相同的问题。”他写道。论坛上的讨论一直持续到7月底,其中较为活跃的Behrooz经常会有种挫败感,因此总是会以表示愤怒的表情符(emoticons)作为帖子的结尾。突然,7月24日,他发出了一条消息,说这个谜团已经解开了。他发了一个超链接,指向一篇近期发布的关于震网的新闻,并以三个咧嘴大笑的表情符结尾。但是,要等到几个月之后,Behrooz和其他人才会知道,震网攻击的真正目标到底是何方神圣。 与2009年的攻击不同,外界并不清楚2010年版震网到底对纳坦兹造成了多大影响。桑格在攻击者上线2010年4月版震网后,报道说它对984台离心机造成了“致命的破坏”。如前所述,当时A26机房中只剩下6个级联系统的984台离心机还处于运行状态,但IAEA的报告中并没有说这些离心机停止了运行。9月份,A26机房中仍然有6个运行中的级联系统,还有另外6个级联系统已经安装调试完毕。当然,也有可能是在IAEA的《5月版报告》和《9月版报告》之间,离心机确实遭到了攻击,但之后又恢复了正常或者被替换掉了。还有一种可能,是桑格把两轮攻击的日期搞混了,他所说的大约1000台离心机,不是2010年4月这一轮攻击的成果,而是IAEA在2009年底和2010年初,当纳坦兹技术人员拆卸离心机时,通过监控摄像头拍到的。 2010年6月,伊朗官员以“IAEA向媒体泄露铀浓缩活动相关信息”为由,开始驱逐IAEA核查人员,因此,很难弄清楚纳坦兹在此之后的确切情况。在一封发送于6月3日的信中,伊朗官员警告IAEA说,如果有关核项目的机密信息“以任何形式泄露出去,或到了媒体手上”,就将终结与IAEA的合作。首当其冲的就是取消IAEA核查人员进入核设施的许可。同月,伊朗把威胁变成了现实,借口IAEA《5月版报告》上出现了“错误和不当言论”,从一个包括150名IAEA核查人员的许可名单上划掉了2个人的名字。这份报告中声称,伊朗的部分核设备“不翼而飞”。9月,又有2名核查人员遭禁,原因是他们在IAEA公开发布报告之前,向媒体走漏了消息。 伊朗官方对IAEA的非难,给后者在发布信息方面制造了困难,有关纳坦兹的信息眼看着越来越少。到11月,IAEA干脆在季度报告中砍掉了离心机具体情况方面的内容。代替原来“已安装离心机数量”和“运行中离心机数量”的,是“A24、A26、A28机房中离心机总数”。这个变化,让外界再也无法判断震网对纳坦兹的具体影响了。 我们所知道的是,在2010年7月,离心机的开工率只有45%至66%。ISIS在7月出版的一份报告中首次指出,纳坦兹离心机出现故障的原因可能是“遭人破坏”。彼时,震网已经被曝光出来了,但各路人马在几个月后才最终分析出,震网就是纳坦兹故障的罪魁祸首。 我们还知道,已安装离心机和运行中离心机的数量,在2010年急剧减少。2009年11月,伊朗共安装了8692台离心机,这时纳坦兹最辉煌的时刻。到了2010年5月,安装到位的离心机下降到8528台(其中3936台运行),到了9月小幅回升至8856台(其中3772台运行),11月又掉到8426台(4816台运行)。有可能在2010年一整年里,纳坦兹的离心机持续损毁,即便到了后来他们发现了震网,并确定它就是罪魁祸首之后,情况仍无改观。9月至11月,运行中离心机的数量出现了1000左右的增长,这说明震网的影响受到了削弱。然而,11月时,纳坦兹仍有3600台离心机已安装到位却没有运行。这充分表明至少问题一直没得到圆满解决。很快,11月16日,伊朗官员在赛门铁克发布“震网的功能是破坏变频器”的报告6天后,彻底终止了纳坦兹的铀浓缩活动。而就在这前后,他们还尝试着在机房里新安装了6个级联系统,说明他们可能希望通过更改级联系统的配置,来避免震网弹头的侵袭。 回到华盛顿,关于震网的讨论贯穿了2010年全年。初夏时节,CIA局长莱昂·帕内塔(Leon Panetta)和詹姆斯·卡特莱特将军,共同向总统汇报了震网传播失控的情况。这激起了奥巴马一系列的疑问。有没有迹象表明伊朗人已经发现了震网?如果发现了,那他们是否能判断出它的目标,是否能追踪到它的来源?此外,对于震网可能给纳坦兹以外的染毒计算机造成的连锁反应,他也表现出了担忧。考虑到这些问题,那么,是否应该就此取消这此行动呢?此时,他的幕僚们提醒他,震网病毒式一种精度很高的制导武器,只会将载荷释放到满足一系列特定条件的计算机上;而且,虽然它会因感染其他计算机而对它们产生一些影响,但并不会造成破坏。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1cf5b48b.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp-81.jpg) 时任(2010)美国CIA局长,后任国防部长的莱昂•帕内塔(Leon Panetta) 得知“行动仍然基本可控”的答案后,奥巴马镇定的做出了“继续行动”的指示。 考虑到震网的复杂性和它被发现和被破解的超低概率,美国方面的决定在当时看来没什么不对。实际上,虽然赛门铁克等公司在震网曝光后取得了一些破解成果,但并没有撼动震网“不可知性”的根基。所有迹象都指向同一个结论:面对复杂且陌生的震网,信息安全业界在发布了用于探测的病毒特征码之后,不得不就此止步。 但华盛顿没想到,赛门铁克这帮研究员有着坚如磐石的信念,非得把代码中的谜团探个究竟。华盛顿也没想到,世界上居然会有拉尔夫•朗纳这样的二愣子外加大嘴巴,非得把知道的一切一字不落的说个痛快。随着时间的推移,朗纳和赛门铁克发布的信息越来越多,华盛顿和特拉维夫的达官贵人们却束手无策,只能闲坐家中,看着震网谜底的碎片一片一片的被人拼接起来,直到拼出一幅完整的图像。
';

第十六章 奥运会

最后更新于:2022-04-01 21:17:25

2012年,震网的出现,让钱哥对行业的前景深感不安。而4年前,震网的设计者们也有着类似的感受。让他们头疼的,是伊朗即将成功造出核武器的可怕现实。 2008年4月,出于宣传方面考虑,在铀浓缩工厂竣工投产两周年之际,内贾德总统安排了一场高调的参观之行。借此机会,武器控制专家们得以首次窥见这座神秘工厂的真面目。身着工厂技术人员的制服——白大褂、蓝皮靴的内贾德,让记者们为他拍下了参观控制室计算机的多张照片。照片上显示着“和平”的字样,背景是由表情严肃的科学家和官僚组成的随行团队,和如受阅士兵般盛装列队摆放的一人多高的离心机。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c5a4739.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-99.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c623840.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-108.jpg) 内贾德总统办公室随后发布了近50张与此行有关的照片,其中首次公开的IR-2型高性能离心机,让核能分析师们兴奋不已。一位来自伦敦的分析师说,“这正是伊朗人梦寐以求的东西。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c643629.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-1115.jpg) 但是,与伊朗官方坚称的“铀浓缩项目用于和平目的”相悖的是,人们从照片上发现,国防部长居然也在随行人员之列。 伊朗专家用了2007年一整年的时间,完成了纳坦兹一个地下车间中3000台离心机的安装。内贾德参观时宣布,计划再增加6000台离心机。如果计划实现,伊朗将跨过“有能力生产工业级浓缩铀国家”的门槛。对于在过去数十年间屡遭磨难的伊朗人而言,这将是一个伟大的成功。因为,这个成功,是在面临无数技术难题、采购障碍、经济制裁、政治阴谋以及暗中破坏行动的情况下获得的,来之不易。而纳坦兹项目的顺利运转,意味着夺取胜利已是板上钉钉。 而实际上,纳坦兹尚未脱离险境。要生产工业级的浓缩铀,需要让数千台离心机连续运行几个月而不出任何故障。就在内贾德在纳坦兹志得意满之时,离心机控制系统中的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")已是蓄势待发。 据报道,布什总统于2007年底向国会提交了一份预算案,并得到了国会的批准。此案金额高达4亿美元,主要用途是为打垮伊朗拥核抱负而发动的一系列行动。具体包括情报收集活动,动摇现政府统治甚至促动政变的颠覆活动,以及针对核设施的秘密破坏活动。操控纳坦兹控制系统计算机的网络攻击属于第三种。 虽然布什的幕僚献上计策的时间是2006年,但相关工作早已启动。根据某些文件的时间戳推算,准备工作可能始于数年前。震网注入315型和417型PLC的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")段,其编译时间分别为2000年呢2001年,用于替换西门子Step 7系统中合法.DLL文件的假冒.DLL文件,其编译时间为2003年。 当然,很可能用于编译代码的计算机时间有误,也可能是代码开发人员为掩盖证据而刻意修改时间。但如果这些时间戳为真,这意味着在伊朗核问题的外交争端开始前,美国人已经提前3到6年做好了发动相关攻击的储备;只待一切外交斡旋和制裁失效之后,才于2006年把这些攻击代码从储备库里拿了出来。 其中一些代码是很多西门子系统通用的,并非专为纳坦兹的控制系统而设计。因此,建设储备库的目的可能不是专门针对纳坦兹PLC,而是面向普遍存在漏洞的所有西门子PLC。在伊朗,除了核工业之外,西门子控制系统还广泛用于石油天然气开采、石化和采矿等多个重要产业;此外,中东地区的其他国家也有使用。1990年代末,网络战刚刚崭露头角,美国和以色列认为,针对90年代中期面世的Step 7和相关西门子PLC进行漏洞挖掘方面的研究很有价值,早晚能用得上。 不过,并非所有攻击代码都是针对西门子控制系统的。比如,要编写针对纳坦兹专用变频器和阀门的攻击代码,必须提前知道伊朗安装使用的设备的具体型号,并掌握其详细配置信息。如果针对PLC的攻击代码段的确是2001前后制作的,那就是说,代码开发人员早在伊朗核设施开工建设之前,就已经知道其中部署什么设备了。 其实,这并不奇怪。伊朗于1999年中,就在卡拉扬电力的一个工厂里安装了小型离心机级联装置,并用它做过铀浓缩实验。之后,在2000年和2002年,CIA将卡迪尔装备朋友圈中的一个核心人物招至麾下,并通过他得到了关于“装备圈向伊朗和卡迪尔其他客户提供了哪些设备”的情报。因此,在2000年纳坦兹破土动工时,CIA可能已经知道了伊朗打算在工厂中安装什么设备,也知道了他们将使用西门子的控制系统。 ISIS的戴维·奥尔布赖特也认为,2001年时,外界已经通过某种途径,掌握了有关纳坦兹的很多情报。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c66ea40.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-1212.jpg) 他说:“每个级联系统包括164台离心机,级联系统分为几个阶段,采用什么型号的阀门、压力传感器和管道系统,他们早都知道了。”但他们尚未获得关于伟肯公司和Fararo Paya公司变频器的信息。“变频器可能是另一码事,因为那是伊朗从通过其他一些渠道从国外拿到的。因此,要说震网攻击者2001年就知道伊朗人打算从芬兰公司购买变频器并进行本土化生产,几乎是不可能的。而且,即使是用于2007年在纳坦兹安装的首个级联系统,也同时采用了多款进口变频器。” 到了假冒Step 7系统.DLL文件首次出现的2003年,他们已经掌握了有关纳坦兹的更多消息。 当IAEA核查人员于2003年2月首次造访纳坦兹时,伊朗已经在试验工厂里建造了一个小型级联系统,并做好了在当年年底安装1000台离心机的准备。作为IAEA对伊朗核计划调查的一部分,伊朗必须提供纳坦兹和其他核设施的采购设备清单。这份清单包括机器工具、阀门和真空泵。同时,情报部门对伊朗的秘密采购活动进行了监控,发现一家德黑兰顶级工业自动化公司——尼达(Neda)工业集团,也是伊朗核计划的供应商。这家公司曾经与卡拉扬电力合作,帮助后者从一家手表厂转型为向纳坦兹提供离心机的工厂。尼达工业集团还是西门子在伊朗的本地合作伙伴,据公司网站记载,在2000年和2001年,公司为伊朗的其他设施安装了多批西门子S7系列PLC。这与纳坦兹遭攻击的PLC属于同一个系列。因此,很容易联想到,既然尼达工业集团曾为伊朗多家其他客户安装过西门子控制系统,那么纳坦兹的西门子控制系统很可能也是他们装的。 实际上,在除核工业之外的伊朗其他行业里,有很多西门子自动控制设备的大客户,这为西门子进入伊朗核工业铺平了道路。某西方情报部门在一封某伊朗公司于2003年发往另一家伊朗公司的信中发现,一家与伊朗核项目有关的公司Kimia Maadan,曾经向西门子公司采购过S7-300系列和S7-400系列可编程逻辑控制器,以及与之配套的SIMATIC软件。据信,这批控制器将用于为离心机提供铀原料的贾钦(Gachin)铀矿。也就是说,就在这封信被情报部门截获后,美国以色列就掌握了这个情报。 尽管最初的计策可能是美国战略司令部的詹姆斯卡特怀特将军提出的,但将其具体落到实处的,还是NSA和美国网络司令部(US Cyber Command)的网络战士,和以色列8200部队的精英程序员团队。 要达成攻击,不仅要知道纳坦兹用了什么设备,还要更多更有效的情报。比如,攻击者必须知道变频器的运行频率,和关键设备的配置参数。他们不能仅仅指望手上那些旧图纸和可能已经过期的作战计划来开展行动。他们还必须掌握有关Step 7系统运行,和纳坦兹内部计算机网络拓扑结构等大量信息,以说服白宫的法律顾问,攻击不会对其他系统造成连带影响。如果他们假定目标计算机没有与外界连接,但事实却与之相反,[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")就有可能失去控制,传播并破坏其他机器,从而暴露作战行动。就在此时,类似火焰和毒区的侦察工具开始上线,从“运行维护网络的系统管理员”和“为PLC编写代码的承包商”那里,广泛收集将来可能用得上的数据。如果他们用了毒区,很可能是通过钓鱼攻击的手段进行传播的,就像入侵匈牙利CA时那样。这些情报侦察活动的目标,都是接入互联网的计算机,比如某个程序员的笔记本。但是,现场总线卡编号、变频器的型号和数量等配置信息,却藏在与互联网物理隔离的PLC上。 为了接触到这些数据,如果没有其他途径(内奸)的话,攻击者就必须使用U盘来“穿越”物理隔离,并将他们的侦察工具置于连接PLC的计算机上。因为,如前所述,给PLC编程的程序员通常会先在某个不与控制系统内网相连的笔记本上进行编码,之后再把笔记本带进来,接到控制系统内网中,或者把程序文件拷贝到U盘上,再把U盘带到某台内网计算机上。这是一个穿越物理隔离的简单方法。借助“内网计算机——U盘——连接互联网的笔记本”这条通道,攻击者还可以利用恶意程序,取回PLC和控制系统内网的相关信息。据报道,情报部门还在伊朗部分非联网计算机中预埋了植入物,可以把计算机上的数据通过无线电波传输出来。(待续) 攻击者为了获取所需数据,可能要耗时数月。某些侦察行动可能始于2005年,就是攻击者为“震网0.5版指挥控制服务器”注册域名的那段时间。虽然当时震网还没上线,但那些域名已经开始充当先头侦察部队的指挥控制服务器了。还有一些侦察行动可能始于2006年5月,就是攻击者为“震网后期版本指挥控制服务器”注册域名的时间节点。 一旦情报收集完成,攻击代码最后阶段的制作任务随即展开。赛门铁克估计,针对315型PLC和417型PLC的攻击代码,是由两支团队各自独立编写而成的。但是,到底是两支团队均为美以混编,还是以色列人负责编写导弹而美国人负责编写载荷,谁也弄不清楚。此外,可能还存在负责制作假冒Step 7系统.DLL文件、向PLC注入[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的第三支团队。赛门铁克估计,编写Step 7系统攻击代码需要6个月左右,编写PLC注入攻击代码则需要5个月左右。测试这些代码还需要更多时间。 不论是谁负责编写这些关键攻击代码,都得承认,这部分行动称得上天衣无缝。攻击中容易出错的地方很多,但要实现攻击目标则绝对不容有失;此外,一旦攻击启动,很难再做任何调整,也很难评估其影响。这意味着,攻击者必须在实施攻击之前进行广泛的测试,不仅要在西门子平台上进行测试,确保代码不会干扰Step 7系统或PLC的正常运行,而且,在2009年和2010年每个新版本上线之前,要在Windows各个版本上进行测试,确保恶意程序能够在绕开探测与防御机制的前提下顺利传播和运转。 最重要的一点是,攻击者必须清楚,代码层面上的每个细微变化,将对离心机产生怎样的影响。这是因为,这场攻击要想成功实现预期目标,不能靠蛮力,而要靠巧劲。一个微小的错误就可能导致离心机损毁速度过快或一次性损毁数量过多,从而暴露攻击行动,造成任务无法完成。 为确保万无一失,他们可能需要聘请一个由材料学家和离心机专家组成的顾问团。这些专家应熟知离心机外壳和铝制转子的密度和持久度,熟知每台离心机在处于幅度不断增加的震动时,其姿态能否仍能在高速旋转中保持平衡。他们还必须能够计算离心机内壁正常压力,并推算出“内壁压力随内部气压变化而变化的规律”。 要进行这些测试,没有离心机实物是不行的。不过,如前所述,位于田纳西州的美国能源部橡树岭国家实验室很幸运的得到了一大批P-1型离心机,而P-1正好是纳坦兹安装的IR-1型离心机的原型。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c67f056.png)](http://www.aqniu.com/wp-content/uploads/2015/12/80.png) 橡树岭国家实验室获得这批离心机的故事,始于2003年8月。那时,CIA打入卡迪尔核装备供应圈已有3年,IAEA首次赴纳坦兹进行核查也已过去6个月。CIA截获了一批由马来西亚运往利比亚秘密铀浓缩工厂的“黑货”,其中包括25000套离心机外壳、气泵、管道和其他组件。西方把这些赃物作为利比亚发展秘密核计划的证据,向利比亚独裁者卡扎菲(Muammar Gaddafi)施压。12月19日,利比亚外交部长在国家电视台宣布,利比亚将放弃所有的核武器和化学武器项目。而在此之前,他们从未承认过拥有这些项目。 IAEA得知,利比亚还有更多铀浓缩设备,美国当局正计划将其拆除并运回橡树岭国家实验室。因此,在圣诞假期中,海诺尼、他的老板巴拉迪还有其他几个同事一行急急忙忙来到的黎波里,赶在这些设备被运走之前,为它们编了一个清单。他们发现,这些设备重达百吨、价值8000万美元,包括一批来自土耳其的UPS调节阀(与之后于2006年被改装并破坏纳坦兹UPS的那批设备相似),1个由200台来自巴基斯坦P-1型离心机构成的小型级联机组,还有可以组装4000台离心机的设备部件。到了2004年3月,这些设备的转运工作全部完成了。它们的新家,是橡树岭国家实验室的Y-12国家安全综合大楼。每当有记者来访时,拿着来复枪的卫兵们都会跑出来耀武扬威一趟,以示这里有重兵把守。 “客观的说,”美国能源部长斯潘塞•亚伯拉罕(Spencer Abraham)接受多家媒体采访时表示,“废除利比亚核设施的行动,为美国和文明世界的所有国家提供了一个更安全的环境。”这话倒不是信口胡言,但是,美国缴获这批战利品的真正意义在于,可以用它们组建一个秘密工厂,用来对离心机开展研究,对攻击离心机的行动进行模拟和测试。 橡树岭国家实验室建于1943年,位于诺克斯维尔(Knoxville)城外,由田纳西大学和巴特尔研究院共同组建的非盈利组织UT-Battelle运营管理。实验室以先进材料研究、核科学、清洁能源和超级计算为主打项目。但是,实验室运营资金的最大来源,却是为国防部、能源部和情报部门做的秘密国安项目,其中主要包括核不扩散、情报数据挖掘、加密破解等内容。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c6c662e.jpg)](http://www.aqniu.com/wp-content/uploads/2015/12/640.webp_.jpg) 其中有一个机要项目,是专门研究如何破坏离心机的,至今已持续了10年。2005年后的某个时点,作为该项目的一部分,在橡树岭保护区一片35000英亩的边远林区上,一个秘密离心机工厂拔地而起。但持有安全通行证的大多数实验室员工,根本不知道它的存在。据知情人士透露,工厂的代号是“小山”或“养鸡场”,通往那里的,只有一条没有路标、蜿蜒十英里、被密林包围的道路,路上还有一个接一个的安检站。 实际上,“小山”是由两组设施构成的,一个在地上,一个在地下。地下大厅是很久以前为另一个项目建造的,正好用来作为离心机项目的实验场地。初期的中心工作是,掌握来自利比亚的离心机的工作原理。实验室拿到的离心机包括来自利比亚的P-1型和P-2型,但大部分都是未组装的部件,也没有说明书。面对堆积如山的一箱箱设备部件,毫无离心机设计安装经验的研究员只好一点一点的尝试,花了很长时间才搞明白如何把各种部件正确的组装在一起,并让它运转起来。 在摆弄这些性能不稳定又容易损坏的设备的过程中,橡树岭国家实验室的研究员遇到了与伊朗人相同的问题。尤其是铲斗和滚珠轴承特别容易出故障,因而拖慢了研究进程。 一开始,这个项目与利用病毒破坏离心机的网络攻击并无瓜葛,目标只是通过研究离心机和级联系统的工作机理,掌握其实施铀浓缩的能力,并据此估计伊朗在铀浓缩项目上的进展,推算他们需要多久可以生产出足以制造核弹的浓缩铀。橡树岭的科学家经过初步研究和测试,得出了一个结论:伊朗大概需要12至18个月,就能生产出足够制造一枚核弹的裂变性铀原料。 对橡树岭国家实验室而言,研究离心机算不上什么新鲜事。实验室在离心机研发方面具有悠久的历史,早在1960年代就制造出了首批转子离心机。但是到了1985年,激光铀浓缩技术取代离心机,成为美国实施铀浓缩的首选手段,实验室的离心机项目宣告终止。项目的终止,让数以千计的技术工人和研究人员的一身本领再无用武之地。 2002年,当关于伊朗在纳坦兹建造秘密铀浓缩设施的消息传出后,离心机相关研究起死回生了。橡树岭重操旧业,启动了一个为美国商用核电站浓缩铀供应商——美国铀浓缩公司设计新一代离心机的项目。为此,实验室专门招回了一批已至垂暮之年的退休离心机专家,让他们带领年轻的研究员共同工作。 谢天谢地,大批量利比亚离心机到厂后,总算是还有人能摆弄的起。据某个了解项目情况的内部人士表示,研究利比亚离心机的工作,得到了美国能源部旗下国家核安全管理委员会(NNSA)的大力支持。这个委员会管理着国家的核武器,同时还运营着一项名为NA-22的核不扩散研发项目。该项目的内容包括,收集有关非法核活动的人力情报(human intelligence),对流氓国家和恐怖组织进行的秘密铀浓缩与实验性核爆活动进行远程探测和环境监测,以收集相关证据。 NNSA意图染指伊朗离心机,不是一天两天了。所以2004年CIA从利比亚搞定大批与伊朗同型号的P-1和P-2型离心机,相当于给NNSA送上了一份大礼。 最终,他们又通过情报部门的力量,直接从伊朗核项目中得到了离心机部件。这些部件更有价值,据信朝鲜用的离心机就是用它们组装的。官员告诉工作人员,一定要非常小心、非常有效的用好这些部件,因为,为了得到它们,有些情报人员付出了生命的代价。也就是说,这批部件非常稀缺,一旦破坏无法替换,因此每次使用都要慎之又慎。 对这批设备的研究工作始于2006年,伊朗宣布将启动纳坦兹铀浓缩进程之时。但是,据一位了解该项目的人称,研究的进展非常缓慢。但2007年,伊朗真的开始在纳坦兹地下车间中安装离心机了,形势一下子变得紧张起来。(待续) 与此同时,用于对离心机进行攻击测试的“小山”地上部分设施也在建设当中。据信,初期的主要研究目标是,判断对纳坦兹实施动能攻击(kinetic attack)会对离心机造成何种程度的破坏。后来的研究中,“网络攻击对离心机的影响”才得到了与“空袭对地下核设施中离心机的影响”同样的关注。而人们一开始提出网络攻击的思路时,并没有想到使用病毒直接破坏纳坦兹的离心机,而只是考虑在铀浓缩工厂的设备中植入用于侦察的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),帮助研究员判断伊朗铀浓缩的实施进度。但在某个时点,用于直接破坏离心机的网络攻击项目和之前的网络侦察项目合二为一,形成了一个完整的数字动能打击(digital kinetic attack)计划。当时的情况有可能是这样的:测试离心机的大多数科学家并不知道有这样一个破坏性攻击的计划,只管做好“评估不同条件会对离心机造成怎样影响”的本职工作即可。所以,他们只需要考虑“离心机的转速提高、转速降低或内壁压力增大时的状态”这些问题,而无须考虑这些条件的变化是由何种原因引起的。 在宽敞的测试厂房中,西门子和其他供应商高大的控制系统支架,像图书馆中的书架一样摆放在前排,十多台一人来高的离心机则遍布整个空旷的厂房。临时铺设的线缆从部分离心机上弯弯曲曲的延伸出来,一直连到各种传感器上,以记录诊断结果,测量“离心机外壳温度”“用于保持平衡的栓钉和球状轴承的晃动幅度”等数据。 部分离心机持续数月的高速旋转,期间所有数据均被记录下来。这些离心机只是研究样本,还有一些则扮演着更悲惨的角色。在厂房的入口里面,有一个散发着丙烯酸和金属气味的巨型加固笼子,这就是为离心机“执行死刑”的场所。如果让《流言终结者》(MythBusters,一档由2位前好莱坞特效专家和3位充满魅力、博学多才的联合主演明星主持的有线电视节目)节目组的人来设计一个医院婴儿探视室,估计就会是这么个样子。每当有离心机在笼中死于非命之时,都会发出可怕的爆炸声,附近的地板也会随之隆隆作响,让现场工作人员为之一怔。 到了2008年,整个项目已经比较成熟完善了,离心机猎杀实验更是家常便饭。“项目组可以说是花钱如流水。”这位熟悉项目的匿名人士说。或许,布什总统从国会拿到用于打击伊朗核计划秘密行动的4亿美金预算,恰恰就在这个时候。 据报道,与橡树岭实验项目同步进行的,还有以色列迪莫纳核设施中的离心机实验。但是,关于“这些实验持续了多久”“官员何时认为掌握了成功发动网络攻击的足够数据”等问题,并没有准确的消息。 2006年橡树岭进行实验的同时,另一个团队正在编写攻击代码。虽然不清楚研发的精确时间表,但赛门铁克的研究员发现,攻击代码中的一个关键函数似乎在2006年5月被改动过。这个函数是针对315型PLC攻击代码的一部分,其功能是,与变频器之间建立通信连接。如前所述,用于该版本震网的两个指挥控制服务器mypremierfutbol.com和todaysfutbol.com中的代码,编译时间也是2006年5月。攻击代码中的另一个关键函数在2007年9月被改动过,两个月后的2007年11月,震网0.5版被人发现并提交至VirusTotal网站。 在某一时刻,橡树岭或其他某个实验室中部分离心机的用途发生了改变,它们被直接用于测量网络攻击的功效。当概念验证实验完成后,官员们向布什总统进行了汇报,用离心机的残片为攻击计划的有效性做了完美的注脚。与橡树岭实验室的姊妹机构——爱达荷国家实验室于2007年初进行的极光发动机试验类似,离心机实验充分证明,在一段精心制作的代码面前,再庞大的机器也不堪一击。 那么,震网0.5版是何时进入纳坦兹内部计算机的?它又是怎么进去的?这仍然是个谜。因为,纳坦兹的工业控制系统与互联网之间没有直接连接,而震网0.5版的传播机制却非常弱,因此要想突破物理隔离,攻击者必须亲自进入设施内部,或向内网发送一封邮件。震网0.5版只有一种传播途径,就是感染Step 7系统的项目文件。这意味着,它必须要直接感染编程人员或操作人员的计算机。一种方式是使用U盘“摆渡”,要么通过不知情的承包商充当带毒者,要么花钱买通某个内奸。另一种方式是给纳坦兹中的某个人发送邮件,把病毒藏在Step 7项目文件中“夹带”进去。如果病毒从编程人员或操作人员的计算机起跳,只需一到两步就可以进入目标PLC。在震网后续版本中有一个日志文件,它会记录所有染毒计算机的基本信息和感染时间,但研究员发现,震网0.5版中根本没有这项功能。 震网0.5版的目标不是315型PLC和变频器,而是417型PLC和阀门。其功能是,通过频繁开关阀门,操纵含铀气体的流动。 纳坦兹的离心机级联系统共分为15层,每一层中的离心机数量都不一样。随着层次的提高(层号变小),需浓缩的气体量不断减少,因此所需的离心机数量也不断减少。 第10层是“气体注入层”,共有离心机24台。在这一层,新一批含铀气体被泵入。离心机中的转子高速旋转,将铀同位素分离开来,“富铀235浓缩气体”被提取并运送到第9层。第9层有20台离心机,气体经过再次浓缩后,“富铀235浓缩气体”进入第8层的16台离心机。同时,含铀238较多的废弃气体从第10层进入第11层,进行进一步分离。第11层提取的“富铀235浓缩气体”又会被送往第8层,与那里的气体相混合。这个过程不断循环,直到富铀235浓缩气体进入第1层,废弃气体被排出系统为止。而级联系统的最高层一般只有2台离心机,1台主用,1台作为备份。 每个级联系统都有多个用来控制气体出入系统、出入各个层次的辅助阀门。此外,每一台IR-1型离心机顶部都有3个狭窄的管道,每个管道上有一个控制气体出入离心机的阀门。进气管道用于向离心机注入气体,成品管道用于向更高层发送“富铀235浓缩气体”,废气管道用于向下层发送废弃的“富铀238浓缩气体”。 震网0.5版并未攻击纳坦兹的所有阀门,而是有所选择。安装离心机的地下车间被分成了多个单元,也就是级联系统机房。每个机房可容纳18个级联系统,每个级联系统又包括164台离心机,因此每个机房中的离心机数量约为3000台。震网0.5版上线时,纳坦兹的地下车间中,只有1个机房是满编的,有18个级联系统。但震网只会攻击其中的6个级联系统。同时,震网不会攻击级联系统中的所有离心机,而只会攻击其中110台离心机的阀门,放过另外54台。 震网0.5版进入纳坦兹的级联系统后,会首先潜伏30天左右。在此期间,它会对系统进行全面检查,以确定各种阀门、压力传感器和其他部件是否与预期一致,并监控其活动。 在全面监测系统的同时,它还会将级联系统运行的正常值记录下来。与针对315型PLC的攻击一样,当真正的破坏行动开始后,它会将监测的真实值替换为这些正常值,反馈给操作人员。比如,它在潜伏的过程中,会迅速开启级联系统第1层的某个阀门,并从压力传感器上读取正常的压力值,然后在攻击时把这个值发送给操作人员,以掩盖压力升高的事实。 当它完成数据收集工作后,仍会继续等待,等待级联系统中出现某个特定的时机。在攻击开始前,震网0.5版会在单个级联系统中潜伏超过35天;如果要攻击6个连在一起的级联系统,则需要潜伏至少298天。 一旦攻击启动,病毒会关闭除第10层(气体注入层)之外各层次上的部分阀门。比如,在第9层,它会关闭20台离心机中14台的“废气管道阀门”;在第8层,会关闭16台离心机中13台的“废气管道阀门”。具体关闭哪一台离心机上的阀门,则是通过一个复杂运算进程随机挑选的。 关闭阀门后,震网0.5版会停止动作,等待只进不出的气体,让离心机中的压力不断上升。等待期结束的条件是:时间满2小时,或离心机内部压力升高至初始值的5倍。条件满足后,震网0.5版将转入下一个阶段,打开除气体注入层附近3个阀门之外的所有辅助阀门。然后,它会转入3分钟的等待期,同时向操作人员发送更多伪造监控数据。之后,进行7分钟的静默观察。在攻击的最后一步中,它会再次打开一组约25个阀门。奥尔布赖特和他ISIS的同事推测,这组阀门位于“应急排放管”。级联系统中的每一层都有一个与“应急排放管”相连的通道,以防离心机或铀浓缩进程出现故障时,可以迅速将离心机中的气体排放到一个冷却容器中。那么,震网打开这组阀门后,离心机中的气体就会迅速进入冷却容器,并彻底变为废气。 整个过程结束后,攻击将跳转至启动部分,开始新一轮循环。 由于攻击仅仅持续两个小时,受影响的只是部分离心机的部分阀门,而且在这个过程中操作人员看到的数值都是“正常的”,这让纳坦兹的工作人员陷入了空前的困惑之中。长期以来,他们一直目睹着离心机出现这样那样的问题,面对浓缩铀产量不断下降的情况,却无法确定故障的模式,也找不出真正的原因。 研究人员至今仍不清楚,震网打开、关闭的具体是哪些阀门,因此也很难说清具体的影响有多大。但基于一般性的假设,奥尔布赖特和他的同事推演出两种可能版本。第一种,被关闭的是级联系统最高层的成品气体输出阀门和最低层的废气排放阀门,因此气体会持续泵入级联系统,却无法排出。这种情况下,内部压力会迅速升高,当气压上升到正常水平5倍时,离心机内的含铀气体会开始凝结、凝固。凝固的铀化物固体进入高速旋转中的离心机转子后,会立即破坏转子,或令其失去平衡、敲打离心机的外壳。强烈的晃动会使离心机底部的轴承变得不稳定,从而令整个离心机脱离平衡状态。而一个高速旋转的离心机从静止状态中脱离出来,其破坏力将会非常之大,必然会对临近的其他离心机造成严重影响,从而产生灾难性的连锁反应。 在这种情形下,处于较高层次离心机中的压力增速,比较低层次离心机中的压力增速更快,因此更先出故障。奥尔布赖特团队估计,一次攻击可以同时对每个级联系统中的30台离心机造成破坏。他们认为,把含“富铀235浓缩气体”较多的高层次离心机作为攻击的重点,具有更显著的破坏效果。接近“气体注入层”(第10层)的离心机中的“富铀235浓缩气体”最少,而接近最高层(第1层)的离心机中则汇集了几乎全部“富铀235浓缩气体”,因此,攻击后者造成的损失更大,对铀浓缩进度的延迟更显著。 不过,还存在另一种可能,震网0.5版并没有关闭级联系统两端的成品阀门和废气阀门。如果是这样,震网0.5版所能造成的影响会小得多——只是减少铀浓缩成品的生产量,而不会破坏设备。含铀气体原料泵入级联系统后,由于164台离心机中有110台遭到了震网的攻击,阀门被关闭,因此只有剩下的54台还可以正常运转。这样一来,参与浓缩进程的含铀气体大幅减少,最终得到的成品气体也会大幅减少。 此外,在震网0.5版一边实施攻击,一边向操作人员发送伪造的正常数据之前,它已经废掉了生产线中的安全系统。其功能是,当发现离心机出现运行故障时,及时使之脱离级联系统,以免造成破坏。安全系统的设计非常精密,主要包括两类装置:一类是安装在每台离心机上的加速度传感器,用于监控离心机的振幅;另一类是安装在每个级联系统上的数十个压力传感器,用于监控级联系统中各部分的压力。如果某台离心机出现故障,应急响应系统会做出毫秒级的反应——关闭该离心机与级联系统之间的阀门,使离心机及其中的气体与系统隔开。故障离心机中蕴含的能量,可能使其中的高温气体喷涌而出,在级联系统中发散开来,对其他离心机造成损害。而正常运行的应急响应系统可以快速采取相关措施,阻止高温高速气流从故障离心机中喷出。但是,震网对安全系统的攻击,让这些功能全都成了摆设。(待续) 在纳坦兹,级联系统的安装共分为3个阶段,IAEA核查人员则跟踪了每个阶段的实施过程。首先,要安装管道、气泵和阀门等级联系统的基础设施;然后安装离心机,转子开始旋转。这时,真空泵会将可能造成过大摩擦力和过多热量的空气排出腔外。当离心机转速达到额定值后,含铀气体被泵入,铀浓缩进程启动。 纳坦兹一共有两个巨型地下车间。在2007年初的时候,伊朗人就开始在其中一个车间(编号为车间A)安装离心机了。如前所述,这个车间分为8个机房,编号分别为A21至A28,每个机房可安装18个级联系统,每个级联系统可容纳164台离心机。因此,每个机房中都可以安装离心机2952台。 2007年2月,技术人员首先在A24机房安装离心机,并计划于5月之前完成18个级联系统的安装。但是,他们的计划没有实现。8月中旬,他们才安装、启动了12个级联系统;直到11月,所有级联系统终于安装完毕并投入运行。然而,新的麻烦又出现了。技术人员发现,级联系统中的气体总量少于设计容量,还发现,总有一部分气体滞留在注入点和级联系统之间的“进程缓冲区”中。2月至11月间,他们共向各级联系统中注入了1670公斤含铀气体原料,但其中400公斤气体滞留在缓冲区,只有1240千克气体真正进入了离心机。更奇怪的是,离心机中最终生成的浓缩铀成品大大少于预期。按10%的“成品-原料比”计算,应该生成124公斤低纯度浓缩铀,但实际上,他们只得到了75公斤。在2007年全年的大多数时间里,“产量不及预期、原料消耗过快”的问题始终存在,浓缩铀的纯度也偏低。纳坦兹的技术人员声称,他们得到了纯度为4.8%的浓缩铀,但IAEA的测试结果显示,成品浓缩铀气体的纯度仅为3.7-4.0%。 扰乱阀门开关、降低浓缩铀纯度的,到底是不是震网0.5版呢?事实有待查证,不过纳坦兹遇到麻烦的风声很快传了出去。2007年12月发布的美国国家情报年度评估报告中,提到了伊朗在铀浓缩离心机方面“遇到了明显的技术困境”,离心机的损坏率高达20%,远远高出设计水平。一位IAEA的高级官员告诉奥尔布赖特说,离心机损坏和产量偏低的部分原因,是大量浓缩铀气体被排放到了废弃物回收罐中。 当时,奥尔布赖特团队认为,离心机损坏率偏高的原因,一方面是离心机设计方面的瑕疵,另一方面与伊朗人正处于“如何将大量离心机安装为级联系统,并令其正常运行”的探索期有关。然而,纳坦兹出现的问题,与震网0.5版“操纵阀门”的特点非常吻合。 不论原因到底是什么,反正离心机故障让伊朗人损失了大量铀原料。本来从国外进口渠道获得的供应量就少,国内的贾钦铀矿更是不给力,难以产出维持核计划所需的足够原料。 在2007年11月至2008年2月之间,技术人员没有增加新的级联系统,而是集中精力排除故障。之后,情况似乎出现了转机。当内贾德于2008年春季展开“伟大胜利宣传之旅”的时候,级联系统进入了一个更加平稳的运行状态,离心机损坏事故大幅减少。浓缩铀成品的纯度稳定在4%的水平附近,产能利用率由之前的50%上升到85%,单台离心机的产量也增加了。 各界一致认为,伊朗似乎已经解决了级联系统中的问题。伊朗人不顾旁人的劝导,以丧心病狂的速度,开始了新一轮的离心机安装。级联系统刚一到位,立即开始注入气体、启动生产进程,然后再转入下一个级联系统的安装。从2008年5月到8月这3个月中,伊朗处于运行状态的离心机数量,由3280台增加了约500台,至3772台。 伊朗这样做,其实面临着巨大的政治压力。联合国的制裁,以及与西方毫无进展的谈判,让伊朗领导人非常恼火,也耗尽了他们的耐心。但对于这种无脑的大跃进,伊朗的科学家和工程师们是明确反对的。即便在正常条件下,安装离心机并启动生产进程,都是一件非常棘手的任务。更何况IR-1型离心机天生非常脆弱,快马加鞭的折腾,纯粹是没事找事。 “从工程师的观点来看,这太鲁莽了。居然一口气就把级联系统中的164台离心机运行起来了!干嘛不同时启动18个或30个级联系统呢?”奥尔布赖特说,“真正优秀的工程师一定会慢慢的安装,在确认每一个步骤、每一个单元都运转正常之后,才会把它们一层一层的连起来。” 但是,这段时期里,纳坦兹却运转的异常顺遂,到夏天过完的时候,纳坦兹的技术人员们重新找回了信心,把先前遇到的麻烦抛到了脑后。不过,他们还没高兴几天,形势再次急转直下。 IAEA的报告用一系列冷冰冰的数字,呈现出了当时的情景。 在2008年4月的参观中,内贾德乐观的宣布,纳坦兹将很快在现有3000台离心机的基础上,再增加6000台。但是,离心机数量在8月份达到3772台之后,技术人员突然停了下来,而且在接下来的3个月里1台都没装。同时,成品的生产量也是逐步下滑。从2007年初铀浓缩开始起算,纳坦兹的技术人员一共向级联系统中注入了7600公斤铀化物气体原料,但到2008年8月,所有离心机的总产量只有480公斤,而不是计划中的760公斤。产量偏低的情况一直持续到2008年底。在8月至11月间,技术人员共注入2150公斤铀原料,但只生产出150公斤浓缩铀成品。和2007年那次出故障时一样,大量含铀气体不翼而飞。 然而,对伊朗而言,虽然存在种种问题,2008年仍然比2007年强多了。纳坦兹2007年的浓缩铀产量仅为75公斤,2008年已经增至630公斤。奥尔布赖特团队估计,在理想条件下,伊朗人可以将700至800公斤低纯度浓缩铀转化为20至25公斤武器级浓缩铀,足以制造一枚初级核弹(crude nuclear weapon)。尽管产量不及预期,但当时并没有传出“伊朗核计划没有按时取得应有成效”的消息。 纳坦兹的这一波故障,出现于2008年下半年,而这似乎与震网0.5版实施攻击的时段正好吻合。震网感染417型PLC后,有一段时间的潜伏期。在为期至少一个月的侦察阶段中,震网会记录下用于欺骗操作人员的数据。如果目标是一个级联系统,侦察至少需耗时35天;如果目标是6个连在一起的级联系统,则至少需耗时297天。在这个过程中,级联系统的运行不会受到任何影响。一轮攻击结束后,震网又会转入新一轮为期35天的侦察期。看起来,2008年下半年的问题集中出现在春季开始安装的A26机房。如果震网0.5版感染与A26机房对应PLC的时间是2007年底到2008年初,那么从攻击引发离心机内部压力上升到造成可见的破坏性影响,刚好需要几个月的时间。 在此期间,发生了一件特别的事情。一位加拿大籍伊朗人想要从两家西方制造商手上采购一批压力传感器。这批设备的用途是,测量离心机内部气压。在2008年12月至2009年3月之间,Mahmoud Yadegari一共购买了价值11000美元的10台压力传感器,并将其中的两台通过迪拜转运到了伊朗。当他向第二家制造商提交采购20台机器的订单时,由于无法证明最终买家的身份而遭到了拒绝。4月,美国当局获悉此事后,立即把他抓了起来。那么,这件事会不会与“伊朗人发现纳坦兹的传感器可能有问题”存在关联呢? 进入2009年,纳坦兹的技术人员迅速在A26机房展开了离心机安装工作。到2月底的时候,已有9个级联系统安装完毕。但是,技术人员并没有将它们投入运行。要是放在过去,技术人员每次都是刚一装好就立即把它们启动,这次不知是什么原因,他们没有这样做。同时,A24和A26机房中离心机的“分离功单位”(separative work unit,用于测度单台离心机铀浓缩效率的值)由0.80骤降至0.55,浓缩铀成品的纯度也从2008年的4%左右下降至3.49%。如果这些影响都是震网造成的,那么可以说,攻击者通过震网达到了他们预期的目标。 就在此时,攻击者决定要换个玩法。(待续) 2009年初,总统候选人巴拉克·奥巴马应邀去往白宫与布什总统会面,商讨新老领导人权力交接有关事宜。在交谈中,布什谈到了在过去一年中,对纳坦兹离心机实施破坏性网络攻击的细节。这项行动确实起到了推迟伊朗核计划的作用,但效果不算特别明显,而且需要更多时间才能取得更大进展。如果行动继续,那么必须得到在任总统的授权,这意味着奥巴马必须签署一项新的总统调查令,以批准该行动。考虑到当时除了发动空袭之外,似乎没有什么其他选择,因此没费多少唇舌,奥巴马就对这事点了头。 2008年夏天,在总统选战当中,奥巴马曾亲赴以色列拉票,并告诉以色列人,他“可以感受到以色列的痛苦”。他说,一个拥核的伊朗,将成为中东地区乃至全世界和平的“重大威胁”。他承诺,在他的领导下,将采取一切可能的措施来阻止伊朗获得核武器。虽然这句话在本质上蕴含着使用武力的意思,但奥巴马和布什一样,也希望避免爆发无法控制的战争。因此,用比特武器实现物理破坏,越来越成为一个受欢迎的选择。 上任之后,来自多方面的压力让奥巴马应接不暇。通过外交渠道与伊朗沟通没有任何效果,制裁也打不垮伊朗政府的斗志。他还担心,如果美国再不快点动手的话,以色列很可能会采取单边军事行动。出于种种考虑,奥巴马决定,在执行原计划的同时,进一步提出“加快取得攻击成效”的要求。就是在这样一个决策背景之下,他批准了新的作战计划——上线以纳坦兹变频器为目标、更具侵略性的震网新版本。 那么,为什么美国人会在原计划顺利执行之时,转而推出新的攻击行动?根本原因在于,针对阀门的攻击行动虽然有效,但见效太慢。攻击者已经等不及了,他们需要一个能够更直接破坏离心机、因而从根本上拖慢伊朗核计划进程的作战行动。他们也希望换一套迷惑伊朗技术人员的新招式,免得原有招式被拆穿。 具有讽刺意味的是,就在奥巴马批准针对伊朗计算机系统发动新攻击的同时,他还宣布了一项新的联邦行动法案(federal initiatives),主题是保护网络空间和国内关键基础设施安全。而震网破坏的,正是这种所谓“关键基础设施安全”。他在就职演说数周之后的一次演讲中提到,国家的网络基础设施是国家战略资产,在国家安全领域具有基础性的地位。“我们将确保这些网络的安全性、可信性和适应性,”他说,“我们将通过威慑、拒止、探测和防御等行动,使其免遭攻击,并在受到干扰或破坏时快速将其恢复至正常状态。” 实际上,就在奥巴马批准新作战计划之时,还面临着内容被曝光的风险。美国及其盟友致力于破坏伊朗核计划,早已是人尽皆知。2009年2月,伦敦的《每日电讯》报道,以色列曾策动过一起针对伊朗核计划的大规模暗战,其中包括职业杀手、幌子公司、双面间谍和秘密破坏行动。文章中,一位前CIA官员透露,其中有一种破坏行动,可以“以伊朗人无法理解的手段减缓核活动进程”,这似乎是在提示震网的存在。他说,行动的目标是“将伊朗核进程推迟、推迟、再推迟,直到找到其他的解决方案……这真是个好办法,因为它避免了直接军事对抗带来的无法接受的巨大风险。” 几乎同时,《纽约时报》也披露,一项针对伊朗的新的秘密作战行动已经开始实施,但并未透露更多细节。 我们不知道伊朗人是不是看到了这些报道,也不知道他们是否将报道中的内容与纳坦兹的问题联系在一起。他们当然明白,自己正在面临着与2006年“土耳其UPS功率调节器事件”类似的风险。但是,除此之外更重要的是,他们只把注意力放在引起破坏的部件(而非程序)上。 当攻击者准备上线震网新版本时,奥巴马实现了另一项有关伊朗的竞选承诺。他曾在总统大选中对选民承诺,如果上台,将对伊朗采取更强硬的外交攻势。作为落实承诺的一部分,他在就职演说中做出了一个前所未有的突破,直接通过电视直播向穆斯林世界喊话。他说,“对于穆斯林世界,我们将以共同利益和相互尊重为基础,探寻新的相处之道。对于那些试图在世界各地散播冲突、并把本国社会问题归咎于西方的领导人们,我们希望你们能够明白,人民评判你的依据,不是你能摧毁什么,而是你能建设什么。”(2009年1月20日) 3月20日,奥巴马再次直接向伊朗喊话。这一天是伊朗传统新年“诺鲁孜节”,他通过《美国之音》广播电台,专门向伊朗国家元首和人民发表了演讲。 “在新的一年来临之际,我想跟伊朗的领袖说句真心话。”他说,美国希望和伊朗发展“真诚的、以相互尊重为基础的”建设性伙伴关系,并希望看到伊朗人民和邻国乃至全世界其他国家都能享有“更安全、更和平”的生活。他引用了波斯诗人萨迪(Saadi)的一句话作为演讲的结尾:“亚当子孙皆兄弟,兄弟犹如手足亲,造物之初本一体。”美国已经向伊朗伸出了友谊与和平之手,“你是否愿意松开你紧握的拳?” 然而,奥巴马可不是什么天真的中学生。他一面向伊朗人民表达和解的愿望,一面却在积极准备对纳坦兹发动新一轮的网络攻击。(待续)
';

第十五章 火焰病毒

最后更新于:2022-04-01 21:17:23

2012年春天,卡巴斯基团队终于完成了对毒区及其服务器的分析工作。同时,他们相信,其中仍有一些未知数,有待进一步探索。即便是他们自己,都没有想象到会得出这样的结论:如此大胆而具破坏力的震网,居然只是一系列大型网络攻击行动中的一个分支而已。 4月,新的攻击出现了。伊朗石油部和伊朗国家石油公司中发现一种新病毒,其功能是清除每一台染毒计算机上的所有硬盘数据。它的破坏行为既系统又彻底,可以一次性删除几个G的数据。病毒攻击的具体步骤是,先删除文档和数据,再删除系统文件,最后摧毁硬盘的核心部分,造成不可逆转的损毁。 到底有多少台计算机遭到了感染尚不得而知,但有传言称,去年12月就有计算机被这种病毒攻击了。起初没人注意,直到病毒扩散到不容忽视的地步才引起重视。而且,没人知道,在病毒发起攻击前已经潜伏了多久。人们只看到,病毒每次发起攻击的日期都在当月20日前后。伊朗官方将其称为“清除者”,并认为美国和以色列是攻击发起者。但与此同时,他们却说攻击没有造成持续的破坏,因为所有被删除的数据都成功恢复了。 之后,拉伊乌和卡巴斯基团队从伊朗拿到一个染毒硬盘镜像,发现情况简直槽糕透顶。不仅全部文档和关键的系统文件全无踪迹,而且[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")本身也从硬盘上清除了。不过,他们还是发现了一个重要线索:注册表的键值中有一个名为“~DF78.tmp”的临时文件,是在破坏开始前的某一时点创建的。虽然文件本身已经被删掉了,但名字还在,足以证明它确实存在过。对研究人员来说,文件名开头的“~D”字符再熟悉不过了——这是毒区和震网命名染毒计算机上临时文件的典型特征。 那么,在“清除者”发起攻击之前,这些计算机会不会已经感染了毒区或来自相同攻击者的其他病毒?“清除者”和毒区会不会是由同一个团队制作的? 拉伊乌和它的团队在公司的杀毒软件中添加了一些功能,让它能够搜索名为~DF78.tmp的文件,并标注所有以“~D”打头的临时文件。结果,他们在多个国家发现了大量感染此类文件的计算机,其中来自伊朗的计算机占大多数。后来,他们得到了一个名为“~DEB93D.tmp”的临时文件,发现它实际上是一个“嗅探器”的日志文件。它的功能是,在染毒计算机所在网络中传播,并记录每台计算机的密码。沿着这条线索继续挖掘,他们又找到了用于创建嗅探器日志的模块文件。事实证明,这是一个非常有价值的发现。 这个模块文件既不像震网和毒区,也不像是“清除者”。因为,它的代码没有清除染毒计算机硬盘数据的功能。他们又搜索了公司的档案库,看看公司自动报告系统中有没有出现过和它类似的病毒,结果出乎他们意料,符合条件的模块文件一个接一个的往外蹦。他们总共发现了20个与之相似的模块文件,各自名字互不相干,如“狂喜”“大嚼”“待定状态”“迷雾”“快餐”等。看起来,这些文件都像是与某场攻击有关的插件或组件。 最让他们感到好奇的,是2010年10月进入档案库的一个模块文件,系统给它贴的标签是“震网文件”。之前,当他们检查该文件时,根本没看出它跟震网有什么相似之处,就置之不理了。但现在当他们再次检查时,发现两者确实存在共同点——它们都包含同一个零日漏洞利用程序。这个漏洞,就是卡巴斯基和赛门铁克两年前分析震网时漏掉的那一个。 这个零日漏洞藏身于名为“207号样本”(Resource 207)的部分当中。由于这个部分只在震网2009年6月版本中出现,而没有出现在震网2010年各个版本中,因此,卡巴斯基和赛门铁克之前都没有发现这个零日漏洞。从数量上来看,卡巴斯基和赛门铁克拿到并分析的病毒样本,大部分属于震网2010年的各个版本,属于2009年版本的非常少。 “207号样本”中,包括震网2009年版本中利用U盘Autorun功能进行传播的代码段,也包括当年漏掉、如今新发现的这个漏洞利用程序。这个漏洞利用程序通过利用Windows系统壁纸功能中的一个缓冲区溢出漏洞,让攻击者获得了染毒计算机的系统级权限。在攻击者2009年2月制作这个漏洞利用程序时,该漏洞确实是一个“零日漏洞”,但当他们在4个月后将震网2009年6月版本上线时,Windows已经发布了这个漏洞的补丁。因此,当攻击者在2010年3月上线震网新版本时,主动去掉了这个漏洞利用程序和利用Autorun功能传播的代码,换上了.LNK漏洞利用程序和另外两个用于提升权限的零日漏洞利用程序。 “壁纸漏洞利用程序”的发现,意味着震网总共用过的零日漏洞不是4个,而是5个。更重要的是,震网和新出现攻击之间的联系进一步证明,震网只不过是攻击团队制作的一系列网络武器的一部分。 卡巴斯基的阿历克斯·格斯特夫(Alex Gostev)把他的团队分成了几个小组,对新发现的20个模块文件并行展开逆向工程,以寻找更多线索。得知公司成功发现“震网系列新成员”之后,大家非常兴奋。再加上提神醒脑的咖啡因,人人干劲十足、通宵达旦。 到第3周周末时,他们发现了一个规模超过以往所有病毒的网络间谍工具集。根据其中一个主模块的名字,他们将其命名为“火焰”。 之前,震网以压缩后500k的体积,成为世界上规模最大的病毒。而今,火焰所有组件加起来至少有20M,其中包括超过65万行代码,并具有与其规模相称的复杂度。他们估计,要制作一套火焰这样的工具,至少需要6名程序员花费3年的时间。要想把它彻底破解出来,即便搭上卡巴斯基公司的所有员工,最少也得4、5年。所以,他们理智的将目标调低,决定破解出足够理解其大致功能的部分代码即可。 多年来,卡巴斯基团队见过各种各样的网络间谍工具,但火焰的出现,让这些工具全都相形见绌。如果詹姆斯·邦德的Q部门(Q Branch,意为军需处)拥有一个网络武器库的话,火焰一定会是其中之一。在火焰中,充满了无数种收集情报的方法、组件和技巧,简直称得上是一部间谍工具百科全书。其中,有的模块负责从染毒计算机中直接盗取文档,有的模块负责获取击键记录、每隔15至60秒抓取屏幕截图,有的模块通过暗中打开染毒计算机上自带的麦克风来偷听环境声音,还有的模块利用染毒计算机的蓝牙功能,自动搜寻可与之连接的智能手机和有效通信范围内的其他蓝牙设备,再盗取手机或设备上的数据。 看来,火焰应该是一种多用途的侦察工具,能满足各种任务的不同需求。不过,火焰并不会在每个目标上使用它的全部代码,而仅仅是按需部署。在大部分行动中,首先载入目标计算机的是一个大小为6M的“抢滩部队”,其中包含一个后门。攻击者可以利用这个后门,随时通过指挥控制服务器在目标上安装新的间谍工具模块。(待续) 用于支持火焰基础设施和资源同样规模巨大,让研究员们大开眼界。他们在德国、荷兰、瑞士等地共发现了至少80个用作指挥控制服务器的独立域名。攻击者通过这些服务器,控制染毒计算机、收集盗取文档。据推测,攻击者注册如此众多域名的目的,是根据任务和目标属性的不同,对各类目标实施分别管控。 为了注册这些域名,攻击者使用了伊凡·布里克斯(Ivan Blix)、保罗·卡尔查内塔(Paolo Calzaretta)、特瑞安·卢瑟苏(Traian Lucescu)等大量假身份,并通过预付信用卡进行支付,以隐藏其真实身份。卡巴斯基的研究员建了一个槽洞,可获得大约30台服务器的同步数据流。槽洞建好之后,来自伊朗和其他地区的染毒计算机纷纷与之通信,被盗取的文件也不断涌来。但是,由于攻击者对盗取文件进行了加密,研究员们无法看到其中的内容。 之后,卡巴斯基将火焰的特征码加入了本公司杀毒软件的特征库,很快又发现了数百台染毒计算机。不出意外,其中189台来自伊朗,排名第一。另有98台来自巴勒斯坦地区,来自苏丹和叙利亚的各有30台。 正当卡布斯基专注于分析火焰的模块文件时,匈牙利的本恰特给拉伊乌带来了新消息:他收到了一个来自伊朗的可疑文件。自发现毒区时起,卡巴斯基和本恰特就建立了良好的关系和常态化的联络机制。经过比对,拉伊乌团队发现,这个文件正是他们发现的20个模块文件其中之一。同时,赛门铁克也收到了本恰特发出的消息。由此,围绕火焰的破解,赛门铁克与卡巴斯基两家开始了一场竞赛。赛门铁克将该文件特征码加入杀毒软件后,在澳大利亚、匈牙利、黎巴嫩、俄罗斯、阿联酋和香港发现了更多染毒计算机。 最终统计数字显示,火焰病毒共感染了超过1000台计算机,远远超出毒区感染的36台,又远逊于震网感染的10万多台。与震网不同,火焰没有自动传播功能,只有当攻击者发出相应指令时,传播机制才会启动。因此,与震网感染了许多非目标计算机不同,每一台感染火焰的计算机都是攻击者有意选取的。拉伊乌推测,攻击者会根据任务需要,分期分批的选取目标、实施攻击。 火焰的攻击目标类型各异,既有个人、私营公司,也有政府部门和学术机构。但不难看出攻击者的真正兴趣何在。他们列出了一个目标文件类型清单,其中包括Word文档、PPT文档Excel文档,还有和毒区一样的AutoCAD制图文档,以及最显眼的目标——数字证书。 虽然目标清单很长,火焰却不会盗取满足条件的所有文件。它的做法是,从每个目标文件中提取1K大小的文本,将其回传至一个指挥控制服务器,再转移到另一个位置。拉伊乌怀疑,这个位置,是攻击者建立的一个超级计算机,它能对盗取的文本采样数据进行分析,并判定哪些文件值得完整盗取。作为旁证,一年后斯诺登泄露的NSA密档中,有一个名为“涡轮”(TURBINE)的控制工具,其设计功能与拉伊乌设想中的超级计算机高度吻合。(见第12章) 既然火焰的行动部署如此严密,它能长期隐蔽攻击就不足为奇了。最早的火焰样本发现于欧洲的一台计算机,其创建日期是2007年12月。另有一台位于迪拜的计算机,遭受火焰攻击的时间是2008年4月。有些用作指挥控制服务器的域名正是在这个时段注册的。另有一批域名的注册时间是2009年和2010年,但域名注册最集中的时段是2011年,此时震网已经曝光。这意味着,早在曝光之前,火焰已经实施了至少5年的持续攻击而未被发现,并且在震网和毒区的研发和攻击过程中起到了积极作用。 至此,一个由间谍工具和破坏性武器组成的网络武器库渐渐浮出水面。这个武器库的目标不仅是伊朗核计划,还包括更广泛的其他目标。研究人员发现,对于这个武器库而言,共有两个相对独立的开发平台。一个是研制大量间谍工具的火焰平台,另一个是研制毒区的“~D平台”。由于前者比后者更高端、更复杂,因此这两个平台背后,可能是两支平行运作的研发团队。然而,在震网生命周期的不同阶段,这两个平台都发挥了自己的作用。 拉伊乌推测,火焰的研发始于2005或2006年,因为指挥控制服务器上的代码编写日期是2006年12月。他还认定,火焰大约在2007年初基本成型。而最早的毒区注入器样本,编译时间为2007年8月;最早的毒区情报收集器,其编译时间为2008年11月。 拉伊乌确信,在制作震网时,攻击者用火焰充当了震网的“助推器”,而后,又将火焰用到了毒区的开发平台上。他的证据是,震网2009年版本中那个包含Autorun攻击代码和“壁纸漏洞利用程序”的“207号样本”,与火焰主模块的一个早期版本非常相似。由此推断,火焰在2007年已经成为一种可用的侦察工具,而当2009年,攻击方需要编写震网导弹部分时,火焰团队把“207号样本”代码段分享给了震网团队,帮助后者成功制成了震网的导弹部分。当时,震网的载荷部分已经制作就绪,只等导弹部分来配合“发射”了。拉伊乌说,“攻击者可能正面临着迅速推出震网的巨大压力,于是只好把火焰中已经成型的插件拿过来,用到了震网上。” 此后,震网和火焰分道扬镳。火焰团队不断强化其功能,把它打造成了一个大型侦察工具。到了2010年,震网团队打算上线新版本、发动新一轮攻击时,转向了先前用于制作毒区的“~D平台”。那么,他们为什么会转向毒区平台呢?据分析,震网2010年版本的导弹部分,需要用到多个零日漏洞利用程序和额外的传播机制,这些功能比上个版本复杂得多,需要编写更多代码。而“~D平台”的编码方式更简单,有更多小工具可用。这可能就是震网团队转向的原因。 先不论火焰在震网事件中到底扮演了何种角色,它自身的侦察行动在2012年5月8日这一天彻底曝光于世。卡巴斯基和赛门铁克两家公司几乎同时发布了“发现火焰病毒”的声明。消息传出后,攻击者迅速采取了应对措施。在第1条消息发布1小时内,所有与火焰有关的指挥控制服务器都停止了服务,这场长达5年的大规模侦察战役在取得巨大成就之后,瞬间中止了行动。攻击者反应之迅速,不仅让人怀疑,他们已经做好了行动暴露的准备,只等消息公布了。 现在,火焰之舞烟消云散,绕梁余音却不绝于耳。火焰服务器关闭几天后,微软发布了一则声明,宣称在卡巴斯基和赛门铁克公司对火焰攻击研究成果的基础上,发现了一个更严重的情况。(待续) 这天是美国阵亡将士纪念日的假期,当火焰病毒曝光的新闻出现时,位于华盛顿州雷德蒙德的微软公司总部根本没几个人上班。不过,公司应急响应团队一听说这场新攻击与震网和毒区来自同一批攻击者,立刻下载了火焰病毒的文件样本。他们想知道,这场新的攻击有没有像震网和毒区那样利用了Windows系统的零日漏洞。当他们仔细分析其中一个文件时,他们意识到,他们看到的,是比零日漏洞更为恐怖的东西——火焰攻击了微软的Windows自动更新系统,以实现其在局域网内传播的目的。 Windows自动更新系统,是微软用于向广大用户分发软件更新包和安全补丁的自动推送系统。要获得更新,需要用户计算机上的一个客户端工具与微软更新服务器进行联系,在可用更新出现时进行下载。 多年来,网络安全业界曾多次警告微软,要小心黑客攻击Windows自动更新系统,并用更新机制传播[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),从而威胁亿万微软用户的安全。虽然火焰的攻击没完全实现警告中的预言,但形势同样凶险。它并未攻击微软向全体用户分发更新的Windows服务器,而是攻击了用户计算机上的“自动更新客户端工具”。这两者貌似区别不大,但这个区别非常重要。如果火焰攻击的对象是前者,就会在全球范围内造成广泛影响。但火焰采取的这种攻击方式意味着,它只会影响攻击者选定的那些小型目标网络,而不会危及目标网络以外的用户。 像Windows系统中的其他软件一样,微软也会对它的“自动更新客户端工具”进行更新。每当客户端工具成功安装到用户计算机上,都会立即向微软的服务器发送一个信标,看有没有新版本可供下载。微软则会通过一系列.CAB文件分发这些更新,并签上了微软公司的数字证书,以证明其合法性。 攻击者首先使用火焰病毒感染目标网络中的一台计算机,然后,当网络中其他计算机向微软服务器发送信标、检查客户端工具新版本时,已感染火焰的计算机就会对这个信标实施拦截,并将火焰的恶意文件打包为合法的微软.CAB文件,作为客户端工具的新版本发送给提出请求的计算机,从而实现火焰的传播。不过,这还不是攻击中最复杂的部分。为实现传播,攻击者为打包成.CAB文件的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")签上了微软公司的数字证书,只不过把证书中的“公司名称”由“Microsoft Corporation”改成了“MS”。微软研究员很快注意到了这个细节。这个假冒数字证书由微软终端服务数字证书认证机构(Microsoft’s Terminal Services Licensing Certificate Authority)于2010年2月签发,但很明显,这不是一个由正规认证机构签发的合法证书。难道微软的服务器遭到了攻击,或者是数字签名的密钥被盗了?研究员必须在其他人成功模仿火焰攻击者的行为出现之前,抓紧时间分析出攻击者盗用数字证书的方法。因此,他们立即给处于休假状态的同事们打电话,把他们召回公司,组建了一个专项应急团队。 经过分析发现,攻击者用了一种名为“MD5哈希碰撞”的方式破解了微软数字证书。MD5哈希值是通过一种名为“MD5”的加密算法对数据加密后生成的一个值。由于每个数据用MD5算法运行之后都能得到一个唯一的值,因此人们普遍将这个值当作数据的“指纹”。然而,MD5算法已出现多年,而且存在一个致命的弱点——其他人可以用不同的数据,运行同样的算法,生成同样的MD5哈希值。这个过程就是哈希碰撞。基于此原因,很多公司都停用了MD5加密算法。但微软自从1999年构建终端服务认证机制至今,始终在使用MD5加密算法。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c28e248.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_29.jpg) 哈希碰撞 终端服务认证(TS Licensing)是微软公司向用户提供的一个服务,用户可以在运行微软服务器版操作系统的计算机上使用这项服务。通过这项服务,用户可以让多个用户或多台计算机同时使用服务器端的软件。不过,用户需要向微软公司购买认证,比如购买100个用户的认证权限,然后向微软终端服务数字证书认证机构提交申请。该机构会生成一个标有用户姓名的数字证书,上面还附有签发时间戳和数字证书的序列号。 当微软发布该证书时,会将包括签发时间戳和证书序列号在内的所有数据,用MD5加密算法加密,生成一个哈希值,然后用这个哈希值作为数字证书的签名文件,将它们一并发给用户。这样,用户就可以使用这个数字证书来确保,只有经过认证的计算机或个人才能使用这个软件。但在火焰事件中,攻击者通过“哈希碰撞”,实现了“用与微软公司同样的哈希值,为它们伪造的数字证书以及伪造.CAB文件开路”的目的。 在攻击者向微软提交数字证书请求之前,它们制作了一个含有“微软真实证书应有内容”信息的虚假证书,并进行了一些细微的改动。经过反复改动和调试,终于得出了与微软某个数字证书相同的MD5哈希值。这说起来容易,但可不是谁都能做到的。在这个过程中,必须要用MD5算法对虚假证书数据进行成千上万次加密运算和修改,才可能得到一个与微软真实证书完全一致的哈希值。这对计算机的运算能力要求非常高。同时,要做到这一点,攻击者还需要对“微软为数字证书安排序列号的规则”和“微软认证服务器签发证书的精确时间”了如指掌,因为,这些数据要和微软证书一并作为运行MD5加密算法的明文。如果在签发时间上出现了毫秒级的偏差,两个哈希值就会不一致,攻击者通过“碰撞攻击”得到的哈希值就无法成功还原成虚假证书。也就是说,在发动攻击之前,攻击者必须对微软终端服务认证机制进行全面的研究,并对多个(可能上百个)微软数字证书进行测试,最终才能得到正确的签发时间和序列号。 然后,攻击者用同样的哈希值还原出虚假证书,再用假证书让系统认为“内藏火焰文件的.CAB文件就是更新客户端工具的新版安装包”。由于哈希值是真的,系统根本无从辨别。 这段针对Windows更新机制的攻击,可以称得上是一项具有开创意义的数学研究成果,其水准之高,只有世界级密码专家才能企及。卡巴斯基的研究员听说此事后,将其称为“上帝制作的漏洞利用程序”,因为它超越了一般黑客的技术层次,其传播效果也大大优越于利用零日漏洞编写的恶意程序。如果攻击者更进一步,直接攻破Windows更新补丁服务器,那就真可谓登峰造极了。 微软的研究员起初估计,其他有实力的黑客要想掌握微软证书认证和更新系统中的漏洞,并模仿火焰发动新攻击、传播新病毒,怎么也得用12天。但他们扮演模仿攻击者,一步一步实施攻击所需步骤并同步记录时间后发现,如果真的有人想跳过MD5碰撞的部分,发动一个没这么复杂的类似攻击,只需3天即可实现。 为防止类似攻击出现,微软方面争分夺秒,针对潜在攻击者可能利用的漏洞,紧急发布了一个临时补丁。作为应对最严重漏洞的后备手段,此前,微软仅在2011年发布过一个临时补丁。这也充分表明,对于火焰对自动更新系统发动的攻击,微软上下高度重视,如临大敌。 之前,毒区和震网的攻击者已经撼动了因特网赖以生存的可信体制的基石。先是盗取了几家台湾公司的数字证书,用在震网的假驱动上;后是直接把毒区潜入数字证书认证机构内,并大肆盗取数据。不过,火焰中的这个漏洞利用程序比前两者走得更远。它凭借一己之力,动摇了世界上最大的软件生产商和它亿万用户之间的信任。假设美国政府是火焰的幕后操盘者,那么,在实施攻击之前,他们是如何说明其行动的合法性,并得到法律批准的呢?很可能是这样的:他们声称,火焰攻击的对象只是目标网络中的Windows个人用户,而非真正的微软公司服务器,因而不会给所有微软用户带来风险。通过这种方式,他们可以只对少量外国目标“开枪”,而不会伤及国内用户。 然而,虽然攻击者没有直接攻击微软服务器,但仍然对广大微软用户造成了不可挽回的伤害。攻击更新客户端工具的行为,已经破坏了用户对微软自动更新服务体系的信任,并会促使用户放弃使用这个工具,以免收到对系统安全造成危害的(虚假)更新包。 那么,谁应该为破坏微软公司与用户之间的信任负责呢?在火焰曝光的新闻发布3周后,几位前美国政府官员发声了。他们告诉《华盛顿邮报》,火焰是国家安全局、中情局和以色列军方发起的联合作战行动。 这几位匿名人士指出,正如卡巴斯基的拉伊乌团队所推断,火焰的研发工作始于2007年的某个时点。它的目的是收集与伊朗官员有关,以及有助于掌握伊朗核设施中计算机网络拓扑结构的情报。他们还说,火焰只是一个早期的侦察工具,之后被其他工具取代了。 “火焰的出现,是为了给另一个秘密作战行动探路。”另一名前任美国情报官员说,对伊朗核设施的网络侦察“不过是顺手牵羊而已。”他说的“另一个秘密行动”,可能是指“国家安全局使用某种预埋后门,通过无线电波回传目标计算机数据”的网络侦察行动。(见第17章) 值得一提的是,他们还揭秘了当年早些时候发生在伊朗的“清除者”攻击事件。他们告诉报社记者说,不小心牵出火焰的那次针对伊朗石油部的攻击也是政府部门的杰作。但是,与震网和火焰不同的是,“清除者”攻击不是由美以两国联合发起,而是以色列单独实施的。他还说,就是因为这场攻击(被发现),才让美国方面猝不及防。(待续) 在处于地下状态多年后,具有国家背景的网络攻击一个接一个的遭到曝光。不过,曝光还没结束。很快,卡巴斯基的研究员发现,仍有来自同一批攻击者的更多恶意程序在外潜行。 原来,在成功访问几台火焰用过的指挥控制服务器后,他们再次取得重大进展。他们发现,在火焰曝光新闻发布10天前,攻击者发起了一场大规模的战场清理行动,抹去了他们之前在服务器上的所有行踪。这说明攻击者当时已经得到了“行动即将暴露”的预警消息。但是,他们在清理中犯了一个错误,把一台马来西亚的服务器漏掉了。因为,在清理行动几周前,攻击者不小心更改了服务器的配置,不经意间把自己锁在了外面。结果,等他们想清理数据时,发现自己已经进不去了,这才让卡巴斯基发了一笔横财。 除了大部分数据之外,完好无损保留下来的,还有攻击者用于向染毒计算机发送火焰模块、回传盗取数据的控制面板。这个控制面板被设计成一个名为“今日新闻”的商业信息发布平台,以蒙蔽进入服务器的外部访客,让其误以为是某家报纸或媒体公司的网站。攻击者把用于安装在目标计算机上恶意程序保存在名为“新闻”和“广告”的文件夹中,把从目标计算机上盗取的数据和文件保存在名为“记录”的文件夹中。 卡巴斯基研究员还在服务器上发现了用于记录“每台与其通信的染毒计算机IP地址”的日志文件。虽然服务器建立的时间并不长,但在从3月25日上线开始的10天之内,共有来自数十个国家的5377台染毒计算机跟它进行过通信联络。其中,3272台位于伊朗,1280台位于苏丹,只有不到100台来自其他国家。 拉伊乌团队意识到,火焰共有80台服务器,如果1台服务器在短短10天之内就与5000多台染毒计算机建立了通信联络,那从火焰上线的2007年或2008年起算,染毒计算机总数将高达数万台。这比之前测算的规模可大多了。他们还在马来西亚的服务器上发现了一个装满盗取数据的文件,其大小为5.7G。拉伊乌推算,如果这么多数据都是在10天之内盗取的,那么在过去5年多来,火焰盗取的数据总量将多达数T。 但在震网留下的另一个证据显示,与马来西亚这台服务器之间进行通信的,不是一种恶意程序,而是4种。这推翻了拉伊乌的假设。按照制作时间的先后顺序,它们依次被命名为SP、SPE、FL和IP。每种恶意程序与服务器之间的通信协议各不相同,都是攻击者分别定制的。 经分析,FL指的是火焰(Flame),但尚不清楚另外3种指的是什么。卡巴斯基的研究员之前见过的只有SPE,另外两种则从未露过面。当时,他们利用截取通往火焰服务器数据的槽洞发现,位于黎巴嫩、伊朗和法国的约90台计算机感染了SPE,并用其特有的通信协议与槽洞间进行了数千次通信。但是,当时他们没能得到SPE的样本,因此并不知道它的功能是什么。 这些发现之所以像震网、毒区和火焰曝光一样令人震惊,倒不是因为其攻击的手段和技巧,而是带给人们一种这样的印象:在美国和以色列开发的网络武器库中,震网、毒区和火焰只是冰山一角。 事实正是如此。在火焰曝光几周后,卡巴斯基偶然之间又发现了一种已潜藏数年的间谍工具,而且,疑似具有国家背景。 每当拉伊乌团队发现关于震网、火焰或毒区中的新文件或新信息,他们都会将相关的特征码加入公司的反病毒分析系统,并调整搜索公司[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")档案库的关键字,以查找新发现文件的不同版本。一次,他们从自动报告系统中发现了一个来自某中东地区用户计算机的恶意文件。这个文件在系统中被标示为“火焰病毒模块文件”,同时被注明“与火焰服务器进行通信”。但是,经过比对,卡巴斯基发现它既非火焰,也非另外3种神秘的恶意程序——SP、SPE和IP。 他们将该文件的特征码加入了公司反病毒引擎,陆续发现了来自25个国家约2500个染毒计算机。其中,来自黎巴嫩的最多,超过1600个,以色列482个,巴勒斯坦地区261个,美国40个,来自伊朗的只有1个。 接下来是逆向工程和代码分析。他们发现,它在库文件、算法和基础代码方面与火焰有许多相同点,难怪自动报告系统把它标示为“火焰”呢。代码中还留下了一些项目数据(project data)及存储路径。这些路径表明,在攻击者用于开发的计算机上,这些文件存储在一个名为“火焰喷射器”(Flamer)的文件夹中。 卡巴斯基的研究员根据它某一主模块的名称,将它命名为“高斯”。他们猜测,这个名字似乎是在向著名数学家弗里德里希·高斯(Johann Carl Friedrich Gauss)致敬。还有其他模块是以数学家拉格朗日(Joseph-Louis Lagrange)和密码学家哥德尔(Kurt Gödel)命名的。很快,研究员的猜测得到了证实。因为,攻击的载荷部分中使用的加密机制非常繁复而难懂,必定出自高人之手。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c2a0578.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-613.jpg) 著名数学家弗里德里希·高斯 和火焰一样,这个神秘的新恶意程序也是用来侦察的,但它功能清晰、相对独立,体量也远远小于火焰。它的主要功能包括盗取系统密码,记录配置数据,收集社交网络、电子邮件以及即时通信账户的用户名密码。此外,它还有一个模块使用了震网中出现过的.LNK漏洞利用程序,功能是感染U盘。 此外,研究员在高斯的代码中还发现了一种专门盗取银行账户账号密码的木马程序。这种木马,在具有国家背景的网络武器中还是首次露面。不过,这可不是普通的银行卡盗号木马,它的目标很明确,就是贝鲁特银行、EBLF、BlomBank、FransaBank和Credit Libanais这几家黎巴嫩大银行的客户。而且,它对账户中的金钱毫无兴趣,而是另有所图。原来,攻击者怀疑,这些银行为伊朗核计划相关业务和伊朗人撑腰的黎巴嫩真主党(Hezbollah)洗钱,所以用网络侦察工具对这些银行的目标账户余额和交易明细进行监控,以明确这些账户之间的关系,并追踪资金流向。 高斯的代码中,有两个问题难住了卡巴斯基的研究员。第一个问题是,高斯会在染毒计算机上安装一种名为“帕利达窄体”(Palida Narrow)的定制版字体。和毒区中的“德克斯特标准体”一样,帕利达窄体也是攻击者凭空编造的。不同的是,后者的文件中并没有任何漏洞利用程序和[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。实际上,研究员根本看不出来它有什么功能,所以搞不清楚攻击者为什么要安装这样一个东西。 第二个问题更加难解。研究者在部分染毒计算机上发现了高斯的载荷,但不知攻击者对它使用了何种加密算法,怎么也无法穿透它坚硬的外壳。 与采取“感染即释放载荷、满足配置条件执行载荷”机制的震网不同,高斯只会把载荷释放到满足特定配置条件的计算机上。看来,这一次攻击者吸取了震网曝光的教训。攻击者通过控制释放载荷目标的数量,就可以最大限度的减少被人发现的机会。 高斯传播弹头的方式是,通过U盘秘密“转移”。而且,它很有节制,只会感染第一个插在染毒计算机上的U盘。当这个被感染的U盘被插入另一台计算机时,高斯会检查这台计算机的配置信息,如果满足条件,才会释放载荷。同时,它会把感染过的每台计算机的配置信息记录下来,并存储在U盘的一个隐藏文件中。如果U盘正好被插入一台感染了高斯的联网计算机,就会立即将这个隐藏文件发送到攻击者的指挥控制服务器。借助这种手段,攻击者可以掌握高斯的最新战果。(待续) 为了预防载荷暴露,攻击者还采取了另一种保护措施。我们知道,震网载荷的解密密钥是放在恶意文件内部的。而要想解密出高斯的弹头,必须根据目标计算机配置数据,动态生成解密密钥。 为同时确保“不会误感染非目标计算机”和“即使发现也无法暴力破解”这两个目标,攻击者精心设计了非常变态的密钥生成机制。首先,高斯会收集目标计算机的特定配置数据,包括某些目录、程序文件夹和其他本地数据,然后将它们的文件(夹)名跟“Windows Program Files文件夹中每个子文件夹名”一个接一个的连接起来,生成一个很长的字符串。之后,高斯会让字符串与一个特殊的值相加,然后用MD5哈希算法运行10000轮,每一轮的结果作为下一轮的初值。只有最终生成的哈希值与预定的目标值相等,高斯才会执行下一步动作。 算出满足条件的终值后,高斯仍然不会立即释放载荷,而会把它与另一个值相加,然后把相加结果作为初始值再次进行10000轮哈希运算。这样得到的运算结果,才是解密弹头的密钥。解密完成后,高斯会用同样的配置数据生成同样的长字符串,令其与另一个特殊值相加,通过运算生成第二部分代码的解密密钥,然后再次重复这一动作,生成代码第三部分代码的解密密钥。 要想在攻击行动中实现全程可控、万无一失,如此行事方为王道。与高斯相比,震网的载荷在反破解方面实在是不堪一击,研究者轻轻松松就完成了解密,并判断出了它的功能。而高斯载荷所具有的变态加密机制,相当于给弹头装了一层金钟罩,谁都无法将其破解。 实际上,尽管卡巴斯基曾对解密密钥中的配置信息实施数百万次暴力配对,但仍然没能算出正确的密钥。他们肯定会想,为什么攻击者会费这么大劲保护高斯的载荷呢?要知道,高斯用来入侵银行和金融网络的木马可不是什么善类,所以,不能排除它在除了监控资金流动之外,可能还有着像震网、清除者那样的破坏力,或其他的敏感功能。 研究员们面对高斯的加密载荷无计可施,只好停下了破解高斯的步伐。但在分析的过程中,他们幸运的发现了另一个恶意程序——SPE的样本。 SPE是与火焰指挥控制服务器通信的4种恶意程序之一,且曾在几个月前与他们建立的火焰槽洞进行过联系。他们发现,SPE是一个独立的模块,但并非一个完整的攻击体系,既可以单独使用,也可以与火焰或高斯协同行动,以加强其侦察能力。由于SPE是卡巴斯基团队发现的“高斯和火焰之间的直接连接点”,因此将其命名为“迷你火焰”。以前,他们曾认为高斯和火焰是由同一批攻击者分别发起的两场各自独立的攻击行动,但迷你火焰的出现推翻了这个假设。紧接着,卡巴斯基甚至在一台黎巴嫩的计算机上同时发现了这3种恶意程序:火焰、高斯和迷你火焰。 火焰可以在染毒计算机上建立后门,并负责收集情报数据,使攻击者能远程检测其配置信息、并掌握目标在其所处网络中的位置。据估计,攻击者可能会先使用火焰或高斯对目标实施感染,收集其基本情况数据并判断其价值。如果发现确有需要实施“直接控制、清除特定数据或进一步网络探测”等行动的高价值目标,攻击者才会将迷你火焰安装到目标上。而当迷你火焰进入目标之后,攻击者就会通过指挥控制服务器向目标发送一个模块,用它清除之前使用的火焰等侦察工具,从而尽可能消除行动的痕迹。 卡巴斯基发现,感染迷你火焰的计算机一共只有50台左右,主要位于以伊朗为首的中东地区,在立陶宛和美国也有分布。在染毒计算机上,他们共发现了创建于2010年10月至2011年9月间的6个变种。但是,根据模拟火焰与指挥控制服务器间通信协议的创建时间推测,第一个迷你火焰可能与震网、毒区和火焰共同创建于2007年。奇怪的是,在2012年夏天一段长达4个月的时期内,迷你火焰共与卡巴斯基的槽洞进行了14000次通信,但在6月4日至7日这4天当中,它们之间连1次通信都没发生,这让卡巴斯基的研究员感到不可理解。 随着最后一个模块的曝光,一系列具有国家背景的网络武器库全部大白于天下,卡巴斯基的研究员们总算可以喘口气了。因为,拉伊乌团队已经得出了非常详尽的研究结论,研究人员完全可以把精力转向其他工作了。 正当他们一项接一项的发布研究成果时,业内却出现了怀疑的声音:卡巴斯基这么不务正业,到底有什么动机?就像赛门铁克之前曾因“曝光震网是对美国的不忠,伤害了美国的国家利益”而饱受指责一样,有人怀疑,位于莫斯科的卡巴斯基实验室在俄罗斯情报部门的授意之下,有意曝光并破坏西方的网络侦察行动。 然而,拉伊乌说,他们所从事的一切研究活动,从未受到任何政府或情报部门的影响或指导。他们认为,团队的所作所为没有任何政治考量,和赛门铁克的研究员一样,他们唯一的目标就是运用自己逆向工程的技能,为保护客户安全提供服务,并为整个计算机行业提供安全保障。而且,实际上,他们用来曝光“震网-火焰团伙”的研究活动,是与公司自身的商业利益相悖的。当时,卡巴斯基实验室正在大力开拓美国市场,公司创始人尤金·卡巴斯基则为之整日奔波,以求在华盛顿和以色列广结善缘。想要讨好美以两国政府的尤金,想必也是心存块垒。他在外面屈尊跪舔,研究员们却在家里揭人老底。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1c3475de.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_30.jpg) 尤金·卡巴斯基 影响他们工作的,还不仅仅是公司的商业利益。之前赛门铁克的研究员在分析震网的过程中,有可能曾经受到以色列、美国甚至伊朗情报部门的秘密监视,只不过没抓到确凿证据而已。而拉伊乌非常确定,2012年春天,他在慕尼黑的一个研讨会上遭到了跟踪。那时,他们刚刚发现火焰,但尚未公开发布消息。拉伊乌注意到,当他在慕尼黑某酒店登记入住时,有个人在前台鬼鬼祟祟,好像是要偷窥他的房间号码。之后,他又在去洗手间途中和回宾馆房间途中,两次发现有人尾随。当他跟同事们谈到这件事的时候,同事们说他们也有同样的经历。他怀疑,跟踪他们的人是外国情报部门的特务,却又无从考证。再之后,有3个以色列人来找过他了解关于毒区的事情,还有1位女士专门来问他,卡巴斯基能不能把硬盘上被删除的文件恢复出来。后面这个问题的确有点令人担忧,因为卡巴斯基正在努力复原之前被“清除者”病毒删掉、来自伊朗石油部的文件。 另一个残酷的现实是,震网的出现,改变了以病毒查杀为核心的网络安全行业的生态环境。以前,研究人员在曝光[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")时,面对的唯一风险就是,他们可能会遭到愤怒的网络犯罪分子的报复,并因此丢掉饭碗。但曝光具有国家背景的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),则会给他们带来更大的隐忧。拉伊乌决定,为了他刚组建不久的家庭,不能再像以往那样高调了。慕尼黑跟踪事件后,他表示不再参与公开披露国家背景恶意程序的媒体事务,把相关职责转给了其他同事。 不久之后,卡巴斯基的研究员有意识的将注意力从“震网-毒区-火焰”项目转向了另一个事件。有人认为,这个事件具有俄罗斯官方背景。这场被称为“红色十月”的网络攻击,主要目标是东欧和中亚地区国家的外交部门、政府和研究机构,主要目的是收集敏感文档和地缘政治情报。但拉伊乌和同事们怀疑,这更可能是俄罗斯网络犯罪分子或“间谍个体户”为谋取商业利益而盗取情报的行为,而非由俄罗斯官方策动。 表面上,经过这个事件,卡巴斯基团队一劳永逸的迈过了“震网团伙”这道坎,别人也不会再为此事为难他们了。但这并不意味着所有人都不再关注震网。接下来的事实证明,震网的故事还有续篇,而且不乏精彩。(待续) 2012年11月,震网曝光距今已过两年有余,毒区和火焰也已经是陈年旧事。突然有一天,赛门铁克研究员偶然间发现了一个他们曾经朝思暮想却未能得见的线索——出现在震网已知版本之前的一个早期版本文件。 赛门铁克公司有一个“定期整理[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")档案库以查漏补缺”的传统。这一次,就在他们用震网特征码进行搜索,看有没有和它匹配的目标时,一个从未见过的代码片段弹了出来。自从有人于2007年11月15日上报给VirusTotal之后,它就一直静静的呆在那里。这个证据充分表明,震网第一次发动攻击的时间,要早于赛门铁克之前的判断。如前所述,他们一直在怀疑震网存在其他版本,因为他们于2009年和2010年发现的3个样本的版本号分别是1.001、1.100和1.101。他们当时就猜测,可能存在一个在这3个版本之前的早期版本。现在,他们终于找到了——它就是震网0.5版。 然而,他们找到与之相关的更多文件后,发现这并不是震网的某一个版本,而是一个含有完整“417攻击代码”的震网部件,而且毫发无损、功能完备。 两年前,他们在尝试解开震网攻击西门子S7-417型PLC之谜时,以失败告终。因为在震网的后续版本中,417攻击代码既不完整、又不管用。当时,赛门铁克的尼古拉斯·法里尔认为,攻击者可能是因为等待某个来自目标的关键配置情报,而无法赋予它正常的攻击能力。现如今真相大白,原来,417攻击代码早已编写就绪,只是攻击者改变了攻击策略而已。对比发现,震网后续版本中同时包含315攻击代码和被剥夺功能的417攻击代码,而新发现的版本中只有417攻击代码,完全没有315攻击代码存在的迹象。由此可知,一开始,攻击者瞄准的是纳坦兹的417型PLC,后来不知什么原因——也许是攻击者没能达到预期目的,也许是攻击起效耗时过长——他们重新调整了策略,把攻击的枪口转向了315型PLC。 现在,赛门铁克团队——除了以及跳槽去谷歌的法里尔——如愿拿到了震网的早期版本,终于可以确定417型PLC到底是什么角色了。经分析发现,这个版本的最终攻击目标是用于控制六氟化铀气体出入纳坦兹离心机和级联系统的阀门。整个攻击计划可能是这样的:攻击代码通过反复开关阀门,将离心机内部的压力增大到正常水平的5倍。在这个压力水平上,气体会开始凝聚,破坏铀浓缩进程,使得正在高速旋转的离心机突然间失去平衡,倒向旁边的离心机。但实际中,这个计划可能没有如期取得良好成效,因此,2009年他们决定改变策略,转而攻击能够更直接破坏离心机的组件——变频器。 震网0.5版没有设定自毁日期,本应在后续版本上线后继续存在,但研究员却从未在2010年发现的、感染震网后续版本的计算机上发现过它的踪迹。据分析,它可能是被攻击者清除了。震网后续版本进入计算机之后的第一件事,就是寻找早期版本并将其替换掉。因此,当2009年6月版震网上线后,震网0.5版就销声匿迹了。 震网0.5版没被发现,可能还有一个原因。与后续版本相比,攻击者对它的控制更严格,只会感染少量目标。由于它没有使用零日漏洞利用程序进行传播,因此可行的传播方式只有一种,就是感染西门子Step 7的项目文件。由于这些项目文件是开发人员在为西门子S7系列PLC编程时共享使用的,因此是将震网攻击载荷送往目标PLC的理想载体。进一步推测,既然它只能通过Step 7项目文件进行传播,那么攻击者一定有通往纳坦兹核心系统的内部门道。这一点,也是震网0.5版没被人发现的一个重要原因。因此,震网0.5版的“首位感染者”可能是某个开发人员的计算机。而到了上线后续版本时,他们可能已经丢失了这个通往纳坦兹内部的直接入口,只好通过加大震网传播力度的手段,增加抵达最终目标的概率。不幸的是,新的策略无法首尾兼顾,一来震网强大的传播能力让染毒计算机数量暴涨,二来“首位感染者”位于纳坦兹之外的多家公司,这使得震网的后续版本最终遭到了曝光。 震网0.5版一旦上线,即可完全自主实施攻击,攻击者无须对其施加控制。但如果它发现自己所在的计算机接入互联网,就会主动与4个指挥控制服务器中的其中一个进行联系,并根据需要接受攻击者发送的代码升级包。攻击者为它设定的联络终止日期是2009年1月11日,而那时攻击者已经为下一场攻击做好了准备。5个月后,2009年6月版震网上线,其中的驱动文件编译日期为2009年1月1日。 赛门铁克研究员发现,震网0.5版提交至VirusTotal的时间是2007年,而且有些更早的日期也与之相关,那么,有必要对攻击者设计震网的起始时间进行重新估算。经分析,震网的前期工作可能开始于2005年11月,用于震网0.5版的指挥控制服务器的域名就是那时注册的。这些服务器中的代码,后来又被用到了2009年和2010年版震网相关的指挥控制服务器(the todaysfutbol.com和mypremierfutbol.com)上,其编译时间是2006年5月。那时,震网还没上线,布什的幕僚也才刚刚琢磨着给他献计,用于控制震网的指挥基础设施就已经搭建完毕了。很可能这些服务器起先是用于跟“火焰、毒区或其他服务于此次攻击的侦察工具”通信的,后来才用到了震网上。此外,这些较早的日期,还跟卡巴斯基研究员认定的火焰上线时点完全吻合。 与这些日期遥相呼应的,还有一些伊朗核计划政治斗争形势演化的关键时间节点。2005年8月,内贾德上任两个月后,伊朗核问题的国际谈判破裂,伊朗宣布退出之前签署的“暂停核活动协议”。3个月后,攻击者注册了用于震网0.5版的指挥控制服务器(的域名)。 从那时起,伊朗开始在试验工厂中安装离心机。到了2006年2月,服务器注册3个月后,伊朗在试验工厂的小型级联系统中进行了首次铀浓缩试车。但试车失败了,50台离心机发生了爆炸。这次爆炸有可能正是震网早期版本的作品。当时,伊朗当局将这起爆炸时间归咎于来自土耳其的UPS,宣称有人对UPS实施了暗中破坏,让它在工作过程中制造了突发电涌。 很快,伊朗从挫折中爬了起来。2006年5月,他们宣称,使用试验工厂中安装的完整版离心机级联系统,成功进行了铀浓缩试车,并得到了纯度3.5%的铀产品。同时,他们还制定了在一个地下车间中安装首批3000台离心机的雄伟计划。但直到2007年初,计划才开始实施。同年11月,3000台离心机安装完毕。同月,震网首次露面,有人将震网0.5版提交至VirusTotal。 随着震网早期版本浮出水面,研究员们终于可以跟这场石破天惊的网络攻击行动做个了断了。最后,他们亲手绘制了一直以来孜孜以求的“攻击全景图”。 他们之所以有机会南征北战,得胜而还,却又经历了如此漫长的等待,皆因为一系列本可能不会发生的意外事件和磕磕绊绊。这个过程,值得回味。从震网利用零日漏洞四处蔓延,到由于一台伊朗计算机反复重启而被发现;从白俄罗斯研究员道行浅,搞不定复杂的震网,到赛门铁克研究员费尽心机破解PLC攻击代码;从卡巴斯基从“清除者”中发现火焰,到在攻击者不慎遗落的马来西亚服务器上发现海量确凿证据。在发现和破解震网和其他工具的过程中,攻击方和破解方错进错出,谜底时隐时现,每一个故事都称得上是一段传奇。 此刻,卡巴斯基和赛门铁克蓦然回首,想到昨天的自己投身破解和分析“震网团队”系列武器的事业长达两年,不禁感叹:制作这些武器的技术水准和专业精神,的确令人高山仰止。同时,想到今天的自己如庖丁解牛般,这么快就彻底揭穿了潜行多年的网络攻击系列行动,心中五味杂陈。 攻击者早就料到,伊朗人凭自己的能力,根本不可能发现和破解他们的系列攻击。但他们没想到,全球网络安全行业群策群力,用众包的方法和群体的智慧,帮了伊朗人一个大忙。 震网的出现,从根本上改变了网络安全特别是网络攻防领域的格局。面对具有国家背景的网络武器,网络安全研究员和逆向工程师们在不知不觉中被征召参战,变成了抵御其攻击的志愿军。这种局面,让他们陷入了某种与道德正义和国家安全有关的困境:到底是该维护计算机用户的利益,还是充当情报机构和政府的帮手?震网的出现,不仅拉开了网络空间军事化的帷幕,而且开启了病毒研究政治化的进程。 2012年,震网风波过后,钱哥如是说,“对我们来说,这是一个新的‘好人还是坏人’的问题,让我们左右为难。”庆幸的是,他们所做的一切工作,完全没有受到任何政治上的干涉或阻力,他也希望,未来永远不会被迫面临“客户还是政府”的选择。当然,他心里明白,这恐怕只是一厢情愿。 “听起来可能有点虚伪,但我们的所作所为,都是为了帮助客户,这没有错。”他说,“如果我们真的到了必须在客户与政府之间做出选择的地步,那将必定是一个无法面对的心碎时刻。我不知道该怎么做,真的,我不知道。”(待续)
';

第十四章 震网的子孙

最后更新于:2022-04-01 21:17:20

2011年春天,震网的余波似已渐渐消散。赛门铁克确定,震网攻击的目标设备是某型号的变频器;奥尔布赖特确定,使用这些变频器的就是纳坦兹的离心机。虽然美国政府没有对此事正式表态,但《纽约时报》以长篇报道的形式印证了人们对“美以操盘震网”的怀疑。 对赛门铁克而言,它该尽的责任都尽到了。研究人员放下公司的业务,花了半年时间破解代码,还整理发布了一份涵盖他们所有发现的70页的档案。他们对此感到非常欣慰。然而,没过多久,欧洲又传出了新的消息——有证据表明,震网不过是攻击者用来攻击伊朗和其他目标的一系列武器之一。 布达佩斯技术和经济大学加密和系统安全实验室(CrySyS)的波尔蒂撒·本恰特(Boldizsár Bencsáth)一边咬着三明治,一边盯着计算机屏幕。他正在安装一款大型软件,为即将到来的2011年秋季学期做准备。这天是9月1日,夏末暖阳尚在,寒冷秋风未访,清朗的天空和适宜的温度令人心旷神怡。虽然手上有不少事情,本恰特的心情却是轻松加愉快。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b5a2242.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-227.jpg) 波尔蒂撒·本恰特 这天下午,本恰特正在实验室吃午饭,一个电话打了过来。来电话的是实验室咨询业务客户、某公司CEO乔斯卡·巴图斯(Jóska Bartos)。 “波迪(本恰特的昵称),你有没有时间帮我们个忙?”巴图斯问。 “什么情况?和咱们上次谈的业务有关系吗?”波迪想起了他们之前讨论过的一种新产品。 “不是那个事,”巴图斯说,“这样说吧,你现在能不能过来一趟?事关重大,千万别告诉别人啊。” 本恰特三口两口把饭吃完,跟同事打招呼说,“嘿,我有点急事,必须出去一趟。”听到同事问“你去哪儿啊”,他回了一句“别问了,我去去就回。”一边说,一边跑出了实验室。 到了公司一看,这里已经临时成立了一个应急小组,就等他来讨论问题了。巴图斯开门见山的说:“我们公司好像遭到黑客入侵了”。 他们在一个开发人员的计算机上发现了一个可疑文件,文件创建时间显示,它是在夜间没人工作的时候生成的。文件经过了加密和压缩,他们打不开。他们推测,这应该是攻击者从机器上拷贝下来,打算之后再取走的数据。经过对公司办公网络的进一步排查发现,还有几台机器也出现了类似的情况。应急小组确定他们遭到了黑客入侵,所以他们想让本恰特帮忙查查,黑客是怎么进来的、到底想干什么。虽然他们公司有一套比较全面的保护措施,包括防火墙、杀毒软件、入侵检测和防御系统,但还是没能挡住黑客的入侵。 本恰特只是一名计算机教师,之前没有做过[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")取证这类的工作。他是CrySys实验室的4名研究生导师之一,主要任务是为欧盟开展学术研究,偶尔也为其他客户做一些“咨询”业务,其实就是一些病毒查杀与清理、恢复系统正常运行的一般性技术工作。他从来没做过染毒目标分析,更别提对付仍在进行中的攻击了。因此,对于这个挑战,他感到有些紧张。而且,他还不能求助于同事。因为,该公司的运作非常依赖于客户的信任,一旦被客户发现其系统遭到黑客攻击,就会立刻面临客户流失的窘境。 应急小组先前提取了染毒硬盘的镜像,因此他们和本恰特先用一下午的时间对镜像进行了分析。到了晚上,他们发现了一个用于记录密码和键盘按键的恶意程序。它可以盗取文件、对屏幕截图,还可以对连接到计算机上的设备和系统进行编目,以勾勒出公司内网的拓扑结构。攻击者并不急于将盗取的数据直接传输出去,而是耐心的把数据以临时文件的形式储存在染毒计算机上。应急小组最初发现的,就是这样一个临时文件。每当恶意程序完成一轮数据收集后,文件的体积就会随之变大,直到达到某个临界点,攻击者才会将其传输至一台位于印度的指挥控制服务器上。 天色已晚。公司删除了镜像中敏感的客户数据,然后让本恰特把镜像文件和公司系统日志带了回去。接下来的几天里,本恰特单枪匹马,又发现了多个恶意文件。与此同时,公司的应急小组也没闲着,发现了3个可疑文件,其中包括一个内核模式驱动文件,和只感染了部分计算机的另一个驱动文件。 本恰特检查这个内核模式驱动文件时,不禁心跳加速——这个文件居然有一个合法的数字证书,证书显示由一家台湾公司签发。“台湾公司……等等,” 本恰特心想,震网中的驱动文件,盗用的也是台湾公司的数字证书。只不过,震网用的是瑞昱半导体公司的数字证书,而这个驱动用的是骅讯电子公司的数字证书。此外,此数字证书的签发时间为2008年8月,与震网首次入侵伊朗计算机的时间重合。 难道,这两者之间存在联系?他想了想,然后摇了摇头。任何人都可以盗取骅讯公司的签名密钥和数字证书,所以,这事未必是震网攻击者干的。 之后,应急小组中有个人注意到了另一个与震网驱动文件的相似之处,即注入染毒计算机进程的方式。他对本恰特说,“这种方式我只在其他地方见过一次。”毋庸赘言,本恰特已经知道,他说的就是震网。但本恰特认为,这种技术并非震网独有,这或许只是个巧合。 后面几天里,本恰特和应急小组又发现了两个与震网类似的技术特征。但每一次,他们仍然以巧合待之。他们心想,一道闪电不可能同时击中两样东西。而且,没有迹象表明,本次攻击的目标是PLC。 病毒发现一周后,本恰特想到,会不会还有其他人也感染了同种病毒,因此他决定偷偷的做个试验,看能不能把其他受害者或攻击方给引出来。9月8日,他在个人网站boldi.phishing.hu上贴出了[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的哈希值,并用一种神秘的口吻写道,“猜一猜,9749d38ae9b9ddd8ab50aad679ee87ec是什么意思?你懂的。”这个网站的域名phishing是计算机安全术语“钓鱼电邮”的双关语,但实际上却是一个汇集了各种鱼类食谱和罐装鱼烹饪评论的奇怪网站。把机密信息发在这样一个网站上,可谓绝妙。因为,正常用户根本看不懂是什么意思,只有当某人在Google上搜索这个哈希值时,才会在搜索结果中找到这个页面并访问它。而进行搜索的人,要么是相同病毒的受害者,希望在互联网上看到相关信息;要么是攻击的发起者,他们会想知道,有没有受害者发现了这个文件,有没有人在网络上讨论它。如果真的有人访问这个页面,网站的主人本恰特就能追踪到访客的IP地址。 可惜,几天过去,访问量仍然是零,于是他删掉了这个页面。 这时,秋季学期已经开始了,本恰特也陷入了各种繁杂的事务之中。他又要上课,又要带研究生,还得给杜布罗夫尼克(Dubrovnik,克罗地亚度假名城)的某个研讨会提交一篇论文。但不论他做什么,头脑中关于病毒入侵的影子总是挥之不去。他参加完研讨会返回布达佩斯后,立即和应急小组决定,把本次入侵中发现的驱动文件,跟震网中那个类似的驱动文件进行对比,看看两场攻击之间到底有没有内在联系。当他们把代码导入16进制编辑器,一行接一行检查后,一个个都惊掉了下巴。两个文件几乎完全一样,唯一的区别就是使用了不同的数字证书。 本恰特将情况向公司CEO巴图斯做了通报,并告诉他,需要CrySy实验室其他同事的协助。这已经不再是一个单纯的黑客攻击事件了,可能会牵涉到国家安全等问题。巴图斯同意了他的要求,但是他请求本恰特,不要对他人泄露公司的名称。除本恰特之外的唯一知情方,是当地政府辖内的计算机应急响应中心,而这也仅仅是因为,他们与该公司之间存在业务往来。 本恰特打算,过完这个周末就把这事告诉同事。在周末里,他找来了包括赛门铁克震网档案在内、他能找到的有关震网的所有技术文献,再次通读了一遍。当他读到震网用来隐藏代码的加密手段时,专门把它跟新发现的攻击进行了对比,结果,他发现两者极为相似。就连新发现攻击代码中使用的加密密钥,都和震网用的一模一样。 然后,他又仔细观察了新攻击代码中使用的6个内核级劫持函数(kernel hook,用于将攻击代码嵌入系统的特定函数),并将它们与其他已知攻击进行了对比。他发现,有些攻击的代码中具有2个或3个相同的劫持函数。他又查了一下震网的代码,结果,震网中恰恰使用了这6个完全相同的劫持函数。看到这里,本恰特确信,这两场攻击之间,定然有紧密的联系。 当然,这未必说明,两场攻击的代码是同一批人所写,只能说明新攻击的发起者以震网代码为框架和模板,创作了新的攻击。众所周知,震网成功破坏了伊朗的铀浓缩项目,那么,谁知道,这个新攻击的目标是什么?它已经感染了多少个系统?(待续) 本恰特立即把他的发现写成了一封电邮,发给了巴图斯。这段时间,他们一直处于一种比较轻松的工作状态中,有时间就分析一下代码,没时间就把它放着。但现在,他开始意识到,必须尽快查出攻击的目的,并把相关信息公诸于众,以便让更多的人参与进来。当年赛门铁克发布了震网的研究报告后,有人就在疑惑,为什么美国没有从中作梗,不让他们公开呢?而这一次,本恰特也有着类似的担心:一旦他公开研究结论,很可能会有人出来对他横加干涉。 周一,本恰特找来了他的两个同事莱文·布詹(Levente Buttyán)和戈博·派克(Gábor Pék),组建了一个3人团队。他们清楚,仅凭他们自己,还不具备深入分析这个复杂[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的能力。因为,他们没有分析[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的经验,就连用于逆向工程的调试工具都没怎么用过。但是,他们也明白,必须要做一些先期的分析工作,才能说服其他更有经验的研究者来关注它。在这个事件中,CrySyS实验室在计算机安全领域的地位有点类似VirusBlockAda公司,非得拿出一些过硬的证据,才能让别人相信,这场攻击与震网之间有紧密的联系,并着手开展进一步研究。 于是,他们确定了下一步工作的目标和时限:10天之内,尽量找到新攻击代码与震网代码之间的更多相似点。在工作的过程中,他们惊讶的发现,两者之间的相似之处比他们预想的还要多。10天之后,他们制作了一部60页的研究报告。经过商议,巴图斯同意本恰特向赛门铁克方面共享报告,条件是隐去实验室的名称。他担心,一旦公众看到CrySyS的名字,就会联想到受害者究竟是谁。 拿到这份报告的有,政府的计算机应急响应小组,赛门铁克的钱哥团队,一位在迈克菲(McAfee)公司工作的匈牙利籍研究员彼得·斯泽(Péter Szor),一位能帮助吊销[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")中数字证书的威瑞信(VeriSign)公司员工,还有一位微软公司的研究员。当本恰特亲手将一封封邮件发送出去时,心中不禁波澜起伏。“我非常激动,”他说,“我抛出了砖,却不知会引来怎样的玉。” 10月14日星期五早上,钱哥起床后,习惯性的打开手机查看收件箱,其中有一封邮件吸引了他的注意。邮件标题是“重要恶意程序”,带有一个附件。发件人是匈牙利某个不知名实验室的两名计算机科学家。邮件中,他们用生硬的英文写道,发现了一场与震网“高度相似”的新攻击。他们将它称为“毒区”,因为染毒计算机上的临时文件都以“~DQ”为文件名起始字符。此外,他们还将它称为“开启了震网故事的新篇章。” “由于缺乏处置类似事件的经验,我们无法判断下一步该采取何种行动,”他们写道,“我们希望和包括贵方在内的其他专家开展合作。我们将提供恶意代码的样本,并愿意参与进一步的研究分析工作。” 钱哥把这封邮件转发至公司事件应急小组的其他成员,并单独给莫楚发了一条阅读提醒。随后,他怀着谨慎而激动的心情,把邮件递交给管理层。 过去几年,钱哥多次收到关于发现新型震网病毒的误报,这让他提高了对类似邮件的警惕。作为在知名反病毒公司上班的安全专家,对于周围朋友和邻居们一遇到困难就向他求助,他已经习以为常了。但在他带领团队破解震网病毒的工作公开后,出现了新的情况:偶尔会有一些陌生人跟他联系,告诉他,政府正在用震网之类的恶意程序监视他们。一次,有个家伙给他寄来了一封信,里面有50页的屏幕截图和网络流量日志的打印稿,还用黄色线条把重点标了出来。其中一页上,他在一个包含“en/us”字样的网址上画了一个圈,说这就是美国政府正在监视他的证据。还有更令人啼笑皆非的事。一位写烹饪书的女作家,曾用一种激进分子和犯罪分子用来隐去身份的匿名加密邮件工具Hushmail给钱哥发过几封邮件。看到他对此视而不见,她又找到了钱哥的电话号码,发短信提醒他。据她所言,她确信,有人正在用类似震网的病毒对她进行监视。理由是,每次去图书馆、把自己的U盘插入图书馆的计算机后,过不了多久家里的计算机也会感染同样的病毒。 尽管钱哥对来来往往的错报、误报一笑置之,但却不会错过任何新消息。他打开这份来自匈牙利的报告读了两页,立即发现了它的价值。他非常肯定的说:“这绝对是震网的亲戚。” 虽然缺乏分析恶意代码的经验,尽管一再抱歉说“还有诸多问题尚待解决”,匈牙利科学家们仍然努力做出了一部令人眼前一亮的报告。报告中包括多组反编译后的代码段,向读者展示出毒区与震网的相似点,还制作了一个标示两场攻击间10多个相同点/相似点的详细列表。毒区中没有针对PLC的攻击代码,甚至在键盘记录器之外没有任何载荷代码。但是,震网创作者的特征在其中俯首皆是。毒区要么是与震网同出一门,要么是有人用与震网相同的源码和工具制作出来的。 钱哥迅速给本恰特发了一个回执,然后开始焦急的等待莫楚到来,心中五味杂陈。他们一直期盼着,有一天自己或其他人能找到解答震网遗留问题的更多线索。而毒区的发现,似乎正是他们所希望的。然而,当初他们夜以继日的干了几个月,才完成了震网的破解,这一次的恶意代码,会不会又是一块难啃的硬骨头呢? 莫楚看到钱哥发来的消息时还没完全睡醒,但当他打开附件、看到研究报告时,顿时睡意全无。跃然而出的网络武器,在短短的一瞬间,就驱散了他脑海中的雾霭。“我得去趟办公室,”他一边对女友说着话,一边披上衣服冲出家门。 一路上,他边开车边整理思绪。回想起刚才看到的报告,他有点不敢相信,震网幕后的团队仍在活跃。在媒体聚焦震网事件、曝光美以计划之后,攻击者应该会保持低调、暂避风头。至少,他们会改头换面,用一些新手段和新代码,以确保一旦被发现,也不会被追查到与震网同源。但从这份来自匈牙利的报告来看,他们根本没在改变代码特征方面花什么心思。这帮家伙真有种。只要是他们认准的事,就下狠手去做,根本不在乎有谁把他们识破。还有一种可能,就是他们已经在毒区代码上押上了重注,即便在震网遭曝光的情况下仍然不愿将它放弃。 莫楚赶到公司时,钱哥和同事们已经展开了对新攻击代码的讨论。他们还联系了已经从巴黎调到南加州分部的法里尔。然后,他们下载了匈牙利人发来的毒区源代码,再次开始“全天候”的分析破解工作。他们欣喜的发现,毒区的规模比震网小得多,内部仅由几个很容易破解的文件组成。一个周末过去,他们已经掌握了新攻击代码中的绝大部分功能细节。 本质上,毒区是一种远程访问木马(RAT),为攻击者提供一个可持续控守染毒计算机的后门。一旦后门成功安装,毒区就会与指挥控制服务器建立通路,以便让攻击者从服务器上下载击键记录器或其他恶意程序,进一步增加攻击代码的功能。 很明显,毒区的意图与意在破坏的震网不同。它只是一个间谍工具。如果说震网像一个用来摧毁敌人的冷血杀手,那么毒区就像一个前哨侦察兵,为后续的攻击行动提供情报支持。赛门铁克怀疑,毒区的侦察,是另一项类似震网的攻击的前奏。然而,毒区的生存期受到了严格的限定,它将在感染成功的36天后进行自毁,擦除在染毒计算机上的所有痕迹。(待续) 这些都很容易理解,但当继续深入毒区代码时,他们发现了另一个线索。它似乎与另一场已经困扰他们几个月的攻击之间有所联系。6个月前,伊朗官员宣称,他们的计算机遭到了来自跟随震网而来的第二次攻击。这时,距离他们首次承认“用于控制离心机的计算机遭到网络攻击”已经过去了几个月。上一次,他们没有给攻击离心机的病毒命名,但这一次他们给病毒起了一个好听的名字:“星辰”(Stars)。伊朗民防部长吴拉姆-雷萨·贾拉利(Gholam-Reza Jalali)没有对命名做出解释,也没有提供有关攻击的更多细节。他只是说,攻击的目标不是破坏,而是盗取数据。他还提到,[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")似乎“被误当作了来自政府的可执行文件”,这表明,[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")可能是攻击者将恶意文件假扮成来自政府的文件,并作为邮件附件以“钓鱼”的方式实施入侵的。 由于伊朗方面没有对外界提供[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的实例,赛门铁克和其他机构的研究者想分析也无从下手。同时,因为没有关于“星辰”的其他佐证,很多研究者决定忽略伊朗的报告。他们认为,这要么是伊朗人为了指责西方再次发动网络攻击而编造出来的故事,要么是夸大其词,把一种普通病毒说成了具有国家背景的攻击。 但是,他们在毒区中发现的一些细节暗示,它可能就是“星辰”。在毒区的攻击者将击键记录器推送至染毒计算机时,会将它嵌入一个.jpeg文件中,以躲避防火墙的过滤。由于原始图像中的大部分数据被删除、并替换成了击键记录器的代码,所以,莫楚代开这个图像时,屏幕上只能看到一小部分内容——黑色背景上的几个白色单词文本。文本只露出了上半部分,但仍可辨认:“互扰星系NGC 6745”。对其搜索所得结果显示,这张图像是哈勃天文望远镜在1996年3月拍摄而成。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b5c0d9f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_25.jpg) 这张令人震撼的图像上,一簇浓密的蓝色和白色恒星遮蔽在一层金黄色气状物之下,一大一小两个星系正在发生“碰撞”。有没有这种可能,毒区就是之前攻击伊朗的神秘病毒“星辰”呢?赛门铁克和CrySyS实验室认为,是这样的。 赛门铁克想把毒区的消息公开。发布前,公司的研究人员和本恰特对拟发布报告中的内容进行详细检查,消除了所有可能泄露受害者和CrySyS身份的蛛丝马迹。10月18日,赛门铁克团队发布了一版隐去CrySys实验室名称及其所做工作的报告。报告中,受害者是“欧洲某机构”,最先发现毒区的是“某个互联网领域的研究实验室”。 赛门铁克发布报告后仅1小时,本恰特就发现,有人在搜索他几周前放在个人网站上的病毒文件哈希值。原来,虽然他已经删除了这个页面,但是Google缓存中仍然存有这个页面。线上安全论坛上,也出现了关于这条被删消息的讨论。第二天,“一个奇怪的匈牙利鱼罐头网站居然与毒区有关”的消息一传十、十传百,本恰特平时无人问津的网站迎来了高达400次的访问量。尽管网站上没有本恰特个人的信息,但很快就有人通过域名注册信息查到了他的名字,又通过Google搜索查到了他的工作单位——CrySyS实验室。 这时,再想隐藏实验室的身份已经不现实了。于是,本恰特在实验室网站上发布了一则简短的声明,承认实验室在发现毒区的过程中发挥了重要作用,同时呼吁各方停止“人肉”受害者身份的行为。然而,这来得太晚了。关于“毒区的受害者是欧洲一家数字证书认证机构”的说法不胫而走。 原来,迈克菲公司研究员彼得·斯泽(Péter Szor)在收到本恰特的第一封邮件后,就发了一篇题为“王炸现身”的博客文章,声称毒区的目标是数字证书认证机构,并建议各家认证机构立即开展针对毒区的自查。而现在,大家已经知道CrySyS实验室是匈牙利的机构,那么不难猜测,受害者一定也来自匈牙利。而匈牙利的认证机构一共也没有几家,其中最大的两家,一家是NetLock,另一家是Microsec e-Szigno。然而,好事不出门,坏事传千里,很快,NetLock公司的几名研究员不慎走漏了风声,“受害者是NetLock”的消息传了出去。 这下子影响可大了。数字证书认证机构(CA)是互联网用户之间信任关系的核心。他们向政府、金融机构和各公司颁发数字证书,用于标记其软件和网站的可信性,以确保用户下载的程序是由微软等软件公司生产的合法软件,确保用户登录的网站是由美国银行或Gmail运营的合法业务。攻击CA意味着,攻击者可以以任何公司的名义颁发数字证书,包括给恶意程序“盖章”。与只是盗取了瑞昱、智微和骅讯3家公司数字证书的震网相比,这场攻击更进一步。 如果毒区是美国和以色列的杰作,那么这将意味着,仅仅为了实施这场秘密的网络攻击,北约国家及其盟友居然在“支撑在线交易的可信基础设施安全”方面做出了重大妥协。如果美国是这场攻击的发起者,这将意味着,一个政府部门大力宣扬关键安全基础设施重要性、推动制定可被各方接受的互联网行为准则,同时,另一个政府部门却在忙着入侵属于北约盟国、对互联网安全至关重要的关键安全系统,并给其他国家做出了错误的范例。要不是因为之前毒区的受害者没曝光,公众早就会对此大加鞭挞了。 放下这个细节不谈,毒区曝光后,安全业界给出了与震网曝光时截然不同的响应。当年,赛门铁克耗时数月破解震网载荷,其他研究团队只是袖手旁观,而如今毒区代码刚一露面,各路人马却蜂拥而至,纷纷开始分析研究。究其原因,一方面,毒区没有震网那么复杂,也没有针对PLC的载荷;另一方面,这一次所有人都明白了,不闻不问会有怎样的恶果。众多研究员自忖实力超群,却在震网开启新时代时错过了青史留名的绝好机会。 其中,有一家公司决心,这一次一定要做出点名堂来。它就是俄罗斯的卡巴斯基实验室。实际上,早在震网被发现时,卡巴斯基的研究员就参与了研究。他们在破解震网导弹部分代码方面完成了大量工作,并且作为首家发现其中全部零日漏洞的私营公司,将漏洞报给了微软。但是,除此之外,他们寸功未立。因为,他们没想到,震网竟然会如此特别、如此意义重大。客观来看,陌生的PLC代码成了进一步分析载荷的拦路虎,卡巴斯基最终判定,就算破解出PLC代码,也得不到什么有价值的结果。于是,他们在完成对导弹部分代码的分析后,没有继续深入。但这一次,他们不会再犯同样的错误了。 毒区曝光时,卡巴斯基全球研究团队负责人康斯丁·拉伊乌(Costin Raiu)正在北京候机,准备去香港参加一场会议。看到毒区的消息后,他的第一反应就是给莫斯科的同事们打电话。但是,由于时差关系,莫斯科还是深夜。于是,他赶在登机之前,迅速下载了赛门铁克提供的毒区文件,在飞行途中开始了分析。 一到香港,他立刻联系了身在莫斯科的年轻逆向工程高手、公司首席病毒分析师亚历山大·格斯特夫(Alexander Gostev)。尽管赛门铁克和CrySyS实验室已经对毒区文件进行了深入分析,但拉伊乌和格斯特夫猜测,其中可能仍有遗落的重要线索。事实证明,他们猜对了。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b5dbc3f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-134.jpg) 打开毒区的文件,他们马上意识到,这些代码必定出自高人之手。毒区的代码与他们经手过的一般间谍软件相比,简直是判若云泥。拉伊乌说,如果说前者是梵高的名画《星空》(Starry Night),后者就是一幅艺校学生的习作。在内行眼中,毒区的代码中充满了大师级的巧思和才气。(待续) 拉伊乌是一名在卡巴斯基工作的罗马尼亚人,年方33。他和另一名研究员,与一帮市场营销人员一起,在布加勒斯特一家规模很小的分公司上班。他浓密的头发黑白相间,眼神有一种与他年龄不相称的成熟和智慧。这让它在以年轻人为主的研究团队中脱颖而出,成为深孚众望的领袖。而且,他僧侣般冷静的举止,让他在同时面临多项棘手任务时,仍能很好的应对压力。在他带领团队深入探查震网和毒区幕后强大操盘者的几个月里,他的这些可贵品质得到了充分的发挥。他们的行动,甚至引起了外国情报机构的注意。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b6a5b2d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_27.jpg) 2000年,23岁的拉伊乌加入了仅有几十名员工的卡巴斯基公司。他一来,就被分配到了一个名为“布拉格计划”的下一代反病毒引擎研发项目组。 在社会主义国家罗马尼亚长大的拉伊乌,从小就对化学而非计算机特别着迷。他最喜欢观看某些化学成分混合在一起之后发生的燃烧反应,最喜欢学习用于揭示世界本质与结构的化学基础知识。但有一次,他在做实验时,险些烧掉家里的房子。于是,他的父母给他买了一台国产的山寨PC,希望把他的兴趣转移到不那么危险的方向。很快,他就自学掌握了编程技巧,并在十几岁时,从零开始设计了一个名为RAV的反病毒引擎。 他开发RAV的工作始于高中时期。一次,他们学校的网络遭到了病毒感染,但杀毒软件却检测不到。拉伊乌见状,熬了一个通宵,提取出病毒特征码,制作了专杀工具。随着时间的推移,他不断增加工具中的代码和病毒特征码,最终形成了一个相对成型的杀毒引擎。他为它取名为MSCAN,并免费分发给需要的人。消息传开后,一个罗马尼亚企业家找到了拉伊乌,邀请他加入他的GeCAD软件公司,并开始用RAV(Romanian Anti-Virus的缩写)为名销售他的程序。RAV很快成为公司的主打产品,并在一次又一次的测试中击败各路竞争对手,赢得了微软的关注。2003年,微软与GeCAD公司签订了RAV的采购合同,但此时,拉伊乌已经离开了公司,转投卡巴斯基。 当时,卡巴斯基实验室在美国还没什么名气,主导美国杀毒软件市场的是赛门铁克和迈克菲。作为一家俄罗斯公司,卡巴斯基在西方国家面临着不被信任的挑战。特别是公司创始人尤金•卡巴斯基(Eugene Kaspersky)曾在一个具有克格勃背景的研究机构受训,并在军事情报部门任职。但是,在东欧等地区,特别是在美国公司不被信任的中东地区,卡巴斯基逐渐积累起一定的声誉。 拉伊乌刚进入卡巴斯基时,干的是程序员的工作,之后于2004年进入公司新组建的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")调查与逆向工程团队。2010年,这个团队已经在全球各大洲设立了子团队,而拉伊乌则成为了团队的负责人。毒区曝光后,多个子团队都加入了研究分析毒区的行动。 团队的技术工作由格斯特夫牵头。格斯特夫是个清瘦的小伙子,有一头浅棕色的短发,还有点轻微的驼背,让人很容易联想到,这肯定是他长期弯腰盯着电脑而造成的。当他和同事们仔细检视代码时,发现其中有很多罕见的现象。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b72ff3c.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-135.jpg) 亚历山大·格斯特夫 一个特别有趣的部分,是攻击者用于“向染毒计算机发送盗取数据附加载荷”的功能组件。与毒区和震网所有其他部分代码不同的时,他用的编程语言不是C和C++,而是格斯特夫和拉伊乌从未见过的另一种语言。他们花了几周的时间查找资料、请教专家,却仍未找出答案。于是,他们发了一篇求助博客,并从回复内容的碎片信息中拼出了结论。原来,攻击者用的是C语言的一种变体,此外还对代码进行了特别的压缩处理,以减小体积。这种编程风格在10年前的商业软件中很常见,但对于现代的程序、尤其是恶意程序而言,可谓绝无仅有。显然,攻击者并非对前沿技术信手拈来的编程高手,而是谨慎保守的老派程序员。此外,拉伊乌推测,由于C++有时会在执行编译后,生成不可预测的代码,或出现不按既定方式执行的情况,因此攻击者为了确保对[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")进行更有效控制,最终选择了C语言,并在汇编过程中对代码进行了压缩,以增加代码密度、减轻传输负荷。 接下来,他们开始研究毒区的传播机制。在这方面,毒区与不受控制任意传播的震网相比,可谓大相径庭。看起来,毒区在传播过程中没有利用零日漏洞,也没有震网的自主传播功能。毒区的做法是,只有当某台染毒计算机收到攻击者从指挥控制服务器发来的指令时,才会向其他计算机传播病毒。而且,在与服务器之间通信方面,毒区采用的手段远比震网更加隐蔽。为了防止有人截获并读取通信数据,他们使用了一种强加密算法AES,并将[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")嵌入一个.JPEG图像文件中隐藏了起来。在感染规模方面,震网共感染了超过10万台计算机,而被发现感染毒区的计算机总共只有30多台。 虽然数量不多,但毒区的受害者分散在多个不同国家,目标包括军事机构和制造管道、阀门等工业设备生产商。所有目标的共同点是,他们生产的产品或提供的服务都具有重要的战略价值。如卡巴斯基所料,他们发现的很多目标都与伊朗有关。目标机构要么在伊朗设有办公室,要么与伊朗之间有贸易往来。目前为止,唯一一家与伊朗无关的受害者,就是首先发现毒区的匈牙利公司。 对多家受害机构日志文件的分析结果显示,攻击者对AutoCAD文件有独特的兴趣,特别是与伊朗工业设施中使用的控制系统有关的文件。AutoCAD是一款计算机辅助设计软件,可以用于绘制二维和三维建筑图纸、设计计算机面板和其他产品,还可以用于绘制计算机网络的拓扑结构图和厂房机器分布图。如果有人打算对工厂发动炸弹袭击,或用类似震网的数字武器实施攻击,这些文件定能派上用场。 攻击者在整个攻击过程中展现了很强的条理性。他们认真考虑了入侵目标的方式、编译用于攻击各目标的恶意文件的时机、以及指挥控制服务器的分布。他们在欧亚各地部署了多个服务器,以将每个服务器对应的染毒计算机数量控制在2-3台。这样做,既可以让他们同时跟踪多个不同目标,又可以确保万一外部人员闯入服务器时,也只能看到很有限的内容。实际上,这些服务器扮演的,是攻击者用于中转盗取数据的中间站,即“代理服务器”的角色。它们可以降低对外部人员全面暴露攻击行动的风险,并防止有人通过追溯被盗数据,查到攻击者的身份。比如,从匈牙利目标公司盗取的数据,首先会被发往一台位于印度的服务器,然后再通过菲律宾的服务器,中转至其他位置。而来自伊朗目标的数据,则会先发往越南的服务器,再转发至德国和其他位置。研究人员努力沿着这条路径追踪,但每次都会在追到3个代理服务器后走进死胡同。最后,他们判断,这是一场没有结果的战斗,于是放弃了跟踪。 不过,在这些服务器的宗主公司的帮助下,卡巴斯基拿到了包括越南境内用于控制伊朗方向目标的服务器在内,总共5台服务器的镜像文件。在赛门铁克发布毒区消息两天后的10月20日,卡巴斯基发现,攻击者实施了一次大规模战场清理行动,慌慌张张的擦除了服务器上的所有数据。但为什么他们花了两天才做出响应,原因不明。然而,正是这个时间差,使卡巴斯基有机会获得了这些日志文件,并以此为线索对毒区进行分析。这些日志显示,攻击者早在2009年11月就在德国建立了一个指挥控制服务器。这意味着,在匈牙利人发现毒区感染之前的两年前或更早,毒区的攻击活动就已经开始了。卡巴斯基研究员猜测,毒区可能比震网上线更早,而非更晚。他们相信,很快就能找到相关证据。(待续) 起初,谁也不知道毒区是怎样实现感染的。震网利用了一个.LNK零日漏洞,将U盘上的恶意文件植入目标计算机。但CrySyS实验室在巴图斯公司的染毒计算机上,没有发现病毒注入器,也没有发现零日漏洞。钱哥也意识到了这个问题。在赛门铁克发布毒区消息后,他请求本恰特再次对匈牙利目标公司的系统进行排查,看在8月11日毒区被发现前后,还有哪些可疑迹象。之后,钱哥得知,当时,NetLock公司曾收到一封附有Word附件的电邮。附件大小为700k,比公司平时所收邮件中的附件大得多。这引起了他们的高度重视。果然,当CrySyS实验室在测试机上打开这封邮件的附件后,毒区的恶意文件悄悄的跟了进来。 考虑到至今仍未发现实施感染的代码,CrySyS实验室怀疑其必定利用了零日漏洞。尔后,本恰特把这封带附件的邮件交给了钱哥。赛门铁克团队发现,它确实利用了Windows字体解析器(font-parsing engine)中的一个缓冲区溢出零日漏洞。字体解析器的功能是将某种字体在屏幕上显示出来。当Word文档中出现某种字体对应的代码时,解析器就会查阅对应文件,以确定字体的显示形态。但在毒区这里,当解析器要读取字体代码时,却会被攻击者利用缓冲区溢出漏洞将其劫持至他们的漏洞利用程序上。 一位研究员对这个漏洞利用程序的评价是“干得漂亮!”因为,一般情况下,利用缓冲区溢出漏洞的攻击者只能获得用户级访问权限,要想获得足以顺利加载[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的系统级访问权限,必须要同时找到并利用第二个漏洞。然而,毒区中的漏洞利用程序一步到位,突破了防护体系,进入系统内核,完成了“安装并运行[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")”的目标。要知道,能在内核级利用的缓冲区溢出漏洞极其稀有,在利用这种漏洞的同时又不引发系统崩溃则更加困难。但毒区的设计者却做的非常完美。毒区中漏洞利用程序的复杂度,要比震网中的.LNK漏洞利用程序高出几个数量级。2010年7月震网代码刚一曝光,就有网络犯罪分子学会了.LNK漏洞利用程序的运用技巧;而要想用好毒区中的漏洞利用程序,恐怕至少得花上几个月。 或许是想要戏弄一下受害者,除了这个漏洞利用程序之外,攻击者还在代码中放置了一些“彩蛋”。他们将用于执行攻击的伪造字体命名为“德克斯特正体”,并专门为它标注了版权信息:“Copyright © 2003 文娱时间(Showtime)公司.版权所有. 德克斯特正体.” 显然,他们引用的是当年在文娱时间电视网上热播的电视剧《嗜血法医》(Dextor)。奇怪的是,这部剧的上映日期是2006年10月1日,版权日期却是2003年。谁也说不清,攻击者这样做,到底是有什么寓意,还仅仅是开玩笑而已。不过,对《嗜血法医》的引用似乎在暗示,毒区与震网之间有某种联系。这部剧的主角德克斯特·摩根(Dexter Morgan)既是一名法医专家,又是一名地下杀手。但是,他只杀十恶不赦的罪犯。这让德克斯特成了“有道德的杀手”的代名词。在他看来,他作恶的目的,是为了寻求更大的善。实际上,美国和以色列对伊朗发动网络攻击、袭击伊朗核科学家的行为,恰恰反映了与之相近的价值观——这是为了更大的善而必须使用的手段。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1b747b75.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-230.jpg) 字体名称和版权日期,只是给研究员们提供了一些谈资。真正值得关注的,是病毒注入器的编译日期——2008年2月21日。这个日期,为回答“震网已经存在了多久”这一问题提供了线索。在首个注入器发现不久之后,卡巴斯基就在苏丹的一台计算机上发现了第二个注入器,它的编译时间比第一个还要早。 苏丹与伊朗之间,有着密切的军事关系。在2004到2006年间,苏丹获得了伊朗提供的价值1200万美元的武器援助,同时,苏丹是伊朗核计划的坚定支持者。2006年,伊朗曾公开宣称,将与苏丹分享核领域的研究成果。此外,苏丹还是联合国制裁的对象。毒区在苏丹的目标是一家贸易服务公司,感染时间为2011年4月,比发生在匈牙利的感染早4个月。它利用了与匈牙利同样的德克斯特漏洞,也是通过钓鱼邮件的手段实施感染。这封钓鱼邮件发自韩国,发件人是一位名叫杰森(B.Jason)的销售经理。据估计,这台发送邮件的计算机也遭到了入侵。邮件内容为:“亲爱的先生,我对贵公司网站上的一些细节非常感兴趣,希望能和贵公司开展商务合作。附件中是我方的需求清单,请您详查。”附件中有一系列的调查问题,还有一个画有新芽吐绿形象的绿色地球。一旦受害者打开附件,德克斯特漏洞利用程序就会立即起效,并将其中的恶意文件释放到计算机上。 其中,用于释放毒区文件的注入器,编译时间为2007年8月。这进一步确认,毒区在被匈牙利人发现之前,确已存在多年。不过,这并不是毒区出现早于震网的孤证。研究人员还发现,毒区中的情报收集器文件也早在多年前就出现了。说来偶然,攻击者在代码中的一个错误,暴露了这一点。 当毒区的自毁机制在感染36天后被触发时,它将擦除染毒计算机上的所有痕迹。这样,受害者就再也无法知道自己曾遭受攻击了。但卡巴斯基研究团队发现,当毒区执行删除操作时,不小心落下了用于存储盗取数据的临时文件。就这样,卡巴斯基从伊朗目标的镜像文件中发现,其中一个临时文件的创建日期是2008年11月28日。 一直以来,卡巴斯基和赛门铁克总在怀疑,攻击者在使用震网攻击伊朗离心机之前,事先通过间谍活动获取了西门子PLC的配置数据等关键情报。之前他们怀疑伊朗方面有内奸,毒区出现后,他们转而相信,通过使用类似间谍工具获情的可能性更大。 从毒区攻击匈牙利数字证书认证机构的情况来看,攻击者之前使用的瑞昱和智微公司签名密钥和数字证书,很可能也是用毒区盗取的。 如果说,毒区早在2007年或更早就开始实施感染却一直未被发现,那么,为什么到了2011年,它突然被匈牙利人发现了?拉伊乌思考再三,得出了他的结论:毒区之所以被匈牙利人发现,其原因必定是攻击者傲慢自大的心态,让他们选择了一个错误的目标。多年来,毒区的攻击者屡屡得手、信心爆棚,认为根本没人能逮到他们。他们可能会想,去年震网的暴露完全是个意外,因为感染的计算机太多了。但是,毒区的目标均经过精心挑选、受到严格管控,暴露的可能性极小。但是,在匈牙利,他们着实选错了攻击对象。这家匈牙利CA对网络安全问题的敏感性,比之前遭攻击的贸易公司和设备制造商可高多了。所以,毒区攻击者在匈牙利遭遇滑铁卢,虽属意料之外,也在情理之中。 尽管震网和毒区使用了很多相同的代码和技术,拉伊乌团队仍然做出了“他们是两个团队基于共同平台分别开发”的判断。由于毒区和震网中都有很多以“~D”打头的文件,他们将这个开发平台命名为“~D”平台。 实际上,卡巴斯基还发现,除了震网和毒区之外,还有一系列[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")也出自同一平台。他们发现,至少有6种驱动文件具有相同特征,都可以归入“~D”家族成员之列。其中,2个来自震网,1个来自毒区,另外3个“幽灵驱动”来自与震网和毒区之外的其他文件。这让人很难判断,它们究竟是用来配合震网或毒区的,还是另外用于其他攻击的。不过,这3个驱动所使用的算法和密钥,都与震网和毒区的驱动文件完全相同或高度近似,所以可以断定,它们定与“~D”团队有关。 其中,1号“幽灵驱动”是斯洛伐克反病毒公司ESET在2010年7月发现的,上面有智微公司的数字签名。尽管它不是在感染震网的计算机上被发现的,但由于它的曝光时间只比震网晚几天,所有人都猜测它与震网有关。这个驱动简直就是震网驱动和毒区驱动的混合体,从代码上看与震网驱动几无二致,从使用的函数和技术上看又像极了毒区驱动。不过,与震网驱动中使用的4重循环密码(four-round cipher)相比,它使用了更为复杂的7重循环密码。因此,拉伊乌和格斯特夫怀疑,它要么是震网的变种,要么是震网的“搭档”。 2号“幽灵驱动”是在某人发现并将其提交到VirusTotal后,而曝光的。它的编译日期是2008年1月20日。它也使用了7重循环密码,说明它和1号是用来实施同一场攻击的。据推测,它们可能来自震网的另一个版本,也可能是与其他攻击配合使用的“搭档”。 3号驱动也是被人提交到VirusTotal后曝光的。它来自一个中国IP,发现日期是2011年5月17日,比毒区在匈牙利被发现还早几个月。它使用了与震网驱动相同的4重循环密码和相同的加密密钥,编译日期和盗用的数字签名也与震网驱动一致,只是认证日期稍有不同——它的认证日期是2010年3月18日,而震网驱动的认证日期是2010年1月25日。3月18日距离震网2010年4月版本上线仅相隔数周,但是不知出于何种原因,攻击者却没在4月的版本中使用3号驱动。实际上,攻击方在震网2010年4月版本中沿用了2009年6月版本中的驱动。这表明,3号驱动或许另有它用。 在格斯特夫和拉伊乌心中,有几个问题不断闪现:这几个幽灵驱动到底是干什么用的?谁是它们的受害者?是否还有新的证据,能证明在2009年6月之前或2010年4月之后,还有震网的其他版本存在呢? 看来,震网的故事离剧终还远……(待续)
';

第十三章 数字弹头

最后更新于:2022-04-01 21:17:18

连续伏案工作了两个小时,莫楚又累又烦。他不知疲倦的把一片又一片虚拟硬件“插进”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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1a7d45b6.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp_21.jpg) 这时,在城市的另一边,52岁的放射性同位素分离专家法雷多·艾巴西(Fereydoon Abbasi)也在上班途中遭遇了跟踪。他发现,一辆可疑的摩托车从旁边跟上来,然后又听到车门上发出奇怪的声响。艾巴西是伊朗共和国卫队的成员,所以警惕性比沙利亚里高多了。他迅速跳车逃跑,把同车的妻子也拉下了车。两人虽被受了点伤,但所幸死里逃生。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/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)微笑着对《时代》杂志记者说,“我很高兴听说伊朗在离心机上遇到了麻烦,美国和盟国正尽我们所能,让事情更加复杂。” 关于美国参与研发与使用数字武器的新闻,本应会在华盛顿和其他国家的政府层面的掀起一波舆论。毕竟,这引发了一系列令人焦虑的问题——不仅为美国脆弱的关键基础设施带来了遭受类似攻击的风险,还面临着各界在道德和法律上对“破坏性网络攻击本质上是战争行为”的拷问。然而,奇怪的是,坊间一片鸦默雀静、毫无杂声。看来,拉尔夫·朗纳一改起初发博时大张旗鼓的风格,转而保持低调沉默的做法才是对的。虽然官方没有明确表态,但我们已经可以确定无疑的是:其一,以色列和美国就是震网的操盘者。其二,网络战时代正式来临。(待续)
';

第十二章 新的作战域

最后更新于:2022-04-01 21:17:15

早在布什的幕僚提出用数字武器破坏伊朗离心机方案的10年前,美国军方就意识到,军队自己的网络非常脆弱,很容易受到网络攻击。于是,从那时起,军方开始研究如何进行网络防御,并同步发展网络攻击能力。 学术界人士和军事专家对网络战概念和数字武器潜力等问题的研究,则始于更久远的年代。1970年,国防科学局就曾研究过当时被称为“信息战”(information warfare)——入侵计算机网络使其无法正常工作——的潜在军事用途。在那个年代,计算机还是王谢堂前燕,因特网也尚未诞生,所以这些研究只能停留在理论可能性的层面。 到了90年代,理论渐渐成为现实,“网络战”(cyberwar)的概念横空出世。1993年兰德公司发表了一篇题为“网络战来了!”的开创性的文章。约翰·阿奎那(John Arquilla)和他的合作作者在文中写道:“我们预计,在21世纪,网络战将成为像闪电战(blitzkrieg)那样一击制敌的利器。”阿奎那现在在加州担任海军研究生院军事顾问,早在海湾战争时期,他就意识到了网络攻击的巨大潜力。当时,美军使用了一种特殊的雷达系统,对伊拉克移动目标进行定位,阿奎那想,如果伊拉克人能找到干扰雷达的方法,就能轻而易举的让它失效。这让阿奎那意识到,计算机技术在让现代军队更加强大的同时,也带来了潜在的弱点。他又说,“更可怕的是,(网络攻击)这种力量掌握在少数黑客手上,而不仅仅掌握在军队手上。”而政府和军队之外的破坏性力量,正在“以超乎想象的速度发展壮大。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19d20520.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-391.jpg) 《Cyberwar is Coming!》作者约翰·阿奎那 早在80年代,军方就已尝过黑客的厉害了。一位名叫马库斯•赫斯(Markus Hess)的德国人,受克格勃指使,入侵了包括劳伦斯•伯克利国家实验室在内的数百个军事信息系统和实验室网络,以寻找与人造卫星和星球大战计划有关的情报。之后,1990年,在第一次海湾战争的准备期,一名荷兰少年闯入了美军30多台计算机,搜索关于爱国者导弹、核武器和对伊作战计划等情报。美国人担心,他的目的是把这些情报卖给伊拉克。1994年,一名16岁的英国黑客在另一名威尔士21岁黑客的指导下,入侵了美国空军的多个信息系统,并以它们为跳板,攻破了韩国的一家核能研究所和其他100多个网络。由于看上去,这些攻击都来自美军的计算机,所以很明显,这种入侵行为不仅可以盗取情报,还能造成更为严重的潜在后果。当时,美国正在与朝鲜进行核谈判,如果那名黑客攻破的不是韩国核能研究所而是朝鲜的某家机构,很可能会将两国推向战争的边缘。 网络的连通性同样是吧双刃剑。既然别人可以攻击美军的信息系统,美军也同样可以攻击别人的。虽然美国还不具备阻止类似攻击的能力,但相关举措已在陆续展开之中。 美国空军于1993年迈出了第一步,将电子战中心改组为信息战中心,并于2年后成立了美军首支网络战部队——第609信息战中队。这支部队位于南加州的肖恩空军基地,任务是为作战司令部提供网络攻防作战支持。当时,进攻性网络作战没什么任务,所以609中队实际上以网络防御为主业。但军方很快意识到,如果能将防御与进攻结合在一起,会更具优势。因为,为御敌网络攻击而收集的情报和掌握的技能,完全可以用来发动攻击。在1996年,为提高攻防能力,609中队内部进行了一场网络攻防对抗演练。不到两小时,进攻的红方就突破了蓝方的防御,夺取了空军任务下达系统(Tasking Order System)的绝对控制权。 1997年,军方组织了一场规模更大的演习,以测试其应对网络攻击的防御能力。演习取名为“合格接球员”,红方为国家安全局(NSA)的黑客,目标是夏威夷美军太平洋司令部的信息网络。规则约定,红方只能使用普通黑客可以在公开市场上买到的工具,而不能使用自己研发的内部技巧。演习开始。攻击方通过商用互联网拨号账号和信道,没遇到什么抵抗就闯了进去。夏威夷的系统管理员在网络攻防方面水平一般,在长达90天的演习中只发现两次闯入行为,而且,他们居然认为这并不是什么入侵,只是管理员在网上经常见到的偶发性流量跳变而已。半个多世纪前(1941年)的珍珠港事件中,位于瓦胡岛上奥帕纳雷达站的警戒员看到日本飞机进入领空后,却因其上级认为是友军而没有发出任何警报。这两者何其相似!? 为证明攻击得手,红方的黑客将标记文件置于蓝方系统中,意为“在敌方阵地上插上了自己的军旗”。同时,为了显示对瓦胡岛、洛杉矶、芝加哥、华盛顿特区之间电网和通信网的控制,他们还制造了大量的模拟攻击。只要他们愿意,他们还可以控制用来向数以万计的士兵发布命令的指挥信息系统,或像时任五角大楼信息作战部门长官约翰•坎贝尔(John H. Campbell)退役中将所说的那样,“引起停电等事故、造成社会动荡”。坎贝尔还说,“这意味着,这支网络攻击分队能做到,远非入侵网络那么简单。网络攻击具有深远的影响和重大的意义。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19d38270.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-401.jpg) 时任五角大楼信息作战部门长官约翰•坎贝尔退役中将 后来,有军方领导提及这次演习时说,他们原以为红方在攻击中使用了密级很高的内部工具和技巧,没想到,他们用的工具和那些小毛贼用的完全相同。 有趣的是,就在演习的第2年,一群少年黑客恰恰还是用这些低级别的技术,攻破了军队的信息网络,盗取了500个系统中的敏感信息。经查,这是两名加州少年在一位名叫埃胡德•特南鲍姆(Ehud Tenenbaum)的以色列黑客的怂恿下,闹出的一场数字恶作剧。彼时,美国国防部正在同时进行两场战争,一场在波黑,一场在伊拉克。在军方领导人看来,这次的入侵行为很像是来自敌国的攻击者所为,他们的目的是,通过盗取美军的内部情报,来获取战场优势。这并非玩笑。国防部副部长约翰•哈姆雷(John Hamre)说,这次攻击“很可能是第一场真刀真枪的网络战,我猜可能是伊拉克人在幕后指使的。”由于很难分清这到底是敌国的进攻,还是少年的恶作剧,这个事件的性质变得不再单纯,并且让人从中闻到了战争的火药味。“‘日出’事件让我们再一次接受‘合格接球员’演习中的教训。”哈姆雷说,“没有什么比现实中发生的事情更能让人警钟长鸣。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19dd3ff1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-411.jpg) 时任美国国防部副部长约翰•哈姆雷 然而,真正的教训还不止于此。哈姆雷就此次事件召开了一次讨论会,会上,他一边环视坐在会议桌前的20多个人,一边问道,“这件事是谁分管的?谁负责保卫我们的网络?”结果,所有人都不吭声。这时,他恍然大悟:当网络攻击出现时,并没有人负责相应的防御。这个震动朝野的事实,直接推动了“计算机网络防御联合特遣队”(JTF-CND)的组建。1998年12月,美军总算拥有一支负责防御军队信息网络的部队了。(待续) 这支部队由坎贝尔中将执掌,人员来自各个方面:一批空军和海军战斗机飞行员、1名海军陆战队军官、几名航测员、1名海军陆战队飞行员、部分情报人员和几家国防承包商的代表。有官员说他们就是“一帮穿空军服装的,再加上一帮穿便服的”,不伦不类。他们当中,只有少数几个人是精通网络技术的极客,其他人完全没有技术背景。而且,一开始他们既没有办公室,也没有后勤人员,只能在一个停车场的临时拖车里上班。不过,最终这支队伍的规模超过了150人。 他们的任务是,制定防御国防部网络免遭攻击的原则和方法。但在开始之前,他们向军方高层提出了两个问题:是否需要同时考虑对民用关键基础设施的防御,比照北美航空航天司令部的思路,来制定相关原则和方法?是否只考虑防御,而不考虑攻击?陆军工程师、特遣队初创成员马库斯•萨克斯(Marcus Sachs)回忆道,“比起防御,我们更想研究攻击。所有人都憧憬于发动网络攻击的巨大潜力……我们非常希望沿着这个方向前进,搞清楚网络攻击对我们来说到底意味着什么。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19e554e7.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-421.jpg) 陆军工程师、特遣队初创成员马库斯•萨克斯 那个年代,各种以网络安全为主题的研讨会方兴未艾。最著名的是拉斯维加斯的DefCon大会和纽约的HOPE大会,黑客和研究员们在会上交流安全漏洞和黑客工具方面的心得。每年的DefCon上,联邦调查局和情报部门都会派员暗中造访。于是,萨克斯决定亲自去参加会议,开阔一下视野,看看军队应该做些什么。但是,高层给特遣队的回复是,不需要研究网络攻击,因为暂时还没有做好发展网络攻击力量的准备。萨克斯说,“主要是网络攻击相关法律问题尚未解决。” 实际上,高层的谨慎另有原因。萨克斯说,“网络武器的特点是‘使用即发布’,你可以用它攻击别人,别人也可以用它调转枪头来攻击你。这是不可轻举妄动的核心因素。” 彼时,萨克斯并不知道,就在去年,国防部长已经授权国家安全局 (NSA),在干扰敌方雷达和通信信道等电子战业务基础上,研发计算机网络攻击相关技术。NSA相信,其独步天下的技术实力,一定能让它在未来的数字战场上继续引领风骚。 NSA在1997年的一份内部通讯中写道:与动能打击相比,数字攻击的优势非常明显。电视上经常会播放这样的画面:一个个运尸袋从荒凉的战场上空运回国,家属们则是痛不欲生。而网络战不会造成人员伤亡,这一点是公众非常乐于接受的。此外,文章还指出了网络战的其他优势:发动网络攻击的费用很低,“部署灵活”,不必将部队机动至“射程以内”,随着越来越多的关键系统走向信息化、数字化,目标分布更加广泛、数量不断增长。 震网出现的10年前,NSA就开始认真关注网络攻击问题了。他们认为,随着关键基础设施对数字化控制系统的依赖程度越来越高,网络攻击必将大行其道。这份内部通讯中的另一篇文章提议,应制定一份用来发展网络攻击能力的路线图。其中,既要考虑到公开市场上已有技术的运用,又要考虑到仍在构思中的待研发技术的出现。文章还建议,应收集并编制一份公开市场黑客工具清单,列出目前可用的所有病毒、蠕虫、逻辑炸弹、木马和后门。作者说,“如果能有效利用这些工具,将会对社会信息基础设施造成极大的破坏。”之后他又对未来的网络战士们提出了警告,“但是,先别对‘到处都是高价值目标的环境’过分激动,别忘了,我们也身在其中!” 尽管军方迫切希望发展网络攻击能力,但其面临的法律问题却异常复杂。在1999年春天,正当北约军队对南斯拉夫发动空袭时,北约空军联军在德克萨斯召开了一个闭门会议,专门就“信息战”到底包含哪些能力进行了深入探讨。美国驻欧洲空军司令约翰•江珀(John Jumper)对与会人员说,如果信息战意味着通过某种手段控制敌国的关键基础设施,(其作战行动)将超出军方目前的能力范围。当时,网络武器还从未真正出现过,信息战只不过是华盛顿政策制定者、军队高层和律师纸上谈兵的一个议题而已。而且,关于网络攻击的价值和合法性,各方并没有达成共识。江珀对与会者说:“假设我自己是一名指挥官,手下有战斗机飞行员、轰炸机飞行员、特种作战人员和信息作战人员。当我向他们指派任务时,他们会依次高举双手说‘这个目标交给我吧’。但轮到信息作战人员时,他却说‘这个目标交给我没问题,但我得先问问华盛顿方面,并得到总统的授权。’” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19e9d2f5.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-431.jpg) 美国驻欧洲空军司令约翰•江珀 2000年,情况终于有所变化。五角大楼的网络防御特遣队突然被告知,将承担起网络攻击任务,并负责制定网络攻击作战的原则和方法。任务增加的同时,特遣队的名字也发生了变化,由“计算机网络防御联合特遣队”,改称“计算机网络作战联合特遣队”。萨克斯说,为避免引起外界关注,特遣队的更名并未公开,但这一举措清晰的表明,军方已经正式完成了实施进攻性网络作战的准备。 这时,特遣队面临的,是一系列非常复杂的问题。网络攻击作战属于正规军事行动,还是秘密作战行动?网络攻击行动的边界是什么?瘫痪某个数字通信系统,肯定属于进攻性网络作战,那么,破坏某个武器控制系统的计算机、以令其偏离目标或无法射击,也属于进攻性网络作战吗?这类作战行动的决策权应交给谁?彼时,如果空军要对地方雷达系统发起打击,必须跟NSA的电子战部队协同配合。但NSA毕竟是个情报机构,其主要职责是截取通信信号。攻击敌方火炮控制系统的计算机,似乎更像是作战部队的领地。 随着特遣队任务调整,指挥官换成了级别更高的詹姆斯•布莱恩(James D. Bryan)上将。不过,国防部副部长哈姆雷强调,防御仍然是首要任务,网络攻击将作为传统军事行动的辅助手段,而非取而代之。 布莱恩回忆道,突如其来的911恐怖袭击,“让一切都变了。”网络攻击作战一夜之间变得更加重要,特遣队第一次可以抛开种种限制,将网络攻击与动能打击(kinetic operation)同等对待。也就是说,网络攻击不再仅仅是用于刺探情报的网络渗透行动,而是实现作战目标的另一种手段。这意味着,“我们可以找作战司令部索要作战目标清单,并在全球范围内对这些目标进行评估、分析和优选,并开展实战化训练。” 2003年,美军网络攻击力量发展更进一步。五角大楼秘密发布了一份“信息作战路线图”,首次将信息战列为与空战、陆战、海战和特种作战并列的核心军事能力。这份机密报告几年后出了一个修订版,明确提出正在制定全面评估网络武器和间谍工具能力的方法流程,以及运用这些武器和工具的政策。后者包括:确定对情报信息或信息系统实施何种程度的操作,可称为“攻击”或“使用武力”,何种程度的操作称为“情报收集”;何种行为是合法的正当防卫;在美国(对敌人的攻击)发起反击之前,需要进行何种程度的归因溯源;美国是否可以通过控制第三方系统、即“跳板机”发动攻击,并使其因此遭到报复。 2004年,为适应进攻性网络作战不断增加的需求,国防部将特遣队一分为二。这象征着网络空间军事化的大幕已经拉开。负责防御的单位名为“全球网络作战联合特遣队”,负责进攻的单位名为“网络战联合职能部门司令部”。后者位于NSA总部所在地米德堡,但隶属于美军战略司令部,受海军陆战队司令詹姆斯•卡特怀特(James E. Cartwright)将军指挥。仅过了1年,随着基思•亚历山大将军从迈克尔•海登(Michael Hayden)将军手中接过NSA的帅印,进攻性网络战武器的研发事务,才真正来到了舞台中央。“奥运会行动”和震网病毒的策划,也是始于这个时期。 6年后,2010年5月,当震网在全世界的计算机上疯狂传播、接近失控边缘时,五角大楼将攻防两个单位重新整合在一起,组建了“美军网络司令部”。新成立的司令部仍然隶属于战略司令部,但指挥权则交给了同时担任NSA局长的亚历山大。这让他成为横跨情报作战和网络作战两界、史无前例的“网络大帝”。3个月后,五角大楼正式宣布,网络空间已经成为继空、地、海、太空之后的“第五作战域”。 苦心经营十余载,一朝正名得见光。然而,由于进攻性网络作战的保密属性,公众仍然只能从多年来曝光的零散消息中管窥一二。(待续) 比如,据当时在美军战略司令部工作的约翰·阿奎那透露,在90年代末的科索沃战争中,北约军队可能使用了某种网络技术“在塞尔维亚军队将多个防空系统中的数据整合成战场态势图时,干扰了图像的生成。”另据报道,克林顿总统曾批准一项秘密的网络作战行动,目标是冻结南联盟总统斯洛博丹·米洛舍维奇(Slobodan Miloševic)在欧洲多家银行的金融资产。不过,关于这项作战行动是否得到了执行,有两种互相矛盾的报道,真伪难辨。在2003年的伊拉克战争中,也曾有一项旨在冻结萨达姆金融资产的网络攻击计划,但被当时的美国财政部长否决了。因为他担心,这种攻击将对中东、欧洲、乃至美国的其他金融账户带来安全风险和连锁反应。 据报道,2007年,在以色列空袭叙利亚阿尔奇巴尔建筑综合体的战斗前,美国通过网络攻击,向以色列提供了有关叙利亚防空系统潜在漏洞的关键情报。如前所述,(利用这些情报,)以色列飞行员在抵达目标之前,首先使用电子干扰手段和精确制导炸弹,摧毁了叙土边境地区的一个雷达站。另据媒体和几名美国情报分析人员透露,以色列使用一种“空对地电子攻击”的机载技术侵入了叙利亚防空系统,并通过计算机与计算机之间的连接进一步渗透至系统中,并对其功能造成了影响。来自美国政府问责局的一篇较新的报告,则详细描述了对这个“没有有线接口的网络”进行的“空对地电子攻击”。 2013年,前NSA的一名系统管理员爱德华•斯诺登(Edward Snowden),对一直藏在非对称反恐战争阴影下的网络作战行动进行了持续而深入的爆料。文件显示,驻扎在米德堡总部和乔治亚、德克萨斯、科罗拉多和夏威夷区域分部的NSA精英黑客团队,不断向美军网络司令部提供用于反恐作战的黑客工具和技术。同时,这些网络战士也会在数字监听行动中与FBI和CIA相互配合,包括协助中情局在无人机暗杀行动中追踪目标。 2012年,在一场无人机暗杀行动中,为了追踪奥萨马•本•拉登(Osama bin Laden)的助手哈桑•古尔(Hassan Ghul),NSA部署了一套用来控制笔记本电脑、盗取音频文件与追踪无线传输信号的“网络间谍工具包”。华盛顿邮报从斯诺登那里拿到的文件显示,这些工具的目的,是判断古尔过夜的具体位置。从2001年起,NSA就开始对部署在也门和非洲等地、由基地组织成员使用的大量系统进行渗透,以收集那些通过谷歌和雅虎等互联网公司(棱镜项目)、以及海底光缆入口和互联网关键节点(上传流项目)等其他途径无法获取的情报。 不过,反恐并非NSA的唯一目标。近年来,针对国家的网络作战行动也陆续遭到曝光。相关文件显示,2011年,NSA共对其他国家发动了231次攻击性网络作战,其中四分之三的作战行动针对伊朗、俄罗斯、中国和朝鲜等“最高优先级目标”。在代号为“精灵”、预算高达6.52亿美元的项目中,NSA、CIA和特种作战部队将秘密的数字后门植入到全球范围内数以万计的计算机、路由器和防火墙中,以便能很容易的对其实施网络刺探。有些植入是远程进行的,更多的则是一种通过被称为“阻断”的操作,以物理接触的方式植入后门。具体流程是,CIA或FBI从制造商和零售商那里拦截正在运输途中的硬件,然后植入[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")或安装修改过的芯片,之后再将其放回原处,流向市场。这些后门像定时炸弹一样,植入者可以根据自己的需要对它们进行远程控制,使用时开启、不用时潜伏。大多数后门都是由国家安全局专项访问行动分局(TAO)制作的,并冠以“联合公鸭”(UNITEDDRAKE)和“验证器”(VALIDATOR)等名。这些后门可以让NSA的黑客自由出入被感染的系统,访问与之相连的其他系统,还能在上面安装各种间谍工具,以提取大量数据。这些后门的植入手段非常高超,能保证它们在目标系统中存在多年而不被发现,一般的软硬件系统更新都无法将其清除。2008年,NSA共对全球22252个系统植入了后门。2011年,被植入系统数量增至68975个。到了2013年,NSA预计将植入超过85000个系统,并计划将规模进一步提升至百万级。但是,可植入后门的系统实在太多,这给NSA也带来了困扰——人员和精力是有限的,无法充分利用海量资源。比如,斯诺登泄露的一份文件显示,2011年,NSA仅仅对10%的被植入计算机进行了充分利用。为改进这一问题,NSA计划推出一个名为“涡轮”(TURBINE)的新型自动化工具,并声称它可以同时对100万台被植入后门的计算机进行管控。 然而,从科索沃到叙利亚、利比亚,再到斯诺登所揭露的那些作战行动,其目的要么是盗取数据、要么是篡改数据、要么是通过网络手段辅助传统动能打击。没有任何一次作战行动可以取代传统的动能打击。而正是这一点(对动能打击的替代),才让震网显得如何与众不同、如此富有开创性。 迄今为止,震网仍然保持着通过网络攻击造成物理破坏的唯一纪录。但有迹象表明,类似的作战方案并非绝无仅有。斯诺登泄露的一份绝密级总统令显示,2012年10月,奥巴马总统命令负责国家安全和情报工作的高级官员,列出一份可进行网络攻击的外国目标清单,包括重要的“系统、进程和基础设施”。美国的意图到底是对这些目标发动攻击,还是只想为可能发生的对抗局势升级做好准备,我们不得而知。但正如总统令中提到的,网络攻击可以为“在对方不知情的前提下,实现对目标造成或轻微或严重破坏的潜在效应”提供“独特而崭新”的机会,以实现美国的国家意志。 攻击性网络作战及其准备工作的爆发式增长,带动了NSA对有经验的黑客和各种网络攻击工具的需求。虽然大多数用于植入的后门都是国家安全局TAO分局自己研发的,但这还远远不够。为此,NSA 2013年用于从私营供应商“秘密采购软件漏洞”的预算高达2510万美元。这些私营供应商,就是前文所述的那些小型技术公司和大型防务承包商,它们和NSA一道,打造了零日漏洞交易的灰色市场,并构建了新型的军事-产业复合体。从防务承包商的招聘公告中,能够清晰的看到政府将进攻性网络作战进行外包的趋势。比如,招聘公告上写着 “Windows系统攻击开发人员”及具有“分析软件漏洞并开发漏洞利用程序”技能者。防务承包商诺斯罗普·格鲁曼(Northrop Grumman)公司的招聘公告上用粗体字写着“与进攻性网络作战”有关的“激动人心且成长迅速的研发项目”,丝毫没有避讳的意思。其他承包商还是比较保守的,比如斯诺登的老东家、NSA承包商博思·艾伦·汉密尔顿(Booz Allen Hamilton)公司在招聘公告上写的是:招聘“数字网络分析师”,主要业务是开发“面向PC和包括安卓、黑莓、iPhone和iPad等移动设备”的漏洞利用程序。多数公司在招聘公告上的“职业技能和专长”项目中同时列出了“计算机网络防御”和“计算机网络攻击”,强调应聘的漏洞挖掘人员和漏洞利用程序开发者,将同时担负系统安全防护和攻击两方面职责。 谁最适合干这类工作呢?也许是第7章中提到的那个曾在NSA做过代码破解员的数学博士,漏洞个体户查理·米勒。也许是某个曾被执法部门通缉的前黑客。因为,既然他能侵入美国政府的信息系统,同样也可以为间谍部门服务、用他的本事去攻击其他对手。然而,由于具有高超技能的职业级人才十分罕见,军方和情报部门的精英团队中出现了虚位以待的局面。他们只好通过DefCon大会这样的渠道挖人。而且,为了广纳贤才,他们表现出了极大的宽容:对以前的行为既往不咎,上班可以不着制服,只要有本事耳朵上打满洞也没关系。一名与某防务承包商签约的网络战士在接受采访时说,他曾担心以前攻击政府系统的不良记录会成为他就业的障碍,但是用人单位却“似乎一点都不介意我曾经在几年前攻击过政府系统,也不在乎我抽大麻(somke pot)。” 此外,他还透露了一些与自己工作有关的消息:工作地点位于弗吉尼亚州的普通办公园区,办公楼没有任何标牌,所在团队共有5000人。公司规定,不准将手机和其他电子设备带入办公楼,也不准放在停车场的汽车里。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19f31cf6.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-441.jpg) NSA大楼 一上班,公司就给了他一份待攻击软件清单,他很快就发现了各个软件中最容易找到的漏洞。他还说,他们团队拥有一个庞大的零日漏洞信息库——那里有各种应用软件和操作系统的“上万个可用漏洞”,可以用来发起各种攻击。“我敢说,你只要能写出一款软件或控制设备的名字,我们就有办法把它黑掉。”而且,就算打了补丁也没用,因为他们手上的零日漏洞远不止一个。“我们是一支全新的军队,”他说,“虽然你不喜欢军队所做的事情,但你还是需要军队来保护你。”(待续) 官方的漏洞挖掘项目不断扩张,引出了一个国防部特遣队在10年前制定网络攻击理论框架时没有关注的新问题。直到今天,这个问题仍然没有进入公众视野,也没有提交国会进行任何讨论。这个问题就是,为攻击性网络作战而大量储备零日漏洞和漏洞利用程序,是否合乎伦理?是否会引发新的安全问题?把这么多零日漏洞利用程序用在政府的网络攻击作战上,而不是把漏洞告诉开发者和供应商并让其打上补丁,那么,政府这样做,是不是正将美国的关键基础设施业主和计算机用户置于更大的风险之中?可以想见,网络罪犯、间谍组织和外国情报部门也会发现并利用同样的漏洞,并用它们发起针对美国的网络攻击。 如前所述,当研究人员发现漏洞时,一般会将其公开发布或私下知会软件的开发者,以便让他们能够及时修复漏洞,把补丁分发给所有用户。但是,军方和情报部门为了准备或实施网络攻击,需要将零日漏洞储备起来,而不愿看到这些漏洞被打上补丁。在榨干零日漏洞的价值之前,他们会想方设法不让他人染指。“假设你基于某个漏洞构建了某种完整的攻击能力。一旦该漏洞曝光,你将会失去一个曾投资百万美元和数千小时人工的系统。”K2Share公司网络安全顾问安迪·潘宁顿(Andy Pennington)在2011年的某个研讨会上说。潘宁顿1999年以前曾担任空军武器系统官员,退休后转而为空军研究运用网络技术的下一代武器。他在会后接受采访时说,“如果你想利用某个漏洞发起网络攻击,绝对不会请一个研究团队把辛辛苦苦找到的漏洞发布在网上,让所有人都看到。为了寻找漏洞并将其用于保持我们的优势地位,我们正在花费大笔大笔的美元。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19ff376c.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-451.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1a01740a.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-461.jpg) 前空军官员,K2Share公司网络安全顾问安迪·潘宁顿 仔细想想我们会发现,官方的模式是,让全体国民暴露于漏洞之中,以此换取对少量几个目标发动攻击的能力。这相当于,为了让少数几个人感染某种病毒,而瞒着全体国民不让他们接种疫苗。 当震网同时利用4个零日漏洞对伊朗发起攻击时,有趣的事情出现了。其他黑客和外国的网络战士也在利用这些漏洞。“当你发现一个新的零日漏洞时,如果认为自己是世界上唯一一个发现它的人,那就太天真了。”前白宫网络安全协调官、微软前高管霍华德·施密特(Howard Schmidt)说,“你可能把‘独家发现权’保持几个小时或几天,但不可能保持很长时间。因为,外国政府、其他机构的网络安全研究人员以及那些以兜售零日漏洞利用程序为业的人,一直在和你做着同样的事情。” 事实的确如此。震网用到的.LNK漏洞曾在两年前被银行盗窃病毒Zlob用过一次。关于其他人发现并利用打印机漏洞的消息,也曾在期刊上出现过。其他黑客发现并使用这些零日漏洞进行各种攻击,不知要比震网早上多久呢!2007年,一家名为免疫力(Immunity)的佛罗里达安全公司发布了一项研究报告,称一个零日漏洞利用程序从被制作出来到被发现,平均寿命为348天。生存时间最长的零日漏洞为将近3年。如今,形势又有了新变化,零日漏洞的平均寿命已缩短至10个月,生存时间最长的为2年半。 2009年,新任总统奥巴马宣称,在他执政期间,将把网络安全特别是国家关键基础设施安全防护视为最高优先级事务。但是,军方和情报部门为实施攻击性网络作战而秘密收集零日漏洞、制作漏洞利用程序的行为,造成了他们与其他政府部门之间的分裂。比如,肩负着保护美国关键基础设施和政府重要系统任务的国土安全部(DHS),就对军方和情报部门非常不爽。 安迪·潘宁顿在2011年研讨会的发言中强调,政府部门之间在零日漏洞问题上存在“利益竞争关系”。但他又说,当政府部门发现想要利用的漏洞时,可以通过在有限几个政府部门之间进行“漏洞共享”的方式,在不损害对外实施网络攻击能力的同时,“加强国家网络安全防护”。他还提到,国防部与微软等软件供应商和控制系统制造商有着“非常密切的合作”,会及时向他们透露新发现的漏洞。“但我必须再次强调,必须实现对零日漏洞的绝对掌控……只有这样,我们才能保证发动网络作战的能力。”为此,必须“在共享和修复漏洞时非常谨慎。”不过,他并未详细阐述,在共享零日漏洞时应遵守怎样的纪律。另有人指出,漏洞信息首先应提供给国防部的官员,以便保护军事系统不受攻击,此时仍须对供应商和公众保密,以防把风声走漏给对手。据报道,微软在发现新漏洞时,也会首先向政府部门和合作伙伴通报情况,让他们在补丁制作完成之前预先采取防护措施。同时,微软等供应商的这个举动,也起到了为NSA通风报信的作用,让他们可以在微软公开发布补丁之前,就把所有基于该漏洞的漏洞利用程序下架、报废,或者,抓紧时间利用这个漏洞完成侦察或攻击任务。 前DHS部长助理格雷格·谢弗(Greg Schaffer)在接受国家公共电台(NPR)采访时说,负责保护非军用政府信息系统的DHS,偶尔会获得“来自网络攻击部门的帮助”。但他没有言明,这“帮助”到底是不是指“分享零日漏洞信息、以便让他们打上补丁”。“实际上,他们一直在考虑要不要分享零日漏洞信息给我们。情况并不像我们所担心的那样。” 然而,DHS的另一名官员说,他从来不记得“国防部主动给我们分享过一个漏洞……我们非常希望获得尽可能多的漏洞信息,从而拿出最好的防护措施。”但是,当他获得漏洞信息的愿望一再落空之后,他终于意识到“事情本该如此”——只要政府仍然需求巩固其对外发动网络攻击的能力。(因为,防御范围大、目标多,且缺乏强力的保密机制,难免在传递漏洞信息和补丁过程中将其泄露给公众或对手——译者注。)他说,他找不到任何解决方案。 虽然漏洞信息无法实现由进攻端到防御端的传递,但却会出现防御端首先发现漏洞,并分享给进攻端的情况。比如,有时防御部门的研究人员会在控制系统中,发现已经被NSA或其他部门利用过、却没来得及透露并打补丁的漏洞。一位前DHS官员说,2007年的极光发电机实验之后,他们便着手在控制系统安全领域中实施“漏洞公正性评估”(vulnerabilities equities process)。从那时起,政府机构研究人员每发现一个控制系统漏洞,都会把它交给“公正性评估小组”对其潜在影响进行衡量,确保其透露不会对正在进行的(攻击)行动造成损害。这位前官员说,“如果有人正在用它进行……用于经过授权的合法目的(攻击性网络作战)……我们将认真权衡利弊,以决定是将其透露给公众,还是暂时保密。” 政府中的“公正性评估”,有着悠久的传统。比如,在二战中,英国人成功破解了德军的恩尼格玛密码,并得到了德国即将轰炸盟军舰队的情报。这时,他们必须权衡,到底是该利用这份情报通知舰队改变航向以躲避攻击,还是以牺牲一支舰队为代价,造成尚未破解密码的假象,以迷惑德军、进而继续获取使用此密码的其他重要情报。 美国的“公正性评估”由来自国防部、司法部门、国务院、国土安全部、白宫和情报部门代表构成的核心委员会负责实施。其工作模式则照搬了美国外商投资委员会(VFIUS)权衡外商投资对美国国家安全利益影响的工作模式。 在软件漏洞事务方面,如果政府研究人员在某款通用PLC中发现了安全漏洞,他们必须向“公正性评估”委员会提交一份报告,看公布这个发现是否符合“公正精神”(equity)。“委员会的每个人都可以就发布漏洞可能对公司或系统的可能影响,提出自己的观点。”这位官员说,“这些发言通过机密网络中的电子邮件汇集到一起。然后,委员们再集中到会场上,依次亮明自己的立场(投票表决)。如果委员会的最终意见是‘赞成保密’,那么我们将研究下一步处理意见。如果是‘反对保密’,我们将继续进行正常的‘负责任的漏洞发布’流程。(即通报给软件供应商,让其尽快发布补丁)” 当问及是否曾给攻击端分享新漏洞,以助其利用漏洞发动攻击时,他给出了否定的回答。但他承认,“公正性评估”委员会的讨论,会在不经意间让委员们产生“将新漏洞用于攻击”的想法。但当他提到,从未听说有委员告诉工业控制系统业主代表“不要公布那个漏洞,我们要用它进行攻击”时,他认为,他们(来自国防部和情报部门的委员)可能只是不愿意公开表态罢了。“他们就在那儿静静的记记笔记,一句话也不说,而我们永远不知道(他们到底有没有用这些漏洞制作漏洞利用程序,更不知道有没有用这些漏洞利用程序发动进攻)。”(待续)
';

第十一章 策划锦囊妙计

最后更新于:2022-04-01 21:17:13

2010年震网被揭露之后,美国白宫意识到“麻烦来了”。但2008年5月,震网机密项目团队上下弥漫着乐观的气氛,因为,以震网为载体的计谋正在按照他们预想的进度,渐次展开。 其时,美国总统大选如火如荼。两位竞选人巴拉克•奥巴马(Barack Obama)和约翰•麦凯恩(John McCain)在民意调查中交替领先。布什总统则已进入其任期的最后阶段。在因以色列国庆16周年庆典而造访的行程中,以色列人向他提出了一个大胆要求。他们希望美国能够支持以方对伊朗纳坦兹铀浓缩工厂发动空袭。 以色列人起码从2003年IAEA核查人员首次来到纳坦兹、并在采集的环境样本中检测中高纯度铀颗粒时,就开始琢磨发动空袭了。之后,关于空袭的讨论,因2003至2004年间伊朗官方同意暂停铀浓缩活动而偃旗息鼓,又在2006年伊朗宣布退出暂停协议、并开始在地下车间中安装离心机后卷土重来。目前,纳坦兹已有3000台离心机投入运行,且规模很快会增加一倍,因此,以色列政界中支持发动空袭的声音越来越大。 以色列并不是唯一一个呼吁对伊朗发动军事打击的国家。维基解密从政府内线那里拿到的消息称,在一次闭门会议中,好几个阿拉伯国家都表示,在反对伊朗核计划问题上,他们和以色列的立场同样坚定。一次,埃及总统斯尼•穆巴拉克(Hosni Mubarak)对美国外交官说:“我们都很害怕。”沙特国王阿卜杜拉私下呼吁美国帮他们一个忙,让伊朗和内贾德尝尝拳头的滋味。阿布扎比酋长国的王储默罕穆德•本•扎耶德(Mohammad bin Zayed)也认为,拥有核武器的伊朗,会成为阿拉巴地区和平的威胁。“这会引发连锁反应,”他说,为了维持战略均势,埃及、沙特、叙利亚和土耳其都将寻求拥有核武器。布什政府中,也有一帮支持发动空袭的“鹰派”,布什称之为“楞小子”,其中就包括去年曾支持以色列空袭叙利亚的副总统迪克•切尼(Dick Cheney)。 但布什反对空袭。“有人怀疑,我总是想找借口对伊朗发动军事打击,这太荒谬了。”他于2007年说。其实,就算他真想支持空袭,也会遭到无处不在的反对声浪。盖洛普公司与2007年11月进行的民调显示,73%的美国民众支持通过制裁和外交途径解决伊朗核问题,反对对伊朗实施空袭。同年发布的《国家情报评估报告》声称伊朗并未积极发展核武器,又给对伊朗发动空袭的支持者们泼了一盆冷水。 而以色列,从1981年空袭伊拉克的奥西拉克(Osirak)核反应堆,到2007年空袭叙利亚的疑似核设施,每次都会事先寻求美方的支持。2006年,一名叙利亚高级官员在伦敦出差时,以色列情报部门趁他将笔记本电脑放在宾馆之机植入了木马,盗取了关于叙利亚核设施的关键情报。在偷到的文件中,有阿尔奇巴尔建筑复合体的设计蓝图,还有建设进度的照片。以方认为,这个建筑物是叙利亚用于建造核武器的核反应堆。在向美国提供了“朝鲜向叙方提供技术援助”的证据后,以色列人赢得了美方的支持。 2007年9月5日夜,代号为“果园行动”的空袭拉开帷幕。一队以色列空军轰炸机从北部某基地起飞,先是向西飞行,然后突然掉头向东。飞机一路低飞至叙利亚边境地区,然后使用电子对抗手段和精确制导炸弹,摧毁了叙土边境的一个雷达站。20分钟后,飞机轰炸了阿尔奇巴尔后安全返航。叙利亚总统巴沙尔•阿萨德(Bashar al-Assad)轻描淡写的说,以色列炸掉的,不过是空空荡荡的军事基地。“那里没有人,也没有军队,什么都没有。”但是,美国情报部门断定,如果不是这次空袭,阿尔奇巴尔核反应堆将于几周后投入运行。 如今,以色列想把对叙利亚的空袭给伊朗再来一遍。他们确信,一场空袭可以让伊朗核计划进程至少倒退3年。但是,与空袭叙利亚和伊拉克相比,对伊朗的空袭将产生更多并发影响、并可能带来更多风险。在伊拉克和叙利亚,目标只有一处,而且都是没有严密防御工事的地面设施。另外,叙利亚的目标离以色列很近,飞行员完成空袭任务后可以在叙方发现之前快速返航。相比之下,要空袭伊朗,则必须穿越多个阿拉伯国家的领空,并在途中给战机加一次油。而且,空袭的目标不只一处,而是分布在遍布伊朗各地的多处,其中包括纳坦兹的铀浓缩工厂和伊斯法罕的铀转化工厂。最要紧的是,有些目标深处地下。伊朗人已经从20多年前以色列空袭伊拉克的战例中学会了从整体上保存核力量的方法,那就是把设施分散布局在国家的各个区域。同时,美国人还担心,以色列是否已经掌握了伊朗所有核设施的精确地理位置。2006年,以色列国家安全事务助理吉奥拉•艾兰(Giora Eiland)也向来访的美国国会代表团承认说,“关于伊朗核设施的具体位置等问题,我们尚未完全吃透。” 布什在他2002年的国情咨文演讲中,将伊朗与朝鲜和伊拉克共同列为“邪恶轴心”国家,声称他们是对世界和平的威胁。他说,美国不会允许“世界上最危险的政权”“用最具破坏性的武器威胁世界和平”。这话说得很重。但是,在美国军事干预伊拉克却陷入泥潭后,布什的立场变得没那么硬了。美国防长罗伯特•盖茨(Robert M. Gates)确信,对伊朗开战,不仅难以获胜,而且会对伊拉克和阿富汗的美军造成广泛的负面影响。同时,攻打伊朗会促使黎巴嫩和加沙地带支持伊朗的恐怖分子对以色列进行报复,刺激油价飙升,对世界经济造成波动。最重要的是,攻打伊朗不仅不会打消其拥核的抱负,反而会让他们更加坚定的发展核武器,驱逐IAEA核查人员,让整个核计划和核活动变得更加隐蔽。 出于这些考虑,布什明确拒绝了以色列关于空袭的要求,但是并未拒绝空袭的替代方案。 两年前,布什的幕僚曾向他提供过另一个解决伊朗核问题的方案,这个方案看上去非常有吸引力。那么,他们会不会在2008年春天,布什总统任期的尾声,将这个方案付诸实施呢? 我们并不清楚震网开始规划并研发的准确时间。但据报道,2006年的某个时点,在伊朗宣布退出暂停铀浓缩协议后,美国军方和情报部门官员向总统提交了一个对伊朗发动网络攻击的建议案,后被称为“奥林匹克计划”。这时候,布什总统也在权衡,到底该怎么对付伊朗。同时深陷伊拉克和阿富汗两条战线而不可自拔,他已经决定,不会再卷入中东地区的第三次冲突了。通过地面途径发动隐蔽攻击来破坏伊朗核设施也不是什么好主意,因为那样很容易引发真正的军事冲突。 于是,他的幕僚提出了第3种选择——网络武器。如果设计科学、运作顺利的话,它能取得与动能打击相同或相似的破坏效果,却不用冒传统军事行动的风险、不用承担传统军事行动的后果。 实际上,10年来,军方和情报界一直在为发动这样一次攻击进行准备,而且不乏小规模网络攻击的先例,只不过还没有机会干一票大的。以前的网络作战行动,多数都是通过网络间谍工具完成侦察任务,为传统军事行动提供辅助。也就是说,网络活动在战场上处于从属地位,不可能替代传统军事行动。 然而,这个具有开创性的新方案,却可以通过网络手段对纳坦兹的计算机系统和离心机进行攻击,对伊朗铀浓缩活动造成物理破坏。要实现这样一个作战计划,须满足诸多条件,并受到诸多限制。这个武器必须精准感染那些特定的目标计算机,同时避免对其他计算机造成影响。它必须能绕过内部安全防护系统、以便潜伏数月而不被发现。它还要在不被注意的前提下,对离心机造成足够严重的破坏,以实现推迟伊朗核进程的政治目标。 如果攻击成功,美国将获得巨大的潜在收益。如果网络攻击真的通过破坏大量IR-1型离心机使伊朗核进程明显减缓,将大大减轻美国的外交压力,并给IAEA和各国情报部门提供更多时间,以更好的收集伊朗意图拥核的证据。以色列人也不会再芒刺在背。之前,以色列官员已经多次批评美国在伊朗核问题上拖拖拉拉了;一次成功的网络攻击会向他们证明,美国人并没有像他们说的那样隔岸观火,被动等待制裁和外交努力取得成效。 更重要的是,如果离心机被破坏,六氟化铀气体就会白白浪费,从而让伊朗本已不足的铀原料受到进一步削减。此外,专家预测,伊朗拥有可制造12000至15000台离心机的原材料;如果攻击能够让几千台离心机的核心部件报废,就可以大幅降低伊朗铀浓缩的能力和潜力。运气好的话,攻击还可能导致伊朗政权出现分裂局面。因为,内贾德和他的支持者急需在核计划上取得进展,如果区区一次隐蔽的攻击就能让他们的努力白费甚至大踏步倒退,必然会挑起政权内部的岐见与纷争。 与其他形式的攻击相比,网络攻击优势明显。与空袭相比,用数字炸弹发动攻击,起码不需要让飞行员冒生命危险。与使用武力炸弹相比,数字炸弹更隐蔽,可以持续攻击数周乃至数月而不被发现。伊朗人最终会看到数字破坏的效果,但如果设计得当的话,他们可能无从寻找破坏的原因,反而会怀疑问题源自原材料的瑕疵、程序错误等其他因素。就算伊朗人最终发现了[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),还是没办法通过未留下任何痕迹的代码,追踪到攻击的源头。网络攻击所特有的“推卸责任”功能,是美国选择这种方式的核心。因为,美国可不想引发与伊朗之间的军事冲突。 网络攻击的优势还不止于此。空袭很难对地下目标造成毁灭性打击,而纳坦兹等核设施恰恰位于地下。但网络攻击可以绕过防空系统和电子对抗系统,不费吹灰之力就能进入通过飞行器和其他方式无法抵达的地下基础设施。网络攻击不仅可以攻击已知设施中的离心机,还能“打着”未知设施中的离心机。显然,这种本事只有网络攻击具备,物理炸弹则相形见绌。如果伊朗在纳坦兹之外还有与纳坦兹使用相同设备和配置的铀浓缩工厂,网络武器一样可以通过植入承包商的计算机,将病毒传播到这些未知地点。(待续) 造成物理破坏的网络攻击并非没有先例,只是没震网这么复杂罢了。20世纪80年代,美国中情局、国防部和联邦调查局发起了一次联合行动,把预埋逻辑炸弹的软硬件设备卖给了苏联。在此之前,克格勃技术理事会“X线”分部一位48岁的官员,弗拉基米尔•维托夫(Vladimir Ippolitovich Vetrov)曾向法国透露,苏联有一个以盗取西方先进科学技术为目的的长期间谍项目。 维托夫总共向法国方面转交了被称为“告别档案”的3000份文档,其中既有苏联已经从西方盗取的详细技术清单,又有苏联下一步有意盗取的技术清单,即“愿望清单”。之后,愿望清单到了里根任内的国家安全委员会经济顾问格斯•韦斯(Gus Weiss)手上,韦斯随即给时任中情局局长的威廉•卡西(William Casey)献上了一个精妙的计谋。中情局假装不动声色,让苏联继续盗取所需技术,同时将经过篡改的设计和图纸混入其中,以此误导苏联人,让他们白白把时间和精力浪费在没用的技术上。他还建议,在产品和组件进入苏联之前对其进行修改,以便令其能通过苏联方面的质量可靠性测试,但会在后续使用中出现故障。这个计谋堪称完美,因为,即便苏方发现了他们的反情报活动,美方也没什么损失;反倒是苏方无法再像之前那样信任从西方获取的任何情报和技术,也无法判断这些来路不明的情报、技术或产品中是否被人改动过、是否存在刻意加进去的故障。这个计谋简直是“间谍界中罕有的经典之作,”韦斯在中情局内部通讯中对它大加称赞,“即便被敌人识破,仍能获得成功。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19a4f50f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-351.jpg) 格斯•韦斯 韦斯还写道,“通过这个计划,我们可以将人为改动过的计算机芯片植入苏联的军事装备,让苏联的天然气管道用上有瑕疵的涡轮机,还可以给他们的化工厂和拖拉机厂制造麻烦。”此外,有关西方太空防御项目、战机制造等方面的错误情报,也一股脑儿来到了苏联人的案头。韦斯还透露,苏联的航天飞机也将使用“一个被NASA舍弃的设计方案”。 据韦斯说,“告别”行动一直没有暴露,但维托夫本人却没那么幸运。1982年,他在刺伤他同在克格勃任职的情妇后被捕,并被人揭发了“双面间谍”的身份,幸好他没供出和美国之间勾连的细节。1986年,中情局终止了“告别”行动。 韦斯在世时,从未对外界详细透露过计算机芯片等送往苏联的瑕疵品所造成的影响。不过,2004年,曾与韦斯在国家安全委员会共事的托马斯·里德(Thomas C. Reed)出了一本书,书中简略提到了“告别档案”,以及由中情局相关计划引发的西伯利亚天然气管道大爆炸。如前所述,赛门铁克公司在关于震网的博客文章中也曾提及此次爆炸。里德在书中提到,X线愿望清单中,有一项是拟用于控制某油气管道中各类泵站、阀门和涡轮开关的软件系统。这条横跨西伯利亚的油气管道,承担着从西伯利亚的乌连戈伊(Urengoi)向欧洲国家输送能源的重要任务。当中情局得知,苏联打算从一家加拿大公司盗取该软件时,迅即找到这家公司,并说服其与之合作,在代码中植入了一个逻辑炸弹。其功能是重置气泵速度、控制阀门开关,来“制造出远远超出管道关节和焊接处可承受的巨大压力”。带有逻辑炸弹的软件“运行良好,但一切只是暂时的假象。”在代码设计者预先设定的某个时点,逻辑炸弹被触发,管道上的多个气泵和阀门瞬间陷入混乱,在管道中制造了致命的高压。里德在书中写道,爆炸的当量为3000吨,是“可以直接从太空观测到的最大的非核爆炸。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19a5fda0.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-361.jpg)[![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19aa7b3c.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-371.jpg) 托马•斯里德及其著作《At the Abyss》 很多人认为,这个故事并不足信;一位前克格勃官员就否认说,里德和韦斯所言纯属杜撰。不论真相到底如何,至少“告别档案”行动的的确确存在过,而且给后来针对伊朗核设施的破坏计划提供了灵感的源泉。 可以把中情局2000年前后成功打入卡迪尔核装备供应圈子视为与“告别档案”类似的间谍行动。通过这个行动,美国人见证了他们“将构建核工业核心组件的各种设备进行整合”的过程,见证了“卡迪尔向伊朗和利比亚兜售其来路不明设计方案”的图谋。之后,中情局请来了洛斯·阿拉莫斯国家实验室(Los Alamos National Laboratory)的一名武器专家,让他对一系列真空泵进行修改,以令其随机出现故障。而在针对苏联的那次攻击中,计划则更为精细:在引发故障之前没有任何异常,而故障一旦发生,就会通过破坏性的后果(爆炸)将证据毁尸灭迹。 中情局意图破坏的7个真空泵,有6个在利比亚,1个在伊朗。IAEA核查人员在纳坦兹检查时偶然发现了这个问题。不过,伊朗人看起来却对此毫不知情。 2006年,IAEA核查人员再次发现一起针对核设备的破坏事故。这次的目标是来自土耳其的一批UPS(不间断电源)。离心机一旦开始运转,就必须以某个恒定的速度持续旋转很长时间,因此,需要UPS为它提供可靠而稳定的用电保障。如果供电电流出现波动,离心机将随之加速、减速,破坏铀浓缩进程甚至离心机本身。 很明显,卡迪尔装备圈的供应商们从土耳其的两名商人手上买下这批UPS后,又秘密运到了伊朗和利比亚。2006年初,当伊朗尝试用纳坦兹试验工厂的小型离心机级联系统提炼出第一批浓缩铀时,发生了严重的事故。10天来,级联系统始终运行正常,但突然间故障出现,所有离心机全部报废。当时,没有一个人敢把这事说出来。但一年后,伊朗原子能机构负责人在接受电视采访时,将此事公诸于众。他说,技术人员在级联系统中安装了50台离心机,但 “这50台离心机在一夜之间全部报废。”用于给离心机供电的UPS“出现了异常”,制造了电涌。“之后,我们发现,这批从土耳其进口的UPS被人做了手脚。”他还说,自从此次事故发生后,他们开始对所有进口设备进行反复检测,全部合格之后才敢投入使用。 此外,还有好几个针对伊朗核计划相关组件或设备的攻击计划,但其中至少一个以失败告终,其他的似乎也未能奏效。不过,2006年布什的幕僚提出的这个计策,可以用更高层次的技战术手段,实现威力更大的目标。 计策的内容是一个独立的“外科手术式”打击,主要的武器,是一段上线后不需人工干预即可执行任务的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。它可以自动寻找目标,仅在满足所有条件时释放攻击载荷,具有反侦察、反检测的能力,并可以最终用隐蔽、持久且不引人注目的手段,对目标设备造成不可逆转的物理破坏。 布什政府中的某些官员对这种攻击是否管用表示怀疑,认为它就像某种未经验证的科学实验。但策划者对攻击的效果和作用有着客观的评估。他们没指望毕其功于一役,把伊朗核计划连根拔起,只是打算尽量拖住伊朗人的脚步,为美国和以色列赢得时间。而且,就算行动暴露,伊朗人知道他们的计算机正被入侵,此计仍可确保凯歌高奏。因为,正如韦斯在“告别档案”行动中料到的,这会将怀疑的种子播撒进伊朗人的心中。就算他们清除了病毒、恢复了秩序,还是无法确定系统会不会再被感染,无法确定躲在暗处的敌人会不会再次发起攻击。他们会感到草木皆兵、风声鹤唳,一旦出现问题,就会陷入更加无助的境地:这到底是材料瑕疵引起的,还是敌人暗中破坏的呢?他们还将更加谨慎的对待从国外获得的设备,以防其中有鬼。 这个计策,既能掩人耳目潜行,又不会暴露攻击者身份,可谓大胆而绝妙。据报道,策划者来自国防部顶级司令部之一——负责运营并监管美国核武器的美国战略司令部,其中包括詹姆斯•卡特莱特(James Cartwright)将军。一位前任美国高级官员说,卡特莱特将军是理念的提出者,而国家安全局前任局长基思•亚历山大则负责将理念变成可操作的方案。这位官员对《华盛顿邮报》说,“卡特莱特将军的角色是确立愿景、论证计策的可行性,”而亚历山大将军拥有“相关的技术知识背景,能将前者的想法付诸实现。”之后,国家安全局的一个精英程序员团队完成了首个版本的开发任务。据报道,后续版本是由国家安全局和以色列8200部队(相当于美国的国家安全局)合作编写的。代码编写完毕后,被转交至唯一一家有权执行机密行动的机构——美国中情局,再经由中情局特工之手攻入伊朗。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19ac14c5.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-381.jpg) 詹姆斯•卡特莱特 计谋虽妙,却面临着令人生畏的技术难题和法律困境。因为,在未对一国宣战的前提下攻击其基础设施,还从未有过先例。类似的机密行动需要得到来自总统和国会的合法授权。在提交布什总统签署《总统调查令》之前,必须对这个计谋可能带来的次生风险进行审慎查验。 幸运的是,破坏级联系统中的离心机,不会引发核(泄漏)事故。另外,吸入过量的六氟化铀气体会损伤人的肺脏和肾脏,但整个级联系统中的六氟化铀加起来只有几十克,即便气体逸出,也会很快扩散。 虽然不会引发核事故,但仍有些情况值得担心。比如,[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")中是否会出现系统兼容性错误,造成纳坦兹内部计算机出现故障,从而提醒伊朗人可能存在网络攻击呢?一旦伊朗人发现美国是攻击的始作俑者,会不会实施报复呢?会不会有人把代码改掉,然后用它攻击美国的基础设施呢? 美国最担心的,恐怕是伊朗和其他敌对国家会因此事而了解美国的网络作战能力。一位中情局前任官员称,“首次使用网络武器,就像首次使用隐形战斗机一样。一旦暴露,就无法再保持‘战略隐蔽’。那么,真正的问题来了:你打算把隐形战斗机的处子秀放在哪一场战斗上?” 为了拖住伊朗人的后腿,值得暴露待字闺中的秘密武器吗?如果举世皆知美国是攻击的幕后推手,会不会让美国在道德上蒙羞?而且,以破坏另一国关键基础设施为目的的网络攻击,已经是实质上的战争行为。在此之后,如果其他国家也进行此类攻击,美国还能不能挺直腰杆指责呢? 我们不知道,在布什的幕僚在2006年向布什提出这个方案之前,有关部门进行了多么深入的研究和准备。我们只知道,在布什点头批准这个方案之后,有关部门只用了8个月的时间就打造出了这个美轮美奂的锦囊。 之后,如我们所见,一切按照诸葛亮们预想的步骤,完美运转。 直到有一天……(待续)
';

第十章 精确制导武器

最后更新于:2022-04-01 21:17:11

德国汉堡。工业控制系统安全专家拉尔夫•朗纳(Ralph Langner)正坐在办公室里,看着他的两个同事在测试机上运行震网代码,演示出一系列巧妙的欺骗动作。为了验证并再现震网向PLC释放载荷的特定条件,朗纳和他的团队已经工作了好几天,却发现这件事远非他们想象的那么容易。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b197163d3.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp_55.jpg) 拉尔夫•朗纳 几天前,朗纳团队找了一台计算机,在上面安装了西门子Step 7软件,碰巧手头还有一台西门子的PLC,就把计算机和PLC连上了。为了监视两者之间的通信,还装了一台网络分析器。与赛门铁克的研究员不同,朗纳团队一直以研究PLC为主业,他们非常清楚装有Step 7软件的计算机和PLC之间的通信方式。因此,他们觉得在其中发现异常现象并不困难。但是,当他们把震网病毒导入计算机后,却没发现任何动静。这太奇怪了。经过反复试验,他们发现震网只对两种特定型号的西门子PLC感兴趣:S7-315和S7-417,但他们手上没有这两种型号的PLC。 他们只好在测试计算机的Windows系统上装了一个调试工具,一来观察震网在释放载荷之前的行为,二来设计出一种方法、让震网误以为找到了目标PLC。原来,震网拉了一个很长、很详细的配置清单,条分缕析的跟“目标PLC”进行比对。朗纳和他的同事搞不懂它在做什么,还好他们也不需要搞清楚。每当震网“质疑”目标“哪一条不对”时,他们就连猜带蒙的编造出一些响应值,直到震网“认为”可以通过比对为止。这实在是一种简单粗暴的破解方法,因此效率不高,花了他们好几天的时间。当他们好不容易凑齐了正确答案,并让震网顺利结束清单比对工作时,终于看到了赛门铁克公司研究员在研究报告中所描述的情景——震网将一系列[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")段注入了PLC。朗纳当时兴奋的说,“这鬼东西,总算被我们逮到了。” 在将震网病毒导入测试计算机之前,他们通过分析测试机和PLC间的正常通信,已经掌握了Step 7发往PLC代码段的正常大小和基本特征。因此,当看到感染震网之后的测试机发过去的代码段所占空间略微大于正常值时,他们判断其中必定有鬼。 那时,他们还不知道震网的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")能对PLC做什么,但发现PLC被[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")感染本身,就是一件重大新闻。作为工控系统安全专家,他们从未向客户警示过这种形式的风险,也从未想象过会有这种攻击手段。 在赛门铁克的钱哥和法里尔看来,当他们于2010年8月17日发布消息,称震网的目的是破坏PLC时,似乎根本无人关注此事。但实际上,在德国某地郊外的一间办公室,有一个人对这条消息非常感兴趣。他就是朗纳。多年来,他一直警告工业界的客户们说,可能有一天、有人会对控制系统发动网络攻击,并对系统造成严重破坏。那么,这条消息的出现,意味着这一天真的来了。 朗纳是一家由3人小公司的老板。他的公司只做一项业务,就是工业控制系统安全。他对通用计算机安全毫无兴趣,对那些以PC为目标的病毒发布公告漠不关心。即使是通用操作系统或软件的零日漏洞,也吸引不了他的注意。因此,当震网首次登上科技新闻排行榜、并引发安全论坛上的广泛讨论时,他完全不知道有这回事。但当听到赛门铁克说,震网破坏了PLC时,朗纳立刻来了精神。 赛门铁克在公告中并没有明确震网到底对PLC做了什么,只是很隐晦的说震网将恶意代码注入了PLC所谓的“阶梯逻辑”(即PLC控制离心机的核心代码段)——这或许意味着将使PLC失效,又或许意味着将造成不愿言明的更严重后果。朗纳意识到,包括他们公司客户在内的数千家西门子PLC用户正在面临着一个“杀手级病毒”的潜在攻击,并焦急的等待着西门子公司或赛门铁克公司告诉他们,震网到底能对PLC实施怎样的破坏。但奇怪的是,赛门铁克在发出这条令人震惊的公告后,再也没了下文。 朗纳怀疑,赛门铁克的研究员怕是遇上了难题,因为他们一天到晚跟PC打交道,缺乏PLC和工业控制系统方面的知识和经验。可有意思的是,西门子也是一言不发。朗纳想,哎,这就怪了。不管怎么说,被攻击的是西门子家的产品,西门子有义务对恶意代码进行分析,并告诉用户应该怎么办。但这家德国著名公司在7月份发布了几条简短的声明之后,就陷入了沉默。 朗纳怒了。虽然震网的目标只是安装Step 7软件的计算机,但谁知道它到底要干什么?谁又敢说它不会利用相关漏洞对其他系列和型号的PLC造成破坏?最重要的是,震网用于将恶意代码注入西门子PLC的漏洞,可能同时存在于其他工业控制系统中。而彼时,因特网上已经可以自由下载震网的样本,任何黑客、犯罪分子、恐怖组织可以研究这些代码,并以其为模板设计出针对其他类型PLC、可大规模传播、更具攻击性的病毒来。 这让另外两个当事人——德国国家计算机应急响应团队和美国国土安全部的工业控制系统网络应急响应团队(ICS-CERT)——的沉默更加令人费解。他们都是专门负责维护本国关键基础设施控制系统安全的政府机构,但却不约而同的,对震网的曝光及相关事态不置一词。根本没人听说ICS-CERT发出了“有病毒注入西门子PLC”的警报,一句话也没有。德国官方的沉默就更没天理了。要知道,大多数叫得出名字的德国发电厂和大型工厂,用的都是西门子公司的工业控制系统。 于是,朗纳把问题抛给了他的两位同事:拉尔夫•罗森(Ralf Rosen)和安德烈亚斯•蒂姆(Andreas Timm)。经过讨论,他们决定,要亲自啃下这块硬骨头。虽然这两位工程师之前从未做过病毒的逆向工程,但是,既然没有其他人告诉他们震网病毒到底对PLC做了什么,他们只好自己动手了。这意味着,他们要在完成正常的、有钱赚的工作的同时,挤出时间来“做公益”。不过,他们确信,这正是他们的使命所系。 朗纳他们3个人建立的这个团队有点奇特,但非常高效。在工控系统安全这样一个行业里,人们对工程师的印象往往是衣着邋遢、脸色苍白、头发乱糟糟的,而42岁的朗纳恰恰有着令人眼前一亮的外型。他梳一头利索的黑色短发、间或夹杂着几缕灰色,穿一身时尚贴身的商务套装,脚蹬一双精心保养的皮鞋。他有一双狡黠的蓝眼睛,皮肤是健康的小麦色,还有着如登山客般匀称、健美的身材。而这些,都是他常年在阿尔卑斯山中滑雪旅行和徒步攀越的副产品。而且,朗纳的行事风格直率、大胆。可以这样说,他既是个颜值爆表的男神,又是个特立独行的怪咖。在业界,他以直言不讳、持论偏激而著称,经常发表一些让业内同行怒不可遏的刺激性言论。多年来,他一直喋喋不休的抱怨控制系统的安全问题。他这种又臭又硬的倔脾气,经常让最需要听取他意见的人敬而远之。与他相反,罗森和蒂姆这两个40多岁的自身工程师,穿着随意、谈吐温和,在团队中扮演着朗纳背后的辅佐角色。 虽然这3个人怎么看都不搭,但对于分析震网病毒而言,可能再也没有比他们更适合的组合了。蒂姆已经为朗纳工作了10年,罗森来的比蒂姆还要早3年。在长久的时间内,他们积累了关于工业控制系统的广泛知识,特别是与西门子公司产品有关的知识。因为,西门子作为他们最大的长期客户,经常买他们公司的软件产品,并且有时会让他们对员工进行培训。可以说,翻遍整个西门子公司,恐怕也找不出几个比他们仨更了解西门子工业控制系统的员工来。(待续) 朗纳进入工业控制系统安全行业之路,可谓曲折离奇。他最早是一名经过严格训练的心理学家,跟工业控制系统完全不沾边。但有趣的是,正是他深厚的心理学背景,将他引向了现在的职业。他早在柏林自由大学学习心理学和人工智能时,就已经开始编写用来统计和分析实验数据的软件了。为了进行心理学诊断,他还编过模仿人类决策模式的程序。 有一次,为了将自己的家用计算机接入大学的主机,他编了一个驱动程序。正是这件事,让他最终走进工控系统安全领域。那时,朗纳有一台老旧的计算机,完成不了数据分析等需要较高运算能力的任务。每次他想要对实验数据进行分析,都得来到校园、把计算机接到大学的主机上。朗纳懒得跑来跑去,于是,他研究了服务器的远程通信协议,并成功编写了一个通过在家拨号即可接入主机的驱动程序。 大学毕业后,机智的朗纳以这个驱动程序为业务基础,成立了一个软件咨询公司。当时,这可算得上是一款突破性的产品。不久之后,工业控制系统的工程师们开始找上门来,让他做控制系统与传感器之间现场通信方面的业务。客户们当时采用的通信方式,经常导致丢包,而朗纳做的驱动程序却能很好解决这一问题。 1997年,罗森加入了朗纳的公司,并设计了一款可以将西门子公司PLC与桌面PC相连接的定制通信系统。在朗纳他俩对西门子公司的PLC和通信协议进行研究的过程中,他们非常吃惊的发现了系统中存在大量安全漏洞。10多年后,当其他人来研究时,仍能看到这些漏洞。更让他们不可理解的是,不管是工业控制系统的所有者还是运营者,对这些安全隐患漠不关心,因而没有实施任何系统防护行为。运营者并未对关键系统和日常业务系统采取层次化或分段式的隔离措施,而是将所有计算机和PLC放在一个对等网络之中,任何一台计算机都可以访问PLC。更有甚者,把控制系统直接接上因特网,却没有设置防火墙和密码,或者使用那些不会更改的默认密码和硬编码密码。 为此,朗纳团队推出了一项帮助客户增强系统安全性的咨询业务。但是,市场并不认可工业控制系统安全这个概念。这是因为,多年来,工控业界并没有像通用IT行业那样频频遭受病毒泛滥和黑客攻击,所以工控业界中的大多数人都没它当成什么大不了的风险。而朗纳就像个怨妇一样,不停的警告他们“你们总有一天会为自己的不在乎买单”,并且经常向他们进行“一个没什么技术的攻击者如何攻击控制系统、并破坏受其控制的业务流程”的演示。然而,这并没有什么卵用。“根本没人听,”朗纳说,“只有极少数公司在工控安全方面投资。” 如今,10多年过去了,震网的出现最终验证了朗纳的忧虑。不过,震网所蕴含的力量和破坏力之大,还是超出了朗纳的预期。这些年,他曾经设想过许多灾难场景。比如,他曾设想,当某些PLC安全漏洞的公开会引来黑客攻击,但完全没想到黑客还能把恶意的“阶梯逻辑”代码注入其中,操控受其控制的进程。 在通用计算机领域,黑客攻击的难度和级别往往随时间而逐渐演化。先出现需要较少努力和技术的简单攻击,然后安全公司和软件供应商做出响应、打上补丁。然后,攻击者再寻找其他漏洞和攻击路径,然后防御者再次将漏洞堵上。每一轮攻击都比上一轮更复杂,防御策略的难度也随之水涨船高。类似地,朗纳认为,在工业控制系统领域,攻击行为的演进也会遵循这个规律。在他的设想中,最初出现的应该是简单的拒绝服务攻击——即向PLC发出“停止”指令,中断受其控制的进程,之后再升级为逻辑炸弹或其他可以更改PLC设置数据的简单技术。但震网越过了这些“初级阶段”,其攻击复杂性直达人力所能及的巅峰。 在震网的代码中,让朗纳印象最深的是,针对安全系统和监控台的“中间人攻击”。震网先潜伏其中并记录下正常运行时PLC接受到的状态值,然后在病毒发起攻击后屏蔽“故障值”,而将“正常值”发给PLC。这个操作的难度,可以与“6吨重的马戏团大象表演单腿倒立”相媲美。其策略之巧妙、设计之严密,超出了朗纳的见识和设想。 同时,这也是朗纳设想的诸多场景中最具攻击性的一种。因为一旦攻击者破坏了向安全系统生成关键数据的逻辑,那么安全系统将无法做出预警,因而迟早会造成人员伤亡。如果某家化工厂或气体精炼厂的安全系统和传感器遭到破坏,攻击者就能在不引起任何注意的前提下,释放毒气或可燃液体,直到引发灾难。虽然震网的设计者并没有杀人的意图,但谁能确保那些不靠谱的跟风模仿者也会如此谨慎呢? 朗纳估计,掌握设计震网所需的西门子控制系统核心知识的人,全世界不超过几十个,自家公司就占了3个。不过,他们仨可没有震网攻击者那么大的本事。 对震网的分析已经持续了3个星期。这一天,朗纳来到会议室,参加关于震网进展的例行晨会。罗森和蒂姆正开心的等着他。一般情况下,朗纳总是衣着有致,精神抖擞。但这天,他刚刚加班整个通宵,看起来十分憔悴。夜里,他一条线索一条线索的追踪,努力找出震网的攻击目标,终于看到了一丝曙光。当他停下来思考时,突然灵光一闪,似乎悟出了什么。 “我知道震网要找的是什么了,”朗纳胸有成竹的说,“它的目标是伊朗核计划。具体目标就是布什尔核电站。” 如前所述,布什尔是伊朗西南部的一个核电厂,在数十年间停停建建、历经浮沉。在遭遇多次推迟和取消后,最终计划于这个月(2010年8月)开始投入运行。但就在此时,官员再次宣布推迟。由于这次推迟与震网病毒的发现在时间上重合,朗纳认为,这足以证明两者之间存在逻辑联系。 罗森和蒂姆用不信任的目光看着朗纳。罗森心想,谁会蠢到去攻击核电站呢?难道他们不怕释放出辐射性的核燃料吗?如果真的要破坏核电站,为什么不直接上炸弹,而用相对不那么可靠的蠕虫作武器呢?为了说服他们,朗纳只好和盘托出,把散落的线索连成一串完整的逻辑脉络,形成了一个疯狂的推测。 近一个月前,当他们第一次得知震网病毒对PLC发起攻击时,就开始从代码中搜寻线索,看它到底想要攻击哪些具体设备。他们认为,要想判断震网的意图,光研究代码是不够的,更重要的是搞清楚震网目标系统的配置情况。如果知道目标PLC到底控制着怎样的设备,以及PLC用于某种设备时是否需进行特别的配置,就能大大缩小目标的可能范围。 为了破解震网,他们在这座二层小楼楼上的一间小办公室里,持续攻关了几个星期。与赛门铁克公司现代化的玻璃外墙办公楼相比,他们公司位于一个安静的居民区,四周到处是树林。他们公司也没有什么隔间,只有一间罗森和蒂姆用的开放式办公室、一间会议室和一间朗纳和他助手用的办公室。 攻关期间,每天早上,他们都会开个碰头会,评估一下取得的进展,然后各自开工。午餐和晚餐时分,他们又会在会议室或附近的小饭馆再次碰面,聊聊各自的想法。工作时段,他们还要接听客户支持热线。如果有客户向公司下订单,朗纳就果断回绝。要知道,他们的公司和赛门铁克简直毫无可比性,更没有外部客户会为他们的研究买单。相反,朗纳必须从公司的利润中拿钱出来,给员工发工资。所以看起来,他们根本没资格把赚钱的正常业务拒之门外。但是,他们并没有抱怨。他们都清楚,破解震网将是他们一生之中非常重要的一项工作。“我们知道,这是[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")界有史以来的天字第一号大事,”朗纳回忆道,“破解震网是一项了不起的工作,也是我曾经做过的最棒的一项工作。而且我相信,我已经把它做到了极致。” 几周艰苦分析后,他们得出了一个骇人的结论。震网的攻击目标,并非西门子两款特定型号的PLC,而是使用PLC的特定设备。震网可谓“军用级精确制导武器“,它的攻击目标是唯一的。它并不只是简单的搜索S7-315和S7-417型号的PLC,它还要求,PLC的配置必须与某个清单精确对应。这个关于目标PLC技术配置的详细清单,就保存在载荷部分的代码中。我们知道,每一种使用工业控制系统的设备,都会或多或少的使用默认配置;但即使是同一个工厂的不同车间,也会根据各自需求对默认配置进行调整。但是,震网要找的目标,居然会有如此详尽的PLC配置信息。这只能说明一个问题,就是它的目标,就是伊朗境内的某一个特定设施,或是使用完全相同配置、控制完全一致工业进程的多个设施。震网不会感染任何一个配置稍有偏差的工业控制系统,只会把它们作为传播的载体和攻击的跳板。 花这么多钱、费这么大劲,就为了区区一个目标?!这让朗纳百思不得其解。最后,他还是想通了:只有一种可能,就是目标非常非常之重要。现在他要做的,就是找到这个目标。(待续) 代码分析部分的工作,大部分都是技术性、程序化的,包括分隔组件、解释代码、逆向工程等。但是,要找到数字代码和现实世界中的某个特定目标之间的联系,可不是什么技术活。对于目标,他们3个人提出了很多种假设,每提出一种,就回到代码中搜寻证据。同时,朗纳积极与业界的同行联络,让他们看看,能否根据这些PLC特定配置信息找到对应的设备。但是几天过去,毫无进展。最后,朗纳决定,放弃通过技术细节寻找目标的路线,换个视角,从新闻标题和其他信息源中寻找线索。经过几个通宵的上网搜索,他终于得出了“目标是布什尔核电站”的大胆结论。 朗纳对布什尔核电站的怀疑,始于他回想起去年曾在网上看到的一张照片。据称,照片来自一名记者对布什尔核电站的现场采访。照片上有个监视器,上面弹出一条消息,显示计算机上安装的西门子WinCC软件的许可证已经过期。这似乎可以证明,这家核电厂使用了西门子公司的软件。来自工业控制系统业内同行的消息证实,布什尔核电站用的是西门子S7-417型号的PLC。进一步研究表明,为布什尔核电站安装控制设备的这家俄国公司,在其他客户工厂中使用的PLC也是西门子这个牌子。其中有一家客户是保加利亚的核电站,这家核电站的控制系统很可能是以布什尔核电站为模板设计的。当朗纳得知,这家保加利亚核电站有一个受西门子PLC控制的蒸汽涡轮发动机时,头脑中立刻闪过3年前美国爱达荷国家实验室做过的极光发电机实验。那个实验的结论恰恰是:[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")可以摧毁涡轮发动机。 公司的会议室里坐着3个人。朗纳慷慨陈词,罗森和蒂姆则为他逻辑清晰的推理频频点头。他们很清楚,震网背后的工作量之巨超乎想象,世界上没有多少目标值得如此大动干戈。如果如朗纳所推测,震网意在破坏布什尔核电站,那这次攻击实质上就是一种战争行为。 那么,如果这是战争行为,那么如果一旦将其公诸于众,伊朗方面会做出何种反应呢?攻击方设计震网的目的,本是避免与伊朗之间爆发全面战争,但如果现在放出这条消息,将很可能引爆热战! 经过与罗森和蒂姆的讨论,朗纳发现他走对了路子。为了进一步确认伊朗核计划就是震网的目标,他给一位拥有丰富核电站方面知识的客户打了一个电话。这位客户在欧洲顶级铀浓缩设备制造商——浓缩技术公司工作。巴基斯坦的卡迪尔正是从这家公司的前身——尤兰科公司——偷走了一个早期离心机设计方案并卖给伊朗。朗纳心想,如果震网的目标不是涡轮机,也许会是布什尔核电站用来浓缩铀的离心机吧。(朗纳错误的认为,铀浓缩离心机应该在布什尔核电站。) “我有个问题想请教你,”朗纳在电话中说,“有没有可能通过操纵控制代码破坏一台离心机呢?” 短暂的沉默过后,电话另一头传来了应答。“我不能告诉你,朗纳。这是机密。”他说,“你知道,铀浓缩离心机可不只有我们德国和荷兰在用。其他很多国家也在用。” “我懂的,”朗纳说,“比如伊朗也在用。这正是我给你打电话的原因。因为我们正在分析震网。” “对不起,”这位客户严肃的说,“我只能说这么多了。关于离心机的信息都是机密。” 对于朗纳而言,这样的答复已经足够。他告诉罗森和蒂姆,必须立即公布这条消息。如果布什尔真是震网的目标,自然会有人出来确认。震网和它的目标的关系就像钥匙和锁。一把钥匙只能打开一把锁。那么,如果他们公布了钥匙的设计细节(针对铀浓缩离心机),扮演锁角色的工厂一定会看看,这把钥匙是不是冲着自己来的。 2010年9月13日,在赛门铁克发布“震网意图是攻击PLC而非窃密”的公告之后不到1个月,朗纳在博客上以“本世纪最大的黑客攻击”为题目,发布了一条简短的内容。其中,他断言震网的目的是“直接攻击安装某一特定工业控制系统的设施”,但没有进一步言明。3天后,他在跟帖中进一步指出,“根据我们目前掌握的证据,震网利用机密级的内幕知识,发动了一次意在直接破坏设备的攻击。我认为,有必要让大家知道这个事实。” 紧跟着,是一张震网攻击PLC的技术路线图,详细描述了震网拦截西门子PLC命令并注入[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的每个步骤。“这可不是哪个少年黑客呆在家里就能做出来的,”朗纳写道。攻击者一定是那些具有国家背景、经验老道、且掌握了目标系统特定知识的人。他大致描述了恶意代码通过注入PLC对某些未知关键进程进行操控的过程,之后非常谨慎的抛出了他的“假说”——震网的攻击目标是:布什尔核电站。他宣称,虽然还有一些事情没弄清楚,但代码中的有效证据将足以指证震网攻击的目标,并可能最终指证出攻击者的身份。 短短几句话,揭开了蒙在震网攻击方脸上的面纱。至此,凭借一家白俄罗斯小公司,几名完全搞不懂PLC是什么的加州研究员,和一个大言不惭的德国佬及其团队的努力,仅仅几个月时间,这个耗时数年、可能耗资数百万美元、顶尖专家规划并设计的网络武器,就被彻底曝光并破解了。 这时,朗纳开始考虑钱哥在发布公告后面临的那个问题——攻击方会作何反应?真正目标一旦曝光,震网就会立刻变成废物。想必攻击方肯定会考虑到这一点,并能清醒的认识到,要完成任务,必须利用好“从被发现到被彻底破解”的这一段机会窗口。那么,事到如今,攻击者是否已经完成了最后一步的工作、实现了对目标的“致命一击”呢?朗纳认为,答案是肯定的。“我们将看到,马上会有大事发生。”他在博客中写道,“爆炸性的大事。”最后,他单独发了这样一条跟帖:“欢迎来到网络战时代。” 同时贴在网上的,还有一张名为“震网克星”的照片。照片以办公室白板为背景,朗纳身穿一件笔挺的白衬衣和没扣纽扣的西装背心,罗森和蒂姆在他身后。蒂姆戴着一副黑色墨镜、微微颔首,3个人那是相当的得(装)意(逼)。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1979d992.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-238.jpg) 朗纳团队 发博后,朗纳同时向多家顶级媒体提交了新闻稿,期待着爆炸性的头条新闻。结果让他十分沮丧——根本没人理他。赛门铁克先前发公告后“鸦雀无声”的情景,再次出现。朗纳那时想,“看来,所有人都认为我疯了。” 不过,至少有一个明白人,这个人就是德国安全公司GSMK首席技术官弗兰克•里格尔(Frank Rieger)。他看过朗纳关于“震网目标可能是伊朗核计划”的推测后,深有同感。但是,他怀疑,目标不是布什尔核电站,而是几百英里以北的纳坦兹。因为布什尔核电站至今尚未开始运行,而纳坦兹铀浓缩厂2007年就开工了。而且,纳坦兹有数千台高速旋转的离心机,对那些希望通过网络攻击来破坏伊朗核计划的人来说,这才是最棒的目标。里格尔把他的想法通过博客发布出来,并在一家德国报纸上发表了一篇文章。在这两条信息中,他都援引了路透社在2009年震网首次上线前后发布的一则报道。这则报道称“以色列推出了一个针对伊朗核计划的十年期网络战项目”,报道中还提到,来自美国的一个匿名人士推测,(以色列)可能使用“恶意软件”来破坏或接管铀浓缩工厂的控制系统。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b197be918.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-324.jpg) 德国安全公司GSMK首席技术官弗兰克•里格尔 此外,之所以怀疑纳坦兹,还有另外一个原因。震网首个版本上线3周后的2009年7月16日,维基解密创始人朱利安•阿桑奇(Julian Assange)在网站上发布了一条神秘的消息,称纳坦兹可能有事发生。与伊朗核计划有关的一位匿名人士告诉阿桑奇,纳坦兹近期发生了“危重”的涉核事故。一般来说,维基解密只在网站上发布正式文件,不会随便发布来自匿名信息源的消息,但这一次阿桑奇亲手打破了这个规则。他说,他有理由相信那个人说的是真话。并且,他在消息中还附上了一条当天发布的BBC新闻,称伊朗原子能机构负责人阿扎加德,已于20天之前由于不明原因离职。从时间节点上看,这几件事与2009年震网首个版本上线之间似乎存在着某种联系。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b198162f8.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-426.jpg) 维基解密创始人朱利安•阿桑奇 不论阿扎加德的离职是否与纳坦兹事故有关,里格尔的“纳坦兹假说”切切实实地引起了公众对震网事件的注意。此前一直对震网持忽略态度的美国主流媒体,采信了里格尔的推测,开始对相关事态进行报道。十多年来,各方对于延缓纳坦兹铀浓缩进程的持续角力,使纳坦兹始终处于地缘政治紧张局势的焦点。现在,舞台上又出现了一个前所未有的数字武器。突然之间,之前那个仅知名度仅限于科技界之内、干巴巴的技术神话,摇身一变成了一个有着神秘光环的地下间谍游戏。杂糅着政治、核设施、阴谋、高风险等元素的震网,成为公众津津乐道、并愿意口口相传的流行话题。(待续) 朗纳首次发博之后,立即跟美国的乔•韦斯取得了联系,就朗纳团队的发现进行讨论。在工业控制系统安全业内,朗纳和韦斯都属于那种不太受人待见的“炮筒子”,彼此间却惺惺相惜。他们在“劝说工业控制系统业主必须重视安全漏洞”的阵线上已经并肩战斗了多年。业内人士一提到这俩人的名字就摇头,同时却对他们锲而不舍的劲头暗自钦佩。彼时,韦斯即将在马里兰州召开一场研讨会,并安排朗纳就另一个主题发言。朗纳问韦斯,是否可以把主题换成震网。韦斯幽默的答道:“我是说可以还是说可以呢。” 朗纳将于下周飞往美国参加这个研讨会。他美滋滋的想,自己发表演讲时,会场内一定会哗然一片。就在此时,西门子公司和美国国土安全部分别就震网发表了一份声明,但没有任何实质性内容。看到这里,朗纳立即在博客上宣布,将在研讨会上公布团队研究成果的全部细节。如此一来,与会听众们的胃口都被吊了起来。 韦斯给朗纳安排的演讲时间是45分钟,但实际上朗纳讲了一个半小时。不过,没有任何人觉得枯燥。来自水利、化工、电力行业的100多名与会者一字不漏的听着朗纳的发言。韦斯回忆起当时的场景说:“他演讲时,在座的每个人一边凝神静听,一边张大嘴巴。”朗纳真是科技界的奇才,他就像个经验丰富而魅力四射的演说家一样,能把干巴巴的技术细节讲出花儿来。当然,他可不是来开嘉年华的,他是来震慑人心的。渐渐的,这些工业控制系统的业主们终于明白,如果明天有人发起一场针对PLC的大范围攻击,他们所有人只能坐以待毙,连探测都探测不到,更别提做出反应了。如果说一台装Windows系统的台式机或笔记本遭到攻击,还有办法发现,然而,当有人用类似震网这种“黑科技”感染PLC时,任何人都无计可施。根本没有针对PLC的反病毒软件,也没有任何方法可以在PLC受到类似震网的感染时发出警报。探测攻击的唯一途径,就是在病毒利用Windows系统作跳板、抵达PLC时将其发现。可是,震网让Windows上的防护措施成了一个笑话,传统的反病毒软件全成了摆设。现场操作人员更是无能为力。 朗纳预计,第一个跟风模仿攻击将会在6个月之后出现。他警告听众说,这些攻击可能会改头换面,不像震网那么复杂,因为根本没必要。只有像纳坦兹那样的高价值目标才需要攻击者冒这么大风险,震网的攻击者如果愿意,可以干掉任何有漏洞的关键基础设施。只有震网的攻击者才会小心翼翼,避免非目标计算机不会受到影响,而其他攻击者恐怕不会费劲去走这个钢丝。下决心通过攻击工业控制系统来干掉某个发电厂的犯罪分子,根本不会在乎,病毒是否对发电厂的其他设备造成破坏,也不会在乎,病毒是否会感染其他控制系统。 研讨会结束后的这个周末,朗纳来到了华盛顿特区,向前任美国国家网络安全协调官梅丽莎•哈撒韦(Melissa Hathaway)通报了他的研究成果。哈撒韦立即意识到:美国乃至全球范围内所有关键基础设施正面临潜在的网络攻击威胁。她在事后接受纽约时报采访时说,全世界没有任何一个国家做好了迎接这种威胁的准备。“(跟风模仿者发起的)下一场攻击到来之前,我们只有90天时间。” 就在这个周末,伊朗官员首次透露,布什尔核电站的计算机确实遭到了震网的攻击。奇怪的是,他们并没有提到纳坦兹。而且,对布什尔核电站攻击的细节,让人开始怀疑:震网的载荷到底有没有成功侵入呢?布什尔核电站的项目经理马哈茂德·贾法里(Mahmoud Jafari)告诉记者,只有部分员工的办公计算机遭到了攻击,生产网络安然无恙。“核电站中的所有计算机程序运行正常,并未受到震网的破坏。”伊朗电信部长雷萨•塔吉普(Reza Taghipour)也称蠕虫“可能包含”[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),但其感染并未造成显著影响。因为震网只有在条件完全吻合时才会释放载荷,所以报道中出现破坏有限的内容并不奇怪。但是,单从报道来看,震网似乎只是感染了布什尔核电站的PC,而没有实现将其载荷注入PLC的目标。 然而,在伊朗发布的报道中,有一个引人注目的细节。贾法里在接受采访时说,伊朗共发现了震网的5个不同版本。而赛门铁克和其他安全公司却只发现了3个。 是贾法里搞错了吗?不管怎么说,听到震网可能还有两个未知版本的消息,各方都很兴奋。如果这两个版本确实存在,那么其中很可能会有关于震网及攻击者的更多线索。不幸的是,由于伊朗官员不愿将震网代码拷贝给外国人,西方各国的研究员无法一睹其真容。 朗纳这边,在参加韦斯的研讨会、会见哈撒韦之后,他需要冷静一下,对过去几周中所发生的这一切进行反思。于是,他步踱到美国国家广场,在林肯纪念碑的台阶上,盯着来来往往观光拍照的游客,一坐就是几个钟头。他回想起美国国土安全部ICS-CERT和西门子公司发布的报告。难道他们不知道震网对PLC“阶梯逻辑”的攻击有多可怕吗?难道他们不知道跟风模仿者的攻击将给关键基础设施带来巨大风险吗?为什么他们对此只字未提?为什么公众和美国国会对震网的出现表现出匪夷所思的沉默?难道他们不在乎,震网打开了“合法使用网络武器解决国际政治争端”的潘多拉魔盒吗?难道他们不忧虑,震网即将带来一场不可遏制的军备竞赛吗?朗纳想,看来,大家都不愿意公开讨论这些问题,因为公开讨论会引发公众对幕后真凶的无尽好奇与探寻。 朗纳决定,就算全世界都不吭声,他也要做那个“吃螃蟹的”。所以,他一回到德国,就把在韦斯研讨会公开演讲上“留了一手”的技术细节发上了博客。博文上线后,立即引来了包括美国政府和军方在内的众多访问者。这正是朗纳希望看到的。震网的重要意义已取得广泛共识,因此其他安全公司会在朗纳团队研究成果的基础上,继续前行。虽然他们已经掌握了关于震网的很多信息,但仍然有诸多未知数,故而仍然有诸多工作要做。比如说,他们只是发现震网的目标是破坏某一处像纳坦兹那样的核设施,但究竟怎么破坏、破坏的效果是什么?要回答这些问题,还得回到分析代码的路子上。 接下来的3周,为弥补研究震网期间的收入,朗纳他们回到了做单赚钱的正常轨道上。但是,看到赛门铁克和其他安全公司没有一点动静,朗纳决定,再次停下公司的业务,重新捡起震网的活计。 “兄弟们,”他对罗森和蒂姆说,“震网的事,我们得亲手干到底。”(待续) 朗纳以为,美国政府并未在意震网,而且也不知晓它的技术细节。但实际上,美国政府中有人一直在关注此事,只是没有公开而已。7月,白俄罗斯公司关于震网的第一份公告发出后,国土安全部的研究员们就已经在几天之内,完成了对震网的大部分分析和破解工作,并先于赛门铁克和朗纳得出了震网意在破坏PLC的结论。 2010年7月15日早上,就在全球安全业界首次看到震网横空出世的同时,美国国土安全部位于弗吉尼亚州阿灵顿的国家网络安全与通信集成中心(NCCIC)也注意到了这个代码规模庞大的蠕虫。之后,西门子公司向德国国家计算机应急响应团队报告,震网中的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")意在攻击西门子PLC。这份报告又辗转来到了美国。 NCCIC,一般被念作N-Kick,是一家以监视、控制、协调响应面向关键基础设施和国内政府设施的攻击为使命,而刚刚成立9个月的新机构。具有讽刺意味的是,收到来自德国的报告时,中心主任肖恩•麦格克(Sean McGurk)正在为即将举办的“网络风暴III”演习做准备。这个系列的演习每2年举办一次,核心内容是模拟对美国关键基础设施发动网络攻击。今年的演习,将是对全天候监控中心应急协同能力的首次真正检验。但是,与震网带来的真实威胁相比,筹备演习的工作顿时变得不那么重要了。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b19883c22.jpg)](http://www.aqniu.com/wp-content/uploads/2015/11/640.webp-341.jpg) NCCIC中心主任肖恩•麦格克 没装窗户的监控厅,是个“绝密特务机构”(three-letter agencies)。坐在里面的,有中情局和国安局的情报分析员,有联邦调查局和其他秘密机构的执法人员,还有来自国家互联网应急响应团队和关键基础设施应急响应团队的计算机安全专家。当然,也少不了来自几家最大电信公司和关键基础设施运营商的联络员。 麦格克把震网的副本交给了爱达荷州的ICS-CERT实验室,在那里,研究人员得出了“震网[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")只会感染特定型号PLC”的结论。两年前,实验室在“国家SCADA测试平台”项目中,就曾评估过震网攻击的Step 7软件的脆弱性,不过当时用来做实验的PLC已经还给西门子了。现在,他们得重新找西门子要一个PLC,才能对震网做进一步的分析。足足3周后,PLC终于在西门子工程师组团押运之下,来到了爱达荷。 与此同时,爱达荷实验室的研究员也没闲着。他们一边对载荷部分代码进行逆向工程,一边让弗吉尼亚州监控厅的同事们破解导弹部分,通力制作用于标示震网各函数关系的流程图。麦格克说,仅两天时间,他们就区分出其中的4000多个函数(函数数量远超大多数商用软件),还发现了赛门铁克和卡巴斯基后来挖到的全部4个零日漏洞。 7月20日,ICS-CERT对工业控制系统业主发出通知,称发现以西门子Step 7软件为攻击目标的恶意代码。但公告中并未提及运作细节,只是说“尚未掌握恶意代码的全部功能和真实意图。”稍后发布的公告中,提到了震网使用的零日漏洞的相关信息,以及如何检测并杀灭恶意代码的方法,但并没有言明攻击的目的,更没有提到它所具有的破坏性。麦格克说,政府部门的职责是帮助关键基础设施业主发现并去除震网病毒,而非告知恶意代码的分析结论。 代码分析任务完成几天后,麦格克召开了一场由几家政府机构和私营业主代表参加的电话会议,通报了中心的发现。在他们以往的讨论中,偶尔会出现贬低漏洞重要性、及声称恶意代码“没什么大不了”之类的言论。有时候,持此论调的是政府官员,有时候则是关键基础设施业主和运营商,还有时候是控制系统供应商。但是,当麦格克抛出震网这枚炸弹的技术细节时,电话中鸦雀无声。“情况超出了所有人的预想。”他回忆道。 奇怪的是,自此之后,不论是电话会议还是监控厅,再也没听到任何关于震网的消息。麦格克说,震网刚出现时,监控厅中各家情报机构的分析员们,纷纷跑到本单位机密数据库中搜索与之相关的线索,却一无所获。而且,监控厅中的人们都在暗忖:“这事是美国干的吗?”但没有一个人敢把它说出来。外人可能会想,为什么没人去私下问问同处一室(监控厅)的中情局或国安局情报分析员,“哎,是不是你们搞的?”麦格克的答复是,中心的职责,是评估恶意代码的功能特点,并告诉国人如何加以防范应对,而不是对攻击进行归因。因此,在监控厅这么严肃的工作氛围中,就算有人想八卦,也不会真的问出来。 “谁也不会一看到恶意代码,就觉得它是自己人干的。谁也不会认为躲在病毒之后的那个狙击手就是自家兄弟。”他说,“当然,也许会有这种可能性……但是,在病毒刚出现那个阶段的紧张氛围中,谁也不会想太多,谁也不会把它(攻击来自美国)当成默认判断。” 很快,华盛顿方面对震网兴趣大增。接下来的几个月,麦格克不停的忙于向各部门的大佬们汇报情况。听他汇报的领导有:国土安全部部长珍妮特·纳波利塔诺(Janet Napolitano)、约翰·布伦南(John Brennan)及其他白宫国家安全事务团队成员、参议院和白宫情报委员会、国防部以及国防部情报局的官员。他甚至亲赴米德堡,向国家安全局局长、网络战司令部司令基思•亚历山大进行了汇报。而业界普遍怀疑,亚历山大,正是震网的幕后操盘者。 在米德堡,来自军方、政府和情报界的一众高官,认真听取了麦格克关于团队研究成果的汇报,但仍然没有人就“美国在其中扮演何种角色”发问。他们问麦格克,震网会不会对美国的工业控制系统进行攻击,暴露于震网攻击之下的美国工业控制系统有多大规模。他们还好奇的问麦格克,能否判断出震网的真正目标是哪里。最后的问题是,病毒代码中有没有跟攻击者是谁有关的信息。对于这个问题,麦格克回答说,与知名黑客团队或国家背景间谍的通常做法不同,震网并没有在代码中留下与攻击者身份有关的线索。 麦格克认为,不论是在秘密汇报中,还是国会作证时,没有一个人问过他“你认为是美国干的吗?”这个问题。“我觉得,就算是开玩笑,也不会有人在正式汇报场合说出‘你认为是美国干的吗’这样的话。因为,这不符合汇报和作证词的程序和风格。我知道,怀疑和推测四处流传,但在我所接触的这个层面,流言没有市场。” 此外,也没有任何人暗示麦格克,让他下令他的团队远离震网。“没人告诉我,嘿,停下来,不要分析震网的代码了。”他说,“相反,在破解震网的工作中,我们得到了各个部门的通力合作……这些协作,既帮我们提高了代码分析的效率,又帮各方加深了对震网会造成何种威胁的理解。” 然而,纵然华盛顿的官员们始终没有公开讨论这个显而易见的问题,业界专家和观察人士还是笃定的认为,要么美国,要么再加上以色列,就是震网攻击的发起方。在他们看来,攻击背后的真相浮出水面,只是时间问题。 如此,朗纳对于“震网是针对伊朗核计划的精确制导武器”的论断,必将令白宫和五角大楼方面惊慌失措、痛心不已。因为,一个精心策划并尽在掌控的惊天大密划,在顺利实施多年之后,正被人一步一步的抽丝剥茧,暴露在世人面前。(待续)
';

第九章 工控系统失控

最后更新于:2022-04-01 21:17:08

爱达荷州爱达荷瀑布50英里之外,有一片广阔的大草原。这里是美国能源部爱达荷国家实验室。厚厚的水泥板上,放着一个巴士大小的巨型发电机。一群工程人员一边绕着它走,一边冻得瑟瑟发抖。这是2007年3月4日,这些人正在为即将进行的地面爆炸实验做最后的安检。 1英里之外是实验室的展厅,来自华盛顿特区的官员、发电行业和北美电力安全委员会的高管们齐聚一堂,一边用盛满热咖啡的杯子暖手,一边等着观看爆炸试验的“现场直播”。 2010年,当赛门铁克的研究员发现震网是用来破坏西门子公司PLC的时候,他们认为这是第一个有证可循的数字代码对设备造成物理破坏的实例。但事实上,早在3年前,在爱达荷平原上演的“极光发电机实验”(Aurora Generator Test)已经展示出这类攻击的可行性。 上午11:30,位于爱达荷瀑布的工人收到“向目标注入[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")”的信号。展厅扬声器中传出了这台5000马力柴油发电机的轰鸣声,参观者们紧张的注视着屏幕,试图看到[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")引起的反应。一开始,什么事都没有发生。之后,他们听到了一声脆响,像是用一条沉重的铁链敲击金属制成的大鼓。随后,这只钢铁巨兽不断发出咯吱咯吱的声音,似乎被惊醒了。几秒钟后,又是一声脆响,这一次它倾斜、颤动得更加厉害,仿佛它的心脏遭到了除颤器的电击。橡胶制成的垫圈一块接一块的从发电机里面弹出来,飞向摄像头,让参观者无不胆颤心惊。15秒后,响声第三次出现,发电机愈加倾斜。震动平息之后,发电机冒出了一缕白烟。突然间,咚!发电机再次受到冲击。接下来是漫长的等待。正当人们以为这只巨兽得到了喘息、攻击即将收场之时,发电机的内膛中燃气了浓烈的黑烟。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b18bc6f2b.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp_40.jpg) 这时候离实验开始只有3分钟。对于恶意代码来说,3分钟已经足够让这个巨型发电机燃起黑烟,并冒出刺鼻的金属气味。实验结束后,展厅内无人鼓掌,只有沉默。要撼动这样一个像坦克一样大的东西,得需要多大的外力啊。但在这个实验中,完成任务的居然是区区21行代码。 这次实验经过了为期数周的精密计划和科学建模,在实施前就达到了确保万无一失的水准。即便如此,对于亲身参与实验准备的工人而言,攻击所具备的威力和破坏力依然令人震撼。“难以置信的亮瞎时刻”,实验设计者之一迈克尔•阿桑特(Michael Assante)兴奋的说。之前,他们曾做过一次模拟实验,模拟的攻击目标是放在桌上的一个小型马达。当他们看到一个27吨重的机器像个玩具一样被摇来晃去、碎片四处飞散时,那感觉就像是亲历侏罗纪公园般刺激。 这个实验用铁一般的事实证明,要摧毁发电厂中的关键设备,并不需要和它发生物理接触,远程注入一段精心设计的恶意代码即可。因此,3年后,当震网在伊朗被发现时,这些曾在极光项目中工作的人们一点都不觉得惊讶。唯一让他们觉得惊讶的是,这场“针对工业控制系统的史上首次攻击”让他们等了这么久。 当赛门铁克公司的研究员在2010年8月发现,震网的真实意图是对西门子PLC进行物理破坏之后,还是有许多人搞不清楚PLC到底是什么东西。尽管PLC作为控制组件,控制着世界上很多最重要的关键基础设施和业务流程,却只有极少数人听说过这种设备。 PLC被用于各种各样的自动控制系统,包括知名度略高的“工业控制系统”(SCADA,Supervisory Control and Data Acquisition,监视控制与数据获取系统)、分布式控制系统以及那些能够让发电厂的发电机、涡轮机、锅炉等大型设备正常运转的控制系统。使用PLC的系统,还控制着把未经处理的污水送往水净化厂、防止水库溢出的大型水泵,控制着防止天然气管道生成导致致命破裂或爆炸高压的阀门开关。一旦这类系统出现问题,后果就是致命的。比如,2010年加利福尼亚州圣布鲁诺市的一场天然气管道爆炸,造成了8人死亡、38间房屋被毁。 除此之外,自动控制系统还有一些不那么显眼、但同样关键的用途。它们控制着汽车生产流水线上的工业机器人,在化工厂、制药厂中担负着“按恰当比例分配并混合各种配料”的任务。食品饮料厂商用它们设置并监控温度,确保加工和消毒过程的安全,杀灭有害细菌。它们还可以用于保持熔炉或窑炉中温度的稳定,确保炼出来的玻璃、玻璃纤维和钢铁质量优良,可以建造摩天大楼、汽车和飞机。它们控制着每一盏交通信号灯的亮和灭,控制着联邦监狱中每一间牢房门的开与关,控制着高速公路和江河水道上每一座桥的升与降。它们帮助客运列车和货运列车保持正确的行驶方向而不脱轨。在较小的尺度上,自动控制系统控制着高层建筑的电梯、控制着医院、学校和办公楼的供暖设备和中央空调。简言之,自动控制系统是确保全世界所有工业活动正常开展、基础设施正常运作的关键组件。它们应具备很高的可靠性和安全性。但震网的出现,让人们的希望化为泡影。 如今,每个人都可以拿到震网的代码,并对它展开研究甚至进行复制。潜在攻击者可以以震网为模板,制作其他恶意代码,再用这些恶意代码去攻击美国及其他国家脆弱的控制系统。比如,去操纵天然气管道的阀门、将污水排进自来水管道、乃至破坏核电站的发电机组。有了震网这个完美的模板,要发动类似攻击,已经无须一个富裕的国库作后盾了。震网制作者已经完成了与“如何利用自动控制系统漏洞”的关键研发工作,这些工作的成果客观上降低了其他攻击者发动类似行动的门槛,越来越多的国家行为体和非国家行为体成为这场游戏的新晋玩家。不论是像“匿名者”或LulzSec这样的无政府主义黑客团体,还是为恐怖组织服务、以控制某个发电厂为要挟的勒索者,震网的出现,让这些之前根本不敢想象去攻击自动控制系统的各种攻击者们,一下子摸到了成为“高大上”黑客的门道。当然,虽然震网是一种通过非接触途径就能对目标造成外科手术式打击的病毒,这并不代表其他所有以自动控制系统为目标的黑客攻击都是这样目标明确、技艺精湛,而且会造成大范围的破坏和次生影响。 此外,攻击者要发动攻击,不一定非得编写震网那么复杂的代码。一个普通病毒或蠕虫就可以达到目的。以下试举两例。佛罗里达州的CSX公司是一家为23个州提供客货运列车铁路服务的公司。2003年,由于CSX的计算机遭到Sobig病毒感染,美国东海岸的列车信号灯系统瞬间宕机,导致宾夕法尼亚州和南加州之间的铁路、哥伦比亚特区的高速环线停运。同年,Slammer蠕虫的感染,造成俄亥俄州Davis-Besse核电站的安全监视系统和流程控制网络暂停运转5小时。 2013年,NSA(美国国家安全局)对美国关键基础设施抵抗大规模破坏性网络攻击的能力进行了一次检测。局长基思•亚历山大对参议院某委员会提交的结果是:3分(1分最低,10分最高),部分原因是自动控制系统安全性不足。 “国防部发展进攻性网络能力已经超过10年了,”战略与国际研究中心的吉姆•刘易斯说,“不过,我觉得…人们并没有充分意识到其中的问题所在。正是这些新的脆弱性,将我们生活中的各方各面都暴露在风险之中。” 事实上,关于自动控制系统的问题早已存在,相关领域专家多年前就已经对此了如指掌。但正是震网的出现,才第一次把这些问题摆在了公众的面前。(待续) 可编程逻辑控制器(PLC)出现于20世纪60年代,当时计算机黑客和病毒还只是科幻小说中的想象。它们的功能,是替换工厂中那些由继电器等硬件电路构成的“流水线控制系统”。对于这些硬件控制系统,调整控制逻辑的唯一途径,就是找个电工去重新布线。PLC出现后,要更新控制系统,只需让操作人员进入流水线,找到PLC控制台,用装有新代码的磁带盒换掉旧磁带盒即可。虽然更新过程仍须手工干预,但毕竟实现了编码与操作的分离。PLC技术人员的工作大大简化,只是编写、调试几百行代码。 90年代,数字控制系统得到广泛应用,工厂运营者要求PLC供应商向其提供“通过调制解调器拨号,远程登录控制系统”的功能。从那时起,各种黑客陆续出现。但由于控制系统所在网络与外界物理隔离、使用特定通信协议、专用软件无法与其他程序和系统兼容,多数运营者对系统的安全性毫不在意。他们认为:黑客根本无法接入系统中的任何一台计算机并与与之通信。就算找到一台能够与控制系统通信的计算机,也没几个人能搞清楚控制系统的工作原理,更别说实施操纵和破坏了。 然而,到了90年代末,形势开始生变。美国国会通过了环境法案,要求工厂对排放物进行监视和控制,联邦能源管理委员会也开始使用数字传输系统来监控电力的输出与分配。突然之间,公司的合规事务主管和高层们产生了“访问控制系统、获取其中数据”的强烈需求,而一直以来,这些系统只有工厂一线的运营者才能访问。就这样,那些少人用、少人懂的控制系统专用软件逐渐被淘汰,取而代之的是运行在Windows、Linux商用操作系统上的新一代控制系统软件。这一改变,让公司内网中其他计算机可以更加便捷的连接控制系统、并与其通信。然而,切换到Windows平台意味着,控制系统引入了与PC相同的脆弱性,即将面对与PC相同的病毒和蠕虫。同时,由于系统与因特网的连接更加紧密,运营者通过拨号实现远程控制的行为更加频繁,被黑客发起远程攻击的风险也大大增加。 1997年3月,一位名叫Jester的少年黑客上演了一出好戏,可借此窥斑见豹。他用普通的猫拨号进入了贝尔大西洋公司的计算机内网,攻击了用于向伍斯特机场航运控制塔和附近某镇600余户居民提供电话和无线通信业务的系统。机场安全部门和消防部门的电话因此中断了6个小时,同时中断的还有飞行员用来激活机场跑道指示灯的某个控制系统。在这6个小时中,航管人员只好用手机和装有干电池的无线电台指挥飞机起降。谢天谢地,没有出事。航管经理事后对CNN说:“那天我们是死里逃生。” 同年,马什委员会发布了一个报告,对关键基础设施面对物理攻击和数字攻击时的脆弱性进行了深入分析。1995年,提摩太·麦克维(Timothy McVeigh)在俄克拉荷马城政府大楼制造了一起大爆炸,马什委员会负责了此次事故的调查,并获得了过程中大量关键数据和通信活动资料。调查结束后,他们对将石油、天然气和电力等关键系统接入因特网,而造成的不断增加的风险提出了警告。“造成重大危害的能力…正在以惊人的速度增长,而我们却没有任何防范。”他们在报告中写道,通过网络向发电厂控制系统计算机发送命令的方式“所蕴含的风险就像是背着一个装满炸弹的双肩包……我们应该在灾难发生前,就把这些关键基础设施安顿好,而不是等到灾难发生之后。消极等待是不负责任的行为。” 同年的第二份报告,来自白宫国家安全电信咨询委员会。这份报告警告说,国家电网及其输送设施“漏洞百出”,十分脆弱。“电网入侵者……可以通过拨号方式接入未受任何防护的端口,并对断路器进行重置,使通过断路器的电流强度超过其可承受的范围。”一位在10年后参加“极光发电机实验”的调查者如是写道,“通过这种攻击方式,可能对变电站的部分设备造成物理损毁。” 虽然出现了这些警告,但没有迹象表明会有人真的想要发动类似攻击。直到2000年,第一起公开报道的、针对自动控制系统的黑客攻击事例终于出现:一位澳大利亚水处理厂的前员工用黑客手段破坏了水泵。 马卢奇郡位于澳大利亚昆士兰州的阳光海岸,那里有繁茂葱郁的雨林、崎岖陡峭的火山峰、碧蓝洁净的海水和雪白松软的沙滩,风景美到能印上明信片。但在2000年初,美丽的马卢奇郡惨遭毁容,在长达4个月的时间中,一场黑客攻击造成超过75万加仑未经处理的脏水从无数井口中溢出,公共水道中污水横流。 一开始,有人发现凯悦丽晶酒店PGA(北美职业高球协会)高尔夫球场的一个澙湖中,有污水从井口向外涌出。但每次工人刚一把它清理干净,又会有污水涌出来。最严重的情形出现在马卢奇河沿岸的太平洋天堂(Pacific Paradise,阳光海岸城郊地名)。数万加仑的污水流进了潮汐运河,对住在运河附近孩子的健康造成了巨大的威胁。污水还流进了马卢奇河,造成了大量鱼类和海洋生物的死亡。 问题始于1999年底,当时马卢奇河的水净化厂中刚刚安装了一个新的数字化管理系统。水净化厂与猎手水利科技(Hunter WaterTech)公司签了合同,由后者负责系统的安装。向水净化厂引流污水的泵站是其中的一个关键环节,当完成对泵站的配置后,整个系统的部署就算到位了。但就在此时,事情出现了令人难以理解的变化。水泵完全不按操作指令工作,该停的时候转,该转的时候停。用于向各个泵站发送指令的双工无线电通信网络遭遇流量阻塞,操作人员无法与泵站通信。事已至此,理应向公众发出警报,但相关人员却置若罔顾。 水泵由两台中心计算机控制,使用的是猎手水利科技公司的专用软件,通过双工无线电信号与装在每个泵站上的远程终端模块进行通信。信号可以从计算机传输至RTU(类似PLC的控制单元),并利用工作在非公开频段上的无线中继站,在RTU之间传输。只有能接触到这两台计算机或中继站、会使用猎手公司专用软件及理解通信协议的人,才能向泵站发送命令。猎手公司起初怀疑,攻击可能是有人从外部发起的,但是,厂里根本没有用于侦测非法操作行为的入侵检测系统或日志系统。而且,就算装了入侵检测系统,也没办法侦测到对RTU的攻击。 攻击断断续续的持续了几周,在3月的一个夜晚达到了顶峰,当天就酿成了几十起事故。调查人员最终断定,这一定是某个内鬼干的,因为只有在操作区内向泵站发送无线信号才会产生这样的效果。他们锁定了一个名叫维泰克•博登(Vitek Boden)的前水利工程师。他时年49,一直在猎手公司工作,直到去年12月合同到期。(据信,他因未能续约对公司耿耿于怀。)而不正常的状况正是从这个时点开始出现的。之后,博登想在这个供水管理区再找一份全职工作,但又遭到了拒绝。这个时候是2000年1月,正好也是事故集中爆发的时点。(待续) 在4个泵站的报警系统失效后,警方终于发现了蛛丝马迹。警察在博登的汽车里找到一台装有猎手公司专用软件的笔记本电脑,还有一台使用特定非公开频段的无线电台。而这个频段,正是本供水管理区用于向泵站发送指令所用的。同时发现的,还有一个用于发送攻击指令的RTU。证据确凿,4月的一个晚上,警方逮捕了博登。 博登事件,是有史以来第一起对外公开报道的“关键基础设施网络攻击”。可以想见,类似事情之前肯定有过,只是公众没发现或不知情罢了。作为马卢奇事件的结果,在其他公共事业单位上班的工人们纷纷表态,他们绝不会做出像博登在马卢奇所做的事情来。至此尘埃落定。 这个事件本应向全球工业控制系统运营者敲响警钟,但是,由于考虑到攻击者是一个对马卢奇郡供水控制系统了如指掌、又能亲自接触相关设备的内部人,很多人都觉得,这件事对自己没什么借鉴价值。他们声称,外部人员根本不可能干得了博登这种勾当。而实际上,马卢奇郡供水控制系统已经暴露出一系列安全问题,外部人员也有机会利用这些漏洞发起类似攻击。一位名叫彼得•金斯利(Peter Kingsley)的事故调查员后来在一场控制系统研讨会上,向与会者明确表示,虽然马卢奇郡事件中,攻击发自内部,但并不能因此判断外部攻击不可行。“有些运营者觉得他们的系统是安全的,只是因为他们自己不具备非授权进入控制系统的能力,”他说,“但是黑客可不会拘泥于一般的技术手段。” 金斯利的这番话在2002年听起来有点搞笑,因为那时候没有什么迹象表明外部人员会对攻击关键基础设施的控制系统感兴趣。在令人印象深刻的大型灾难发生之前,单靠呼吁,恐怕难以唤起大多数人对控制系统安全问题的关注。 就在此时,乔•韦斯(Joe Weiss)挺身而出,开始扮演控制系统安全“传教士”的角色。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b18be4e60.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-127.jpg) 乔•韦斯 韦斯是一个64岁的精干长着,在位于硅谷中心的加州库比蒂诺居住和工作,经常对灾难性的场景进行思考、研究。他家离著名的圣安德烈亚斯断层和建造于70年前的史蒂文斯溪大坝只有5英里远。1989年,这里发生了里氏7.0级的洛马普列塔大地震,彼时,烟囱倒塌,街灯和电话系统被破坏,震波还把附近迪安萨学院游泳池中的水球队员弹了出去。落在人行道路上的水球队员们莫名惊诧,就像一只只搁浅的海豹。 韦斯早在1999年就开始意识到控制系统安全的问题。当“千年虫”爆发的时候,他作为一名专业核能工程师,正在电力研究院工作。坊间流行着这样的“末日预言”:因为大多数程序中的“年”字段或变量只有2位,在2000年来临时没办法显示出3个0,所以,当除夕夜的新年钟声敲响的那一刻,所有程序都将崩溃,灾难随之降临。韦斯开始思考,如果像日期变更这样普通的事情都能造成控制系统瘫痪,那么出现更严重的问题会怎么样?更重要的是,如果千年虫都会造成巨大的影响,那么来自黑客的恶意攻击会造成什么呢? 在那个年代,世界各地有很多以通用计算机安全为主题的研讨会,却几乎无人关注控制系统安全。于是,韦斯开始四处参会,看控制系统业界到底该采用怎样的安全准则。但参会越多,担忧越重。网管们全都在谈论,如何用加密技术和身份验证来防止非授权用户登录通用计算机系统,而韦斯却意识到,控制系统在网络安全方面完全是不设防的。当计算机安全业者问他“电厂的控制系统装了什么品牌的防火墙,多长时间会检查一下系统日志、以查看入侵痕迹”时,他只能不好意思的说,“没装防火墙,也没有系统日志。”而他转过头来,询问控制系统生产商关于产品安全的问题时,得到的却只有茫然困惑的眼神。他们说,从来没人问过他们这个问题。 2001年9月,两架飞机撞击了纽约的双子塔。没过多久,官方发现了一种针对加州政府网站的可疑搜索行为模式。搜索者的目标是旧金山地区内、用于管理基础设施或政府办公室的数字系统。这些疑似源于沙特阿拉伯、印度尼西亚和巴基斯坦等国IP的搜索行为,对应急电话系统、发电厂、供水厂和天然气设施具有特殊的兴趣。另一些搜索行为则聚焦于用于控制消防调度系统和管道的计算机程序。 2002年,美军在喀布尔的一间基地组织办公室中查获了一台计算机,并在上面发现了一个工程软件,其中有对水坝的建模,还有令其停止运转的模拟程序。同年,中情局发布的《情报备忘录》中指出,基地组织对发动网络攻击“非常感兴趣”,并已开始认真考虑雇佣黑客。 多种迹象表明,还有其他人也对美国的关键基础设施很感兴趣。加州电力调度中心(Cal-ISO)是一家负责管控加州大部分电力传输的非营利性公司。2001年,黑客闯入了这家公司两台无任何防护措施的服务器,直到两周后有工人报告机器故障时才被发现。公司官员坚称,攻击并未对电网造成实质影响,但有未具名人士向《旧金山时报》透露,在黑客想要深入能引起严重电力供应问题的“核心部分”时,公司才发现他的踪迹。有人称,这次攻击近乎“灾难性事故”。 随着时间的推移,各界对关键基础设施安全状况、特别是对国家电网安全状况的担忧与日俱增。作为回应,能源部于2003年在爱达荷国家实验室(INL)推出了“国家SCADA测试平台”项目。该项目的目标是与控制系统生产商合作,评估其产品中的安全漏洞。正是由于这个项目的出现,才有了后来的“极光发电机实验”。 美国共有2800个发电厂和30万处石油、天然气生产基地。此外还有超过包括水库、水坝、水井、水净化厂、泵站和管道在内的17万处公共水利设施。但是,全国关键基础设施的85%都由私营机构所有,这意味着,除了核电站等少数国营企业之外,政府没有办法强制其他公司为其辖内控制系统增加安防措施。不过,政府至少可以劝导控制系统的生产商改善控制系统的安全性能。在“测试台”项目中,只要供应商同意修复实验室发现的漏洞,政府就会为供应商实施免费测试。 几乎同时,国土安全部推出了一个“场站评估”项目,指派旗下的“工业控制系统网络应急响应团队”(ICS-CERT)对关键基础设施的安全配置和设备内网进行评估。在2002至2009年间,这个团队对石油天然气、化工、水利等多个行业的100多个场站进行了评估,发现了超过38000个漏洞。这些漏洞包括:与互联网之间有直接连接,用户无法修改的默认出厂密码及硬编码密码(如西门子公司PLC),过期的软件补丁,缺少防火墙和入侵检测系统之类的标准防护措施等。 然而,尽管上述两个项目的研究人员工作非常勤奋,他们还是不得不跟工业界沿袭了数十年的积习和惰性做斗争。比如,政府可以很快发现漏洞,有些供应商却需要花几个月甚至几年时间才打上补丁。再如,关键基础设施的业主们只愿意在控制系统和网络的安全防护上花点小钱、做做样子,而不愿意大动干戈。 在INL做“测试台”项目联络官的韦斯,实在是受够了他们这种拖沓的调调,亲自发起并召开了一场旨在提高关键基础设施运营者“控制系统安全风险意识”的研讨会。2004年,他采用的是“恐吓战术”——通过展示远程攻击,告诉他们攻击者可以干什么。黑客的角色由INL的研究员杰森•劳尔森(Jason Larsen)扮演。他演示的内容是,从新墨西哥州的桑迪亚国家实验室,对爱达荷州瀑布市的一个变电站发起攻击。利用服务器软件中的一个最近发现的漏洞(目标显然没打补丁),劳尔森穿越了多层防火墙,对控制变电站的PLC实施了攻击,并释出载荷。演示中的攻击场景共分三幕。攻击的第一幕是对断路器进行开、关操作,第二幕是在瞬间同时打开所有断路器,第三幕是同时打开所有断路器、并操控代码,使操作人员的屏幕上显示“所有断路器处于闭合状态”。 “我把它称为‘吓尿’演示,”韦斯得意的说,“这场演示之成功,可以说是现象级的。” 之后的几年中,韦斯就这样一次又一次的重复着他的“吓尿”演示,每一次都会邀请不同的安全专家演示不同类型的攻击。这些演示唯一的问题在于,他们太超前了。每次研讨会结束后,都会有一些工程师冒出一些改进控制系统网络安全性的好点子,但当他们向管理层汇报时,却往往会遭遇挫折。因为,重新构造系统或提升系统安全性的花费实在太高了。管理层的想法是,既然竞争对手都没做这件事,也没人真的发动攻击,那我干嘛花钱吃这个螃蟹呢? 令人无语的是,韦斯和测试实验室未能毕其功于10年的事业,震网几个月就搞定了。这个数字武器长久的吸引着公众的眼球,让人们第一次充分意识到,工业控制系统中存在的漏洞是致命的!同时,PLC、RTU等长久以来不为人所知的关键控制设备突然间跃上舞台中央,吸引了大量研究人员和黑客的注意,也让控制系统供应商和作为用户的关键基础设施业主们不得不挥鞭跟上。(待续) 2010年8月关于震网病毒破坏西门子公司PLC的新闻,引起了德克萨斯州奥斯汀市一位25岁计算机安全研究员的兴趣。这位研究员名叫迪龙•贝雷斯福德(Dillon Beresford),他和其他大多数人一样,从来没听说过PLC,特别想看看PLC到底能有多脆弱。因此,他从网上买了几个西门子公司的PLC。接下来的两个月,他就躲在鸽子笼公寓的卧室里研究、测试。幸运的是,他只用了几个星期就发现了几个可以用来攻击的漏洞。 比如,他发现程序员计算机和PLC之间的所有通信都是非加密的,所以任何攻入网络的黑客都可以在代码由计算机向PLC传输时,看到代码并把它复制下来,之后再根据自己的意图将修改后的代码发往PLC,实现操纵等目的。如果PLC拒绝非授权计算机向其发送命令的话,这种情况将不会发生。但是,贝雷斯福德发现,PLC会无原则的接受任何用特定协议“说话”的计算机发来的命令。PLC甚至不要求命令发送方“加盖”用来证明其来源可信的数字签名戳。 虽然在安装Step 7的计算机和PLC之间会有一个身份验证包和某种密码,但贝雷斯福德可以在3小时以内就把这个密码破掉。他还发现,居然可以通过在通信过程中简单抓取身份验证包,并在自己发送(伪造)命令时重放验证包的手段,轻松绕过这个安全机制而免去破解密码的麻烦。此外,一旦控制了某个PLC,就可以发布修改密码的指令,从而把合法用户拒之门外。 贝雷斯福德还发现了其他的漏洞,包括西门子公司的程序员在PLC固件中有意留下的后门。比如,供应商经常会在产品中留下一个硬编码的密码,以便于在用户出现麻烦时,自己可以远程登录并提供帮助,就像是给控制系统产品加装了“安吉星”(OnStar,通用公司为汽车提供远程协助和远程控制的一种服务系统)。但既然供应商可以利用后门,攻击者又何尝不可?进入西门子所有系统的预留后门,用的都是同样的用户名和密码:basisk。这个数据硬编码在固件上,任何一个有些手段的人都可以设法看到。利用这个高权限后门,攻击者可以删除、修改PLC上的数据,甚至向PLC发出指令,破坏任何受其控制的设备或进程。 贝雷斯福德把他的发现报给了正与西门子公司合作修复系统漏洞的ICS-CERT。但是,并非每个漏洞都有办法修复。有些问题,比如命令非[加密传输](http://www.aqniu.com/infosec-wiki/2457.html "加密传输")、缺乏强有力的安全认证机制等,属于系统底层构架的问题,而非程序代码中的错误(bug)。要解决这些问题,西门子公司必须更新系统固件,对于某些系统而言甚至必须重新设计。而且,这些问题并非仅仅存在于西门子公司的产品中,而是普遍存在于市面上大多数控制系统产品中。这些问题可以成为“前互联网时代的遗产”——那时候设备所处的网络环境是孤立的,因而不需要考虑外部攻击的问题。 一直以来,控制系统供应商和关键基础设施业主认为,要对控制系统发起攻击,必须掌握与PLC相关的大量知识和丰富经验,因此,系统是相对安全的。但是,贝雷斯福德的发现,颠覆了他们的认识。他只花了2万美元在网上买了一些二手设备,然后花了2个月的业余时间来研究,就在PLC里面找到了这么多漏洞,并掌握了利用漏洞进行攻击所需的全部技能。 在贝雷斯福德之后,又有众多研究者发现了西门子和其他公司多型产品的更多漏洞。关键基础设施安防系统制造商伍泰安全(Wurldtech Security)创建的控制系统漏洞数据库显示,2008年以来,共有超过1000种控制系统漏洞和控制系统协议漏洞被发现。其中,大多数漏洞仅能让攻击者造成“操作人员无法正常监视”的效果,也有一些漏洞一旦被利用,将产生更严重的后果。 2011年,南加州某公共事业公司专门聘请了Mocana安全公司,对其变电站控制系统的安全性进行评估。结果发现,系统存在多个漏洞,攻击者可以借此控制变电站的设备。“我们之前从来没接触过这种设备,但是在一天之内就发现了这么多漏洞,”公司副总裁库尔特•斯坦姆伯格(Kurt Stammberger)说,“这是非常严重的问题,坦白的说,至少一年半之前这些问题就已经出现了,可是却没人注意。” 由于控制系统的寿命长达数年、又缺乏像通用计算机那样定期打补丁的安全机制,控制系统的安全问题越来越突出。一台普通台式计算机的生命周期约为3-5年,到时间就会换新的。但控制系统的寿命可以长达20年。即使旧系统被换掉,新系统仍然要具备跟其他设备通信的能力,这样一来,旧系统中固有的安全漏洞也被继承下来。 再来看打补丁。有些控制系统运行在已无法从微软得到技术支持的老旧Windows版本上,这意味着,如果发现新的漏洞,根本没有补丁可打。退一步来说,就算有补丁可用,也往往会被搁置一旁。因为,一方面,操作人员害怕打了补丁之后,系统会运行不稳定;另一方面,打补丁或者进行其他安全配置需要花上几个小时,而控制系统及受其控制的进程(往往是公共事业服务)却不能轻易暂停。 此外,随着越来越多的供应商将安全系统和控制系统打包在一起,新的问题又出现了。过去,安全系统是与控制系统分别配置的硬件模拟系统,这样,即使控制系统出现问题,也不会影响到安全系统紧急关闭设备和进程的能力。但是,现在供应商们把安全系统和控制系统集成到一起,使得一次攻击同时瘫痪两个系统成为可能。 其实,控制系统中的很多漏洞都可以通过“物理隔离”的方法解决。也就是说,让内网无法与因特网连接、也无法与可能连接因特网的其他系统连接。但实际中,这一点往往很难实现。 2012年,一名英国的研究者就曾经用一种专门定位网络电话、智能电视和控制系统等设备位置的特殊搜索引擎“撒旦”(Shodan),发现至少有1万个控制系统存在与因特网的连接。这些控制系统分别来自水净化厂、大坝、桥梁和火车站。 2011年,一位名叫pr0f的黑客在网上搜到南休斯顿地区的某个西门子控制系统之后,成功侵入某水厂的控制系统。虽然系统有密码保护,但密码只有3位,一下就被他猜中了。“很遗憾,这根本不是什么高级持续性威胁之类的高大上攻击,”他对记者说,“坦白的讲,我所看到的多数情况都是由于(遭入侵方的)无知和愚蠢、而非攻击者有多大本事造成的。”进入工业控制系统之后,pr0f对水槽布局图和数字控制系统界面进行了截图,并没有实施破坏行为。“我不是没头脑的汪达尔主义者(故意破坏他人财产的人)。那样做很愚蠢。”他在一封网上发布的信中写道,“把安装着工业控制系统的计算机接入因特网的人,是不是更愚蠢呢。” 更可怕的是,工业控制系统中的很多现场设备,要么直接接入因特网,要么与因特网之间只隔着一个调制解调器或一道默认口令。比如,用来控制电网开关和断路器的口令就是默认的,这样一旦出现紧急情况,工人就能马上想起来、不至于忘记。出于同样理由,控制系统不会像标准IT系统那样,为防止有人暴力破解密码,而设置“连续输错密码N次自动锁定”的功能。因为,没有人希望看到,在某种紧急状况下,操作员却由于输错几次密码而被彻底挡在系统之外。2011年,马克•梅弗雷特(Marc Maiffret)带领一个测试团队渗入了南加州某水处理厂的远程控制系统,并获得了用于向饮用水中添加化学物质的设备的控制权。整个过程用时不到一天。梅弗雷特说,只须再向前几步,就可以把大量化学物质倒入水中,让水变得无法饮用。 事实证明,将关键系统远程接入因特网,会带来显而易见的安全隐患。但是震网却揭示了更为可怕的场景。攻击者无须远程接入目标,只须让精心设计的蠕虫利用U盘在不同计算机间插拔就能实现传播,通过将[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")嵌入工程师用来对PLC编程的项目文件即可实现感染。2012年,智能电网控制系统制造商加拿大特尔文特公司(Telvent Canada)就曾遭到黑客入侵。入侵者盗取了该公司生产的工业控制系统的项目文件。美国很多石油、天然气和水利系统中所使用的,正是这些系统。特尔文特公司对用户系统进行管理的,也正是这些项目文件。虽然公司没有声明攻击者是否对这些项目文件进行了修改,但这次事故充分表明,攻击者可以通过渗透类似特尔文特这样的公司、并感染其产品项目文件的途径,对石油、天然气管道发起攻击。 对于关键基础设施而言,直接入侵计算机网络并非唯一风险源。有证据表明,曾有利用电磁脉冲手段干扰工业控制系统和现场设备的事故发生。1999年11月,一艘正在距圣迭戈海岸25英里处进行训练的美国海军舰船上的雷达系统,对附近沿海某地区的水利和电力基础设施的控制系统无线通信网造成了干扰。这让工人们无法对水管中的阀门进行开启和闭合操作,只好派技术人员到偏僻的现场去进行手动操作,以避免水库溢出事故。电磁脉冲干扰还曾经在20世纪80年代引发一起天然气爆炸。当时,荷兰登海尔德军港附近的某个海军雷达系统,干扰了用于控制天然气管道开关阀门的控制系统无线通信网,造成管道爆炸。(待续) 多年来,人们想象出了由大规模网络攻击引发的、各种各样的末日灾难场景。但时至今日,这样的攻击并未发生,而且,绝大多数与控制系统有关的事故,都是意外而非人为。 不过,人们可以从意外发生的工业事故中,窥见网络攻击可以造成怎样的后果。因为,一般而言,网络攻击可以让每一个意外事故“昨日重现”。聪明的黑客可以利用新闻报道的细节,对意外灾难发生的原因和效果进行研究,并据此设计能造成类似破坏性后果的网络攻击。 南西伯利亚地区的萨扬舒申斯克水电站,是世界第6大水坝。水坝位于叶尼塞河上一个风景如画的峡谷,始建于30年前,高800英尺,跨度约半英里。2009年,水坝发生爆炸,造成75人死亡。美国国家安全局局长基思•亚历山大曾援引此例,以讨论网络攻击所能造成的后果。 那是8月17日午夜刚过,大坝发电装置中一台重大940吨的涡轮机被突然喷涌而来的高压水流击中。它的螺栓被敲掉,旋即发生爆炸。之后,巨浪从已爆炸涡轮机形成的空隙中冲入了发动机房,破坏了另外6台涡轮机,触发了连环爆炸,最终炸塌了房顶。 这场灾难,应部分归咎于大约500英里外布拉茨克电站的一起火灾。这场火灾导致布拉茨克的电力输入中断,进而迫使萨扬舒申斯克水电站的涡轮机满负荷运转。不幸的是,其中一台已接近使用寿命的涡轮机开始间歇性的摇晃,进入了“带病工作”的危险状态。为确保安全,水电站在已几个月前安装了新的控制系统,但突然增加的负荷,让涡轮机无法承受。用于固定涡轮机的螺栓开始松动、掉落,涡轮机一步步被“拔锚”。监控图像显示,故障发生的那一刻,工人们拼命向上爬,想逃离现场。事故除了造成75人死亡、将附近地区变为汪洋之外,还泄漏了100吨汽油。这些汽油流入了叶尼塞河,使当地渔业减产鳟鱼4000吨。专家估计,要将水电站复原,至少需要4年时间和13亿美元。 1999年6月发生在华盛顿州的管道爆炸事故,也是黑客可以仿效的样板。在这起事故中,贝灵翰姆奥林匹克管道公司直径16英寸的管道破裂,喷出的237000加仑汽油流入了沃特科姆瀑布公园的一条小溪中。同时喷出的还有瓦斯。90分钟后,爆炸发生了。巨大的火球一直延伸到小溪下游1.5英里处、造成3名儿童死亡、8人受伤。这次灾难的原因,包括阀门配置不当、铲车挖到管道让管道变脆弱等,但万万不可忽略,反应迟钝的控制系统也是罪魁祸首之一。“如果工业控制系统的计算机,始终能对奥林匹克公司管理人员的指令做出及时反应,”调查者说,“负责维护事故管道的管理人员很可能(看到压力增大)会采取行动,防止管道内的压力增大到使管道破裂的程度。” 而实际中,管理人员在1小时后才确定泄露发生,而此时附近的居民们已经报了警。居民在电话里告诉警察,他们在小溪的水流中闻到了一股浓烈的石油味道。虽然这起油气泄露事件不是黑客攻击造成的,但调查者的确在奥林匹克公司的控制系统中发现了一些可供利用的安全漏洞。比如,可以从公司通过拨号,远程接入工业控制系统,安全措施只有一道用户名/密码,而且,公司的业务网络与工业控制网络之间并未隔离。虽然桥接策略提供了一定程度的安全防护,但是,由于既没有鲁棒的防火墙,也没有反病毒和接入控制系统,根本无法阻止一个有想法的黑客先从因特网攻入公司业务网络,再从业务网络攻入核心的工业控制网络。 2000年发生在加州圣布鲁诺的天然气管道爆炸事故,其情节之狗血、后果之严重,堪称工控系统安全的警示教科书。出事那天,操作人员在对不间断电源(UPS)进行维护时,不小心引起了工业控制系统供电中断。根据事先编好的程序,管道的某个控制阀会在工业控制系统断电时自动开启;而实际的结果是,缺少了压力监测和反馈的机制,天然气不断进入管道,管道中个别老化部位的压力持续增加,直到引发爆炸。由于控制系统断电,操作人员对这一切浑然不觉。 2005年12月,密苏里州还发生了一起堤坝倾覆事故。事故的起因是堤壁上的传感器和浮在水面上的水位测量装置之间的通信中断,当水库容量超过15亿加仑(约5.7万立方米)的极限时未能及时报警。就在水位持续上升的过程中,“自动应急保险系统”也失效了。一天早晨的5:10,大水开始漫过堤顶,向外溢出。短短6分钟之后,堤坝就被冲开了一个60英尺(18米)宽的大口子。之后,超过10亿加仑的水从普罗菲特山(Proffit Mountain)上倾泻而下,一路上席卷着无数的石块和树木,冲进了约翰逊溪瀑州立公园(Johnson’s Shut-Ins State Park),把公园管理员一家连人带屋一起冲出了四分之一英里远。洪流还冲向了附近高速公路上的汽车,淹没了公园中的露营地,所幸时值冬季、户外无人,没有造成人员伤亡。 可以作为黑客攻击素材的,还有一些列车事故。客运列车的运行是由多个系统共同控制的:负责查验车票的检票系统、信用卡交易处理系统、电子广告系统、灯光管理系统、闭路电视系统,还有最重要的消防应急系统、交通信号系统和列车运行控制系统。它们之间的相互连接,为攻击提供了可能的途径。过去,除非刻意连接,这些系统彼此之间并没有通信。但如今,这些系统的数字化程度越来越高、连接也越来越多,很多系统之间通过无线信号进行通信,非加密控制指令在其中随意传输。虽然铁路系统设立了冗余备份和故障应急响应等安全机制,但多个互联系统的存在,增加了配置错误的可能性,从而给有心人入侵安全系统并实施破坏留下了可乘之机。 2009年6月22日下午的晚高峰时段,华盛顿特区地铁中,一列运行中的列车与另一列停靠在轨道上的列车发生了碰撞,造成8死80伤的惨剧。轨道上的传感器,本应探测到那列静止列车,并将这个消息发送给运行中的列车,但是,这个传感器恰巧坏了。后面那列列车上安装的防碰撞传感器,本应在距离前面列车1200英尺时自动触发刹车,但是,这个传感器也坏了。更要命的是,列车驾驶员连手动刹车都没有拉。真是各种无语。更奇葩的是,10年前,这套地铁系统,就曾多次发出错误信号——其中一次,是指示列车在一个限速15码的路段上以45码的速度行驶。 以上事故都是偶发的,但也有人为的。2008年,波兰罗兹一个14岁的男孩,通过网络攻击引发了数起列车脱线事故。当时,他用一个经过改装的电视遥控器的红外信号,成功侵入了铁路信号系统并扳动了道岔。这起事故造成4列列车脱轨,12人死亡。 攻击关键基础设施的方法有无数种,其中最有效的,当属攻击所有关键基础设施的共同要害——电网。如果断电相当长一段时间,那么将会有N多种基础设施受到影响——通勤车辆和交通信号灯,银行和证券交易,学校和军事设施,食品和血液供应站的温控空调,医院里的呼吸机、心脏监护器和其他重要设备,机场的跑道灯和航管控制系统,诸如此类。有些场所可能配有应急发电机,但应急发电机也只能撑上一会,遇上长时间停电就会应付不来。如果核电站出现掉闸事故,就会让核裂变反应堆出现不可挽回的停机。 要想攻击电网,有一个办法,就是入侵装在一众家庭和商户住所内的智能电表。至今,美国政府已在智能电表项目上投资30亿美金,完成了数千只智能电表的安装。然而,这个项目在大力推进新技术应用的同时,却没有充分考虑到它所带来的安全问题。 安全研究人员在智能电表系统中发现的最大问题,就是它的远程控制功能。这项功能,让电力公司可以在不派遣工程人员上门的情况下,对一幢建筑的电闸执行闭合和切断操作。既然如此,黑客同样可以利用这个功能,设法切断千家万户的电力供应,并令其难以迅速复原。2009年,一位名叫迈克•戴维斯(Mike Davis)的研究员真的制作出来一种“断电蠕虫”。(待续) 戴维斯在西南太平洋地区的一家电力公司上班,具体负责检测公司将要向客户大力推广的智能电表。就像贝雷斯福德检测西门子公司PLC时一般,戴维斯发现,智能电表的通信模式存在缺陷。只要使用相同的通信协议,相邻的智能电表之间就可以任意通信。甚至,可以通过通信实现固件更新。这意味着,攻击者只要拿到网络密钥,就能刷新电表的固件!而且,公司还把这个密钥写到了每一块电表的固件中!这些电表一旦安装,攻击者只需破解任意一块的密钥,就可以把自己的代码刷到所有电表的固件中!!“只要手上有一块电表,我就能对所有电表想干嘛就干嘛,”戴维斯说,“各家供应商生产的智能电表也都是一个货色。” 这些电表彼此之间通过无线电进行通信,且始终保持在监听模式,随时准备接受附近电表的信号。有些型号的电表,有效通信距离甚至可达几公里。戴维斯测试的那一款,有效通信距离是400英尺,比足球场两个球门之间的距离还要大。这个距离,让攻击者可以轻松跨越智能电表的部署间距,毫不费力的传播“拉闸病毒”。戴维斯甚至不需要潜入某家宅院,只须从市场上买一块使用相同通信协议的同品牌电表,注入[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")和必要密钥,然后在其他智能电表附近开工即可。戴维斯说:“因为,无线信号会自动被附近的智能电表侦测并‘查收’。”当固件更新完毕,遭攻击的智能电表会使用感染后的固件程序重启,并自动将更新信息发送给有效通信范围内的其他电表,从而形成一个传播链。电厂的运营人员就算看到自己地盘上发生了停电事故,也根本没办法弄清原委。 通常情况下,智能电表供应商会通过电厂的中心网络,对电表固件进行统一的远程更新,或者让技术人员在用户所在地附近,用一台插着加密狗的笔记本,通过无线信号进行点对点更新。所以,当戴维斯和他的团队告诉这位供应商“我们可以不通过电厂中心网络、也不通过加密狗就能让[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")自动在电表间传播”时,供应商哈哈大笑,回应说“大哥,我们的电表根本就没有让其他电表更新固件的功能好吧。”戴维斯只好告诉他,“我们知道,但我们可以在[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")中加入这项功能。”供应商还是不信。戴维斯只好写了一个程序,对感染过程进行模拟。在模拟场景中,恶意代码通过固件更新的方式,在一天之内就感染了2万个电表。“我们已经很给面子了,”他说,“我们只找了一个电表发起攻击,而真正的攻击者肯定会从城市中的多个位置同时发动攻击,并造成洪泛式的感染。” 这位供应商对此仍然不屑一顾。他说,蠕虫病毒更新一台智能电表的固件需要2-4分钟,在此期间,电厂的技术人员将及时发现电力中断的情况,并通过远程发送正确的固件更新包,阻止其他电表受到攻击。 戴维斯也是醉了。他告诉供应商,恶意代码不仅可以造成断电,它还可以在感染之后、将电表固件自动更新的功能阉割掉。这样一来,电厂根本没办法搞什么远程更新,而只能让技术人员挨家挨户的把电表换掉,拿回实验室、接到机器上重新注入固件代码。“他们似乎总算听明白了,”他说,“我们已经反复验证了一点,就是在他们能够发现问题的时候,事情已经无可挽回了。” 戴维斯欣慰的看到,由于他的努力,供应商们终于改进了电表的设计。有些供应商改为使用多个网络密钥,再把这些密钥分配至不同的社区,以减小黑客破解单个密钥后的攻击范围。但是,远程控制仍然是大部分智能电表共同面临的问题。如果黑客攻入电厂的中心网络,就可以用更简单的方式发动任意攻击。“如果没有远程控制的功能,就不会有这么多烦人的问题,”戴维斯说,“我认为,不管有没有权限限制,只要‘远程拉闸’的功能不取消,电表就始终存在重大安全隐患。” 要想造成断电,攻击智能电表是个好办法。但更有效的办法是,直接攻击给电网供电的发电机,或者向客户传送电力的输配电系统。莱昂•帕内塔(Leon Panetta)在2011年6月被提名为国防部长的审议听证会上指出,美国即将经历的下一场“珍珠港事件”很有可能是针对电网的网络攻击。 北美电网既庞大又复杂,主要由3个大型区域电网组成,即东部电网、西部电网和德州电网。电网共有45000英里的高压传输线,由约3000家电力公司分别运营。由于电力可以在能源共同市场上进行交易,因此供给端和用户端之间常常跨越州际。那么,就出现了专门负责电力调度工作的运营商,如之前提到的、在2001年遭受网络攻击的加州电力调度中心(Cal-ISO)。虽然多数系统各自独立,攻击一家电厂或变电站不会造成多大影响,但是它们彼此之间的连通性,还是为黑客同时对多个系统发动全面协同攻击提供了便利条件。一旦这类攻击发生,将造成难以修复的灾难性断电,从而让用户陷入长达数周的黑暗之中。 比如,当掌管配电线路通断的断路器感知到危险的电涌时,会立即打开闸门,断开与电网之间的连接。那么,有一条线路断网后,原本流向这条线路的电流就会被重定向至其他线路。如果其他线路达到了饱和容量,上面的断路器也会跳闸,从而造成大规模断电。一个精心设计的攻击会在造成某些线路跳闸的同时,操纵另外一些线路的断路器,使其在容量过饱和时不会自动跳闸、进而让整条线路处于过热状态。 当配电线路过热后,就会发生电线垂落或熔毁等事故。由于电线垂落,2003年的东南大停电造成了8个州和加拿大部分地区共5000万人无电可用。虽说事故并非由网络攻击引起,但未能对事故进行早期预警和预防响应的软件缺陷(bug)难辞其咎。 事故始于俄亥俄州,当时垂落的电线卷到了树枝上,但亚克朗市第一能源公司控制中心的应急警报系统却没有任何反应。这使得运营管理人员对不断恶化的情况一无所知。在大停电两个半小时之前,不断有工业用电户和其他电厂给第一能源公司打电话,投诉电压下降和电路跳闸。这些都是电网出问题的明显标志。但是,由于第一能源公司的运营管理人员没有在控制系统中收到任何故障信号,根本就没那这些投诉当回事。一位员工甚至跟打电话过来的用户说:“别人家(美利坚电力)的电网还不是一样会跳闸嘛。”直到第一能源公司控制室的灯都灭了,他们才意识到是自家的系统出了故障。最终,他们发现,造成警报系统失灵的是一个软件缺陷。“这个bug之前从来没有出过状况,”第一能源的发言人事后说,“错误藏得很深,他们花了几个星期、翻遍了几百万行代码和数据才找到。” 比攻击配电线路更具破坏性的,是攻击向配电线路供电的变电站设备。电网共有15000个变电站节点,可分为3类:一类是发电厂向外送电的变电站,一类是在不同配电线路间转接的变电站,一类是向用户端分发电力的变电站。其中最重要的是第二类,它们在需要远距离输电之前进行梯级升压,在电力抵达目的地后、需要向不同用户分发电力之前进行梯级降压。联邦能源管理委员会近期的一份研究发现,只须攻击9个关键的变电站(东部电网4个、西部电网3个、德州电网2个),就可以引起持续数周甚至数月的全国性大停电,并造成恐慌和人员伤亡。 好消息是,由于电网系统的所有者和运营商为数众多,所以使用的应急设备及软件配置也是千差万别。这让攻击者不可能用一种攻击手段和传播方式对整个电网实施破坏。但是,对于一般黑客来说,发动区域性的攻击、造成小范围的断电绝非难事。而且,如果攻击真的像“极光发电机实验”那样,破坏了发电厂中的工业级发电机,那么修复起来将更加困难。(待续) 极光发电机实验(Aurora Generator Test)名称取自罗马神话中的“风之母”奥罗拉女神,其根源是2003年的美国东南大停电事故。停电只持续了2天,却足够令人们痛定思痛,考虑远程攻击发电机造成不可收拾局面的可能性。迈克•阿桑特(Mike Assante)受命组建实验团队。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b18c3ca45.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp_51.jpg) “风之母”奥罗拉 2001年时,阿桑特是一名在华盛顿工作的海军情报军官,工作单位是联邦调查局(FBI)新成立的国家基础设施防护中心,主要任务是对能源基础设施的网络攻击及其潜在风险进行研究。一年后,他退出现役,来到了美国最大的电力公司之一——俄亥俄州的美利坚电力公司。美利坚电力让他负责一个基础设施防护项目。从那时起,阿桑特就开始思考这样一个问题:会不会出现某种能对电网造成物理破坏的网络攻击呢? 在俄亥俄,阿桑特偶然读到了《华盛顿邮报》上一篇关于爱达荷国家实验室(INL)“国家SCADA测试平台”项目的报道。报道中,联邦能源管理委员会主席在看过研究人员一次模拟演示之后,惊得瞠目结舌。这次模拟演示的内容是,黑客轻而易举的通过关闭发电机润滑装置,成功破坏了它的涡轮机。活动中的金属结构失去了润滑油的润滑,涡轮机骤然停转,巨大的力量将它压成碎块。这位主席事后接受华盛顿邮报采访时说:“我当时要是穿着纸尿裤就好了。”演示对他触动之大,可见一斑。而看过这篇报道的阿桑特,其内心活动自不待言。 于是,阿桑特只身一人来到INL“朝圣”,对“国家SCADA测试平台”项目的专家团队钦羡不已。除了控制系统工程师,实验室还聘请了一支由刚从大学乃至高中毕业的年轻人组成的黑客攻击团队。他们的工作富有激情、成果丰硕,总是能够在已经运行多年、受到充分信赖的系统中发现新的脆弱点。实验室甚至建造了自己的变电站,和一个半径7英里的小型独立电网,以便让研究者对电网实施自由测试,而不会对公共电网造成影响。阿桑特一想到在真实电网、而非模拟环境中进行安全测试和研究,就心旌摇荡、不可自持。2005年,他辞掉了美利坚电力公司的工作,来到了INL。 来了之后,他带着几名同事,开始研究如何构设出一个“网络攻击造成物理破坏”的真实情境。彼时,在电网网络安全领域,绝大多数人的注意力都在入侵通信网络、并通过控制断路器造成断电的问题上。然而,这种断电事故,可以通过重置断路器的方式很快得到妥善处置。那么,如果攻击攻破或绕过安全防护系统、对发电机实施物理破坏怎么办?处理这种情况,可没那么容易。 他们决定,通过攻击保护继电器来侵入发电机。保护继电器是一种监控电网内部变化、在电网遇到可能危害配电线路的危险情况时,触发断路器“跳闸”的安全设备。在2008年2月的大断电事故中,这种设备起到了非常重要的作用。当时,佛罗里达电力照明公司的一名现场工程师,在调查某个变电站中出故障的开关时关掉了保护继电器,瞬间引发了佛州近60万用户断电。这位工程师没想到,他这一条线出问题不要紧,紧接着38个变电站都受到了波及。其中一个变电站是为核电厂供电的,它的停电造成了核电厂自动停机事故。 保护继电器不仅可以触发断路器跳闸,还能在感知到电网处于危险境地时,切断发电机和其他重要设备与电网的连接。我们知道,(美国)电网运行频率为60赫兹,那么与之连接的设备必须与之同步运行,否则就会出问题。如果将一个运行在其他频率上的设备插入电网,不同频造间的“扭矩”就会对设备造成破坏。当一台发电机接入电网时,电网的负载会对发电机产生一个“阻滞”的力,就像地球重力让上坡的汽车受到“阻滞”一样。那么,当发电机和电网之间的断路器开闸、使发电机脱离电网时,发电机就会因失去电网负载的“阻滞”而加速。仅10毫秒,发电机就会加速到无法与电网同步的频率上。如果此时断路器合闸,让已经不再彼此同步的发电机和电网重新连接,就会出现类似汽车撞墙的效果。接入以较低频率运行的电网时,正以较高频率运行的发电机输出的多余电力无处可去,只能形成一个对自身的反作用力,从而对发电机造成损害。在过去的事故中,这种现象曾作为事故原因反复出现。 既然如此,阿桑特团队在实验中面对的问题就很简单了——如果保护继电器可以用于保护设备不受破坏,那么为何不反其道而行之,专门用它来对设备实施破坏呢?解决问题往往比提出问题更容易,攻击方案很快成型。其内容包括:编写可以更改(数字型)保护继电器设置的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),让断路器时通时断且不断重复这一操作,使发电机造成“断开电网——频率异步——接入电网——造成破坏”的恶性循环。此时,保护继电器将无法提供任何保护,发电机则完全处于裸奔状态。“这简直就是恶魔的诅咒,”乔•韦斯说,“用户阻止类似攻击发生的设备和机制,却被攻击者用来实施攻击。”国土安全部也在关于此次实验的一份报告中写道,通过对保护电路进行突然、反复的“打开——闭合”操作,继电器的功能“从提供保护,变成了引起破坏。” 他们用全新价(100万美元)的1/3,买下了一台从阿拉斯加油田淘汰下来的瓦锡兰发电机,作为进行“现场直播”的道具。 人们在实验现场看到,攻击总共持续了3分钟,但实际上攻击可以在15秒内完成。攻击者在代码中加入了一些停顿,以便让工程人员在攻击起效的每个阶段评估破坏程度、测试安全系统的状态。每当断路器闭合、让以较高频率运转的发电机接入电网时,发电机都会因过剩能量带来反作用力而震荡、并发出巨大的声响,直到最后,本应耦合在一起的柴油引擎和发电机转子相互脱离、发电机彻底损毁。 在运营中心负责监控电网异常行为的工人们,事先未被告知即将进行这次实验。在实验开始前,他们也没有在监控台发现任何不对劲的地方。安全系统可以熨平电网中经常出现的轻微波动,但对于破坏性攻击却没法做出任何反应。国土安全部控制系统安全项目负责人、极光发电机实验监管组长佩里•彼得森(Perry Pederson)说,“我们发动攻击时,打开、闭合断路器的速度太快,安全系统根本反应不过来。” 自从2007年极光发电机实验之后,类似的破坏性网络攻击曾再次出现。2009年,《60分钟》栏目报道了桑迪亚国家实验室研究员的一个演示。演示中,研究人员通过简单更改发热元件配置和禁用用于辅助温控的循环泵,造成炼油厂关键设备过热。 但是,直到目前,除了震网病毒和马卢奇郡事件,现实世界中还没有其他的破坏性工控系统网络攻击发生。专家们对此给出了一系列可能的理由——要实现类似攻击比我们想象的要难,掌握攻击所需技能和资源的人往往缺乏发动攻击的动机,想发动类似攻击的人却往往没有这些技能和手段。 只有一件事确定无疑。考虑到发动类似攻击的途径之多元、手段之丰富,加之震网树立了极为成功的样板,必然会有人循着这条路不断前进,并在未来的某天跨越能力或动机的门槛,给世人带来新的惊奇。(待续)
';

第八章 载荷

最后更新于:2022-04-01 21:17:06

巴黎CBD拉德芳斯区。爱琴海大厦(Tour Egée)。在这座以外形奇酷著称的40层三角形建筑中,尼克•法里耶正弓着腰、伸着脖子,在公司位于第8层的办公室里紧张工作着。窗外,摩天大楼鳞次栉比,隐约可以看到缓步走向新凯旋门的暑休游客和地上的白鸽。法里尔却是“两耳不闻窗外事,一心只研震网码”,目标就是它那复杂的载荷。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b18733d06.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-30.jpg) 爱琴海大厦 那是2010年8月初,法里尔进入震网3人小组刚满两个星期,钱哥和莫楚还没发现震网中有那么多零日漏洞。在这两周中,法里尔一直在和莫楚分析导弹部分中那个巨大的.DLL文件,但他知道,核心的秘密藏在载荷部分中。 这一天,和朋友们吃过午饭后,他开始了载荷部分的分析。具体步骤是,先把其中每个文件分离出来,再想方设法理解它们的格式和功能。他注意到,有一个.DLL文件的名字似曾相识。于是,他来到了测试计算机上的西门子Step 7程序文件夹。很快,他找到了一个同名.DLL文件。“这可真有意思。”法里尔想。 他断定,一旦震网病毒发现计算机上装有Step 7或WinCC,就会将与目标软件相对应的同名.DLL文件从较大的.DLL中解包出来并解密。 法里尔使用藏在病毒代码中的密钥,解开了Step 7同名.DLL文件的密码,发现它具有与合法Step 7同名.DLL文件的全部功能。除此之外,它还有一些包括“读”“写”指令的可疑代码。法里尔毕竟“阅码无数”,很清楚这是什么意思。原来,震网中的这个假冒.DLL是一个后门,感染计算机后在系统中潜伏,等待“系统企图对目标PLC执行读/写操作”的时机,再实施进一步劫持(hook)。与震网病毒导弹部分中的后门类似,这个后门可以通过劫持读函数(hooking the reading function),把对攻击PLC的代码隐藏起来。据法里尔所知,这是“史上第一个”针对工业控制系统的而设计的后门。震网脖子上挂的“第一”奖牌又多了一块。 法里尔无法判断这个假冒.DLL劫持读函数,究竟是为了被动监视PLC并收集其运行信息,还是有什么更深的用意。但是,它劫持读函数的行为,似乎在暗示,它正企图停止PLC的正常运行或改变PLC的运行状态。他瞄了一眼时间,现在是美国加州时间早上5点,给钱哥打电话太早了点,还是接着干活吧。 几小时后,他终于找到了这一谜题的所有答案。结果正如他所料,震网病毒会把西门子软件发给PLC的指令拦截下来,换成自己的指令。虽然看不到震网注入PLC的代码,不能确定它到底让PLC做了什么,但他敢肯定,绝不会是什么好事。这时,已经到了加州时间早上9点,法里尔拿起电话,给钱哥打了过去。 一般情况下,法里尔和钱哥每周联系一次,通报一下法里尔这边的工作进展。通话过程会非常高效,内容直截了当,时间不超过一分钟。但这一次,法里尔详细汇报了这次发现的所有细节。钱哥专心听着这些惊人的内容。他们看到的攻击越来越复杂。简直可以说,震网的每一个角落中都藏着一个大大的惊奇。 钱哥同意,让法里尔一心一意把震网注入PLC的代码弄清楚。他们还决定,让法里尔在博客上发布一个关于发现PLC后门的简短声明。当然,细节将暂时保密,直到法里尔搞清楚震网到底对PLC做了什么为止。 那天晚上,在回家的地铁上,法里尔陷入了一种紧张不安的情绪中。4年来,他拆解过无数病毒,见过无数种恶意程序,已经很难再对这些东西感到激动。但这一次太不一样了。对PLC的攻击史无前例,而且,震网很可能会开创一个网络攻击的全新类型。 激动之余,他深知前路充满坎坷。假冒的西门子.DLL文件很大,也不清楚Step 7和受其控制PLC的结构。法里尔和钱哥对Step 7和PLC完全是门外汉,甚至不能确定问题是否存在可行解,继续破解载荷代码的任务面临着严峻挑战。他们唯一知道的,就是他们正走在一条望不到尽头的苦旅上。(待续) [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15f274c1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-311.jpg) 尼古拉斯•法里尔 法里尔长着一头黑发和高卢人的面庞,看上去更像一个在巴黎某个夜店驻场的摇滚乐DJ,不像是每天坐地铁通勤去公司读代码的技术宅男。而在生活中,他害羞话又少,比起去夜店嗨个通宵,他还是更愿意坐在电脑前,一行行检视密密麻麻的程序代码。 法里尔是个熟练的逆向工程师,特别擅长对[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")做深度分析。逆向工程是一种常人难以企及的艺术,主要内容是,取出一段由0和1组成的二进制机器代码,并把它翻译成人类可以看懂的程序语言。这项工作需要高度集中的注意力和高超的编码技巧,对震网这么复杂的代码来说更是如此。但法里尔就好这口。代码越复杂,把它破掉的时候就越开心。 法里尔十几岁的时候,经常玩一个叫做crackme(破解我)的代码游戏,是程序员们为相互测试逆向工程水平而设计的。游戏规则是:程序员甲在一个小程序外面加了一层加密外壳,制成一个crackme文件,然后把它发到网上。程序员乙必须破掉加密和其他安全机制,挖出藏在里面的“小纸条”,再把这个“小纸条”作为成功破解的证据发给甲。法里尔逆向工程的技术底子正是在那时打下的。从某种意义上看,病毒和蠕虫不过是更加复杂、破解难度更高的crackme文件而已。对于法里尔来说,玩游戏和破解病毒之间的唯一区别就是,前者只是好玩,而后者能赚钱。 法里尔在法国南部的图卢兹出生、长大,那里是空客公司总部所在地,还有一家卫星技术研究中心。在这样一个工程师和航空文化占主导的地区,法里尔从小就对科技感兴趣丝毫不足为奇。不过,早期给他更多影响的,是机械技术。他父亲是一名拥有并运营自己车库的汽车机械师。法里尔上高中的时候,才开始接触计算机,为他打开了另一扇门。他考取了法国国家应用科学学院的计算机科学专业。2001年,他赶上了红色代码病毒大爆发,造成超过70万台计算机被感染。这让他对计算机安全产生了浓厚的兴趣。在本科阶段,他曾在法国的一份小型技术杂志上发表过多篇文章,还有一篇上了赛门铁克公司旗下的安全焦点网(Security Focus)。在2005年底、攻读计算机科学硕士学位时,他被告知,要有一份6个月的实习经历才能申请学位。这时,他与安全焦点网取得了联系,网站又把他介绍给钱哥。法里尔运气实在是太好了。这时,赛门铁克都柏林公司正在广发英雄帖,而钱哥最缺的就是有经验的逆向工程师。钱哥告诉法里尔,不需要什么6个月的实习了,我给你一份全职工作。“你打算给自己开价多少?” “我不要钱,”法里尔说,“我只要实习。” “小子,你疯了吧?”钱哥说,“我会给你发个offer邮件的,等着吧。” 几周后,法里尔去了都柏林。他很快适应了新的生活。但经过了和女友两年“打飞的”式的异地恋之后,他提出,想去巴黎的赛门铁克市场营销分部。结果,他到了巴黎之后,发现自己是那里唯一一个搞技术的。这让他时常感到格格不入,但同时也让他把更多的精力放在自己的工作上。 他和另外两名同事共用一间办公室。在他的办公桌上,有一台用于运行[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")的测试用台式机,旁边乱七八糟的放着一大堆技术论文和书籍,还有一台装有调试工具的笔记本,专门用于代码分析。桌上唯一一件个人物品是一个圆筒形的魔方,每当他遇到难题的时候,就把它拿起来玩两下。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b187db0a1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-32.jpg) 虽然法里尔非常擅长逆向工程,但实际上在震网出现之前,他这身本事也没派上过多大用场。一直以来,他扮演的角色是赛门铁克的“工具大神”。他能制作各种程序和工具,让其他分析师能更高效的破解[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。不知不觉中,他已经扮演这个角色很久了。一开始,他只是把自己看着不爽的、低效的恶意代码鉴定工具做一些调整,后来,他开始把这些工具分享给其他同事用,甚至根据他们的需求制作新的工具。最后,他用来制作各种工具的时间远远超过了破解代码的时间。所以,这次要不是出了震网的事,钱哥点名找高层要他,他估计还在闷头做工具呢。 法里尔分析震网载荷的工作,是从研究西门子Step 7软件开始的。震网瞄准的Step 7软件,是用来为西门子S7系列PLC编程的专用工具。它运行在Windows操作系统上,程序员可以在Step 7中为PLC编写、编译指令和代码。Step 7不能单独使用,必须和Simatic WinCC配合。WinCC是一种可视化工具,专门用于监视PLC及受其控制的进程。PLCs通过工厂生产网络与WinCC监控台相连接,始终处于与机器同步的工作状态,定时向监控台发送数据报告和更新,让操作员能看到受PLC控制的所有机器和设备的实时运行状态。西门子的.DLL文件对于Step 7和WinCC非常重要,扮演着向PLC传输指令和从PLC接收数据报告的中间人角色。震网假冒的,就是这个.DLL文件。他不仅能执行原版.DLL文件的任务,还会执行其他任务。 要弄清楚“幽灵.DLL文件”做了什么,法里尔必须首先理解Step 7以及合法.DLL文件的工作原理。他在网上到处请教专家,甚至想去趟西门子公司,但又不知道该找谁。这个.DLL文件不过是西门子用到的N个.DLL文件之一,要找到能真正帮上忙的那两三个程序员,花的时间估计跟自己在这“硬破”也差不多。而且,说到底,还是自己破更有成就感嘛。 为了还原原版和“幽灵”版.DLL文件,法里尔把它们放进了反汇编器——用于把二进制代码翻译成汇编语言代码的工具。他可以在代码中添加标记和注释、或者将各部分重新编排,来提高程序的可读性。他每次只截取一小段代码,然后按顺序将一段段代码排列好,并详细列出每段代码的功能。 研究者在分析复杂的恶意代码时,一般会综合运用静态分析和动态分析两种手段。静态分析,是指把代码放在反编译器或调试器中观察;动态分析,是指让代码在测试机上运行,使用调试器反复中断、恢复运行过程,以便将每部分代码的功能与该部分代码运行期间对测试器产生的影响进行匹配。法里尔也是这样做的。但这个过程,即便在最好的环境下,也会极其劳神而耗时,因为,研究者必须在两台机器之间跳来跳去。考虑到震网假冒.DLL文件的规模和复杂性,反汇编的难度就更大了。 法里尔用了两个星期来验证这个.DLL文件的每一个功能。最终,他确认了自己之前的怀疑,震网的确绑架了西门子这个核心.DLL文件,用假冒.DLL文件实现了劫持。它把原版.DLL文件的文件名从s7otbxdx.DLL改成了s7otbxsx.DLL,之后把假冒.DLL文件放了进去,成功实现了偷梁换柱。之后,当系统调用这个.DLL文件执行任务时,假冒.DLL文件中的内容就生效了。 替换成功后,假冒.DLL文件开始大显身手。(待续) 每当工程师要向PLC发送指令时,震网都会将自己的恶意指令和代码发送出去并执行。但是,它并未简单的将原始指令覆盖掉,而是增加了代码的长度,把自己的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")放在的原始代码的前面。然后,为了确认被激活的是[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")而非原始代码,震网还在负责读取和执行指令的PLC上“嵌入”(hook)了一段核心代码。要将代码天衣无缝的注入到PLC中,同时又不会造成PLC失灵,需要非常丰富的知识和高超技巧。攻击者做的,实在太漂亮了。 攻击的第二部分更精彩。在震网的恶意指令运行之前,[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")会先耐心的在PLC上守候两周甚至更久的时间,专门做这件事——当控制器将运行数据发给监控台时,就把合法操作对应的正常值记录下来。之后,当震网的恶意指令开始执行时,程序就会把之前记录下来的正常值“重放”给操作人员,让他们无法知道机器中的任何差错。这简直跟好莱坞警匪片中,窃贼将循环播放的录像插入监控摄像头硬盘中一样。当震网侵入PLC时,它还通过修改PLC安全系统中一个名为OB35的代码段,废掉了PLC的自动数字警报系统,以防止安全系统发现设备面临危险时,停止受PLC控制的工作进程。这段代码的功能,是监控受PLC控制的涡轮的转速等关键操作数据。PLC每100毫秒就会生成这样一段代码,以便让安全系统能在涡轮失控或出现其它问题的第一时间发现并介入,从而让系统(自动)或操作人员及时关机、停车。震网一来,安全系统只能看到被震网修改过的正常数据,再也没机会发现危险情况并介入其中了。 攻击并未到此结束。如果程序员发现受PLC控制的涡轮或其他设备出了问题,要去看看PLC的指令中看有没有程序错误,震网就会对此进行干涉,并阻止其看到恶意代码。它是怎么做到的呢?原来,震网会拦截所有读取PLC代码段的请求,并向其提供减去恶意代码段的“清洁版”代码。如果某个试图解决问题的程序员要用新代码覆盖旧代码,震网同样会介入,并将恶意指令注入其中。就算有人把PLC程序更新100次,震网也会把新代码反复感染100次。 法里尔被攻击的复杂程度及其可怕的意图吓到了。真相已经水落石出,震网的目的并非像人们之前想的那样,是监听受PLC控制设备的运行数据。它将指令注入PLC并将其隐蔽起来,同时关闭报警系统,根本不是什么间谍行为,而是赤裸裸的破坏! 而且,这不是一个简单的“拒绝服务”类攻击。攻击者并不是要把PLC关闭,而是要在保留其正常功能的同时,从物理上破坏受PLC控制的工业进程和设备。这是法里尔第一次看到数字代码不是用来改写或盗取数据,而是从物理上破坏受程序控制的实体。 震网做的事情,简直就是好莱坞大片的套路。这个大片,请布鲁斯·威利斯当男猪脚再合适不过了。三年前,一部名叫《虎胆龙威4:虚拟危机》(Live Free or Die Hard)的电影中,曾上演过与之类似的桥段,其中带着些许好莱坞特有的傲娇和创造力。在这部电影中,由一个对政府不满的前官员带着一帮网络恐怖分子,精心策划并发动了一系列连环网络攻击:攻击证交所造成恐慌抛售、攻击交通信号造成交通混乱、攻击电网造成大范围停电……通过这些攻击分散当局的注意力,从而实现他们的真正目标——从政府金库中盗取大笔美元,并引发终极大爆炸。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b188098d8.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-331.jpg) 电影海报上的布鲁斯·威利斯 但是,这些电影情节甫一放映,就有计算机安全人士宣称这是纯属虚构。黑客通过网络关闭一两个关键系统还有可能,但是爆炸?别逗了。《虎胆龙威》中大部分爆炸都是通过物理手段而非通过网络攻击实现的。但是,震网的存在似乎又在证明,这并非不可能。震网代码中所蕴藏的技术、手段和智慧之丰富,远远超出了法里尔的见闻和预期。 虽然规模庞大、成就斐然,赛门铁克终究还是一家充满技术气质的公司,以保护客户的安全为己任。15年来,这家公司打败过的“对手”,既有屌炸天的黑客和网络犯罪分子,又有以猎取机构与政府情报的官方间谍。他们水平和特点各异,都算得上强大的对手,但没有谁会想去对目标进行物理层面的破坏。而且多年来,恶意代码的进化是渐进的。在90年代,恶意代码制作者的动机非常相似,虽然有一些确实具有微弱的破坏性,但恶意代码制作者的主要目的就是出名。那时,典型的病毒所追求的是张扬的、恶作剧式的效果。后来,当电子商务在互联网上生根发芽后,黑客行为进入了以金融犯罪为主要特征的阶段。病毒制作者的目的不再是吸引眼球,而是使出浑身解数让病毒在目标系统中藏得越久越好,以供他们盗取大量信用卡卡号和银行账户密码等值钱的信息。最近,随着官方情报部门的加入,在目标网络中潜伏数月至数年、旨在不间断获取国家机密和其他敏感信息的高风险间谍活动开始出现。 但震网显然走的更远。可以说,它的出现,是病毒进化过程中的一次“基因突变”。法里尔和他的同事们之前所检测过的所有恶意代码,包括以信用卡中心服务器和国防部绝密情报为目标的顶级作品,与之相比都相形见绌。震网的出现,创造了一个网络攻击的全新领域,在这个领域中,赌注更大、风险更大、回报也更大。(待续) 长久以来,业内都流传着一个未被证实的故事。这个故事似乎一直在暗示,早晚会有类似的事情发生。故事是这样的:1982年,美国中情局设法在控制俄罗斯天然气管道的软件中,植入了一个逻辑炸弹。代码一旦被触发,将导致管道中的阀门失灵。最后的结果是,这个[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")引发了一场可以从太空上观测到的剧烈爆炸。 钱哥回到卡尔弗城后,一直在思考一个问题:在伊朗,会不会有一些可能与震网有关的、原因不明的爆炸事件呢? 他查了查相关新闻报道,不禁倒吸一口凉气。他发现,最近几周真的有好几起莫名其妙的爆炸。7月底,一条伊朗向土耳其方向输送天然气的管道发生了爆炸,爆炸地点位于距伊土边境仅数英里的土耳其多乌巴亚泽特(Dogubayazit)城外。爆炸震碎了附近建筑的窗户,大火持续了几个小时才被扑灭。 另一起爆炸发生在伊朗西北部的大不里士(Tabriz)城外,爆炸的是另一条长达1600英里、从伊朗通往土耳其首都安卡拉的天然气管道。第三起爆炸发生在波斯湾哈尔克(Kharg)岛上,大火和冲击波席卷了这家国营石化厂,造成了4人死亡。几周后,位于阿萨鲁耶的帕迪斯(Pardis)石化厂再次爆炸,5人死亡、3人受伤。而且,这次爆炸发生与伊朗总统内贾德来此参观仅一周之隔。 这么多起爆炸,必定其来有自。库尔德叛军宣称对多乌巴亚泽特和大不里士的两起爆炸负责。伊朗国家通讯社(IRNA)将哈尔克岛大火归咎于石化厂中央锅炉产生的过高压力。帕迪斯石化厂爆炸的起因,则是工人在焊接管道时点燃了泄露的乙烷气。那么,这些爆炸中,会不会有那么一两起是震网引起的呢?钱哥想啊,想。 短短几周前,他们开始解构震网时,谁曾料到会有今天的大场面?如果,钱哥他们猜测之事为真,那么震网对伊朗的攻击,完全可以称得上史上第一次网络战争。 钱莫法3人组召开电话会议,讨论下一步该怎么办。直到现在,他们也还不能准确的说出,震网注入PLC的代码到底具有什么功能,更不清楚受PLC控制的目标到底是什么。但是,他们认为,必须将当前的研究结果发布出来。于是,2010年8月17日,他们公开发布了一条新闻,称:震网并不是什么间谍工具,而是专门用来实施物理破坏的数字武器。法里尔用他一贯低调的语气写道,“以前,我们曾报道过,震网盗取了数字证书并运用经典的后门技术把自己藏起来。现在来看,它的所作所为远远不止于此。” 为了揭示震网的破坏能力,他们引用了1982年西伯利亚天然气管道爆炸的例子。新闻发布前,公司要求公共关系团队对文章的用词和可能引发的反应进行了反复审阅,确认没有任何瑕疵后方准予发布,同时保留了关于“网络攻击导致物理破坏”的核心内容。文章一发出,他们就开始紧紧的盯着各大媒体,看业内是何反应。出乎他们意料的是,没有任何情绪化和戏剧化的反应出现。用钱哥的话来说,“只有安静,连掉根针的声音都听得见。” 钱哥觉得这太不正常了。毕竟,他们讨论的可是史无前例的大事件啊。他们原以为,赛门铁克发布研究成果之后,肯定会有其他研究者跟着发布自己的研究成果。这才是[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")分析行业的正常工作模式。每当人们发现新的恶意代码,分属于不同公司的研究团队就会展开一场破解代码的竞赛,看谁能先把结果发布出来。一旦有一个团队发布结果,其他人就会很快跟上,发布自己的研究结果。如果多个团队得到的结果是相同的,那么,他们彼此的工作将成为某种意义上的“同行评议”,从而验证结果的正确性。然而,业界对震网研究结果不同寻常的沉默,实在是令人困惑。钱哥心想,难道只有我们一家在检测载荷部分代码吗?难道就没有其他人关心这事吗? 过了一会,他开始怀疑,他们在震网上花了这么多时间,到底值不值得。会不会有某个显而易见的问题,别人都看出来了、而只有他们几个还蒙在鼓里?回顾过去几周的所有发现后,钱哥斩钉截铁的确定,他们没有犯错,震网的重要性不容置疑,震网的攻击意图昭然若揭。 至于是否继续研究的问题,如果说之前的研究是为了对客户有个交待,现在他们已经没有什么需要回答的疑惑了。他们已经向世人宣告,震网是一个以造成物理破坏为目的的恶意程序。但是,他们没能找出,震网的目标到底是什么。在公布震网具有破坏意图之后,他们又开始担心,攻击者会不会突然感觉压力山大,并加速对目标实施破坏。如果是这样的话,那还不如不公布的好。 显然,担心事情会越闹越大的,并非只有他们一家。一直以来,从遭震网感染计算机发往槽洞的数据流量都比较稳定,但就在新闻发布5天之后,流量突然消失。看来,一定是伊朗内部有人看到了他们发布的消息。为了防止攻击者或其他人继续通过远程方式感染计算机并造成损害,伊朗方面终于下令,切断了国内所有染毒计算机与指挥控制服务器之间的连接。(待续)
';

第七章 零日漏洞交易

最后更新于:2022-04-01 21:17:04

震网对零日漏洞的利用,引发了对于政府的种种质疑。人们联想到,政府在类似漏洞利用程序的秘密交易与使用中,正扮演着越来越活跃的角色。由于有证据显示,这些活动正在使企业、关键基础设施和个人计算机用户面临更危险的处境,这些质疑应该上升到国会层面加以考虑,或至少进行公开讨论。 虽然零日漏洞及漏洞利用程序的市场已经出现10多年了,但直到最近,它的规模仍然很小,是一个仅由黑客和网络犯罪分子参与的地下黑市。然而,在过去几年间,由于买家和卖家数量暴增,这个市场变得更加商业化,价格也随成交量水涨船高。随着政府方面买家的进入,以前的地下黑市逐渐变成了不受监管的网络武器集市。 零日漏洞商品化倾向的第一个信号出现于2005年12月。当时一个名叫fearwall的卖家把一个零日漏洞挂到了易贝网(eBay)上面叫卖。这件事,让人开始担忧从事合法工作的网络安全研究员和漏洞搜寻者会模仿这种举动,雇佣掮客、把技能和成果卖给出价最高的人,而不是把软件漏洞相关信息免费发给负责修复的软件供应商。在将这个Windows Excel的零日漏洞挂上拍卖台之前,fearwall已经像“负责任的研究员”应该做的那样,把相关信息向微软透露过。但是,软件巨人却对fearwall极为冷淡、毫无谢意。当时,微软还没有“对外部人士帮助微软发现漏洞进行奖励”的机制。既然如此,fearwall决定,把这漏洞公开叫卖,一方面羞辱一下这个软件巨人,另一方面迫使它尽快将漏洞修复。当易贝方面了解情况并把产品下架时,最高叫价仅为60美元。但这笔失败的交易为后面的事情埋下了伏笔。 今天,漏洞及漏洞利用程序市场已经发展出多个层次:从软件供应商和网站所有者为漏洞发现提供奖励的公开市场项目,到网络犯罪分子进行私下交易的黑市,还有为满足全世界执法部门和情报机构无穷需求的灰色秘密市场。 提供奖金的公开市场项目由谷歌、微软及其他为自家软件漏洞买单的公司发起,这些项目的出现,让软件公司更加重视漏洞修复工作。惠普旗下的TippingPoint公司等第三方安全企业也会购买零日漏洞,然后将其用于测试客户的网络,提高抵御攻击的能力。此外,TippingPoint还会私下把手机到的漏洞透露给软件供应商,以便其修复。但补丁的制作通常需要几周到几个月的时间。在此期间,TippingPoint将为客户提供额外的保护,让这些不知情的客户不会受到漏洞的伤害。 在热闹的黑市中,主要客户有网络罪犯和商业间谍,产品不光有零日漏洞和漏洞利用程序,还有将漏洞利用程序变成武器所需的载荷:特洛伊木马,监听工具包,其他用于窃取网络银行数字证书和公司机密情报的恶意工具,以及由若干僵尸计算机组成、具有一定规模的僵尸网络。这里卖出的漏洞,只有当使用它们的攻击行为被发现之后,才会被公众和供应商了解。这一过程可能长达数年时间。研究人员花了几年时间才发现震网和之前Zlob木马中使用的.lnk漏洞,就是明证。 但传统黑市正遇到一些麻烦。它的生意正在被一个新兴的零日漏洞及漏洞利用程序市场抢走。有评论人士预测,这个新兴市场将对网络安全领域带来比传统黑市更为严重的问题。它就是蓬勃发展的数字军火商灰色市场。这里的主角是防务承包商和私营交易商,他们的政府客户财大气粗,把零日漏洞的价码炒得老高。这把一些原来打算在软件供应商那里拿奖金的卖家吸引了过来,也让一些原本会流向供应商、会被修复的漏洞,转到了只想利用这些漏洞的人们手上。 之所以说这个市场是“灰色的”,是因为买卖双方都是“好人”,交易的初衷都是为了保障公众安全和国家安全。但甲之蜜糖,乙之砒霜。谁也不敢保证购买了零日漏洞的政府官员不会把它们在政敌和社会活动人士身上滥用,谁也不敢保证转送到其他政府手上的漏洞不被滥用。即使国家安全部门出于合法的国家安全目的使用零日漏洞,由于漏洞来自灰色市场,软件供应商也没办法打补丁。那么,如果有国外敌对势力或独立黑客也发现了这个漏洞并利用了这些漏洞,就有可能导致包括其他政府部门和本国关键基础设施所有者在内的、不掌握该漏洞的任何一方面临严重风险。 漏洞利用程序的销售虽然合法,但几乎不受任何监管。尽管美国的出口管制政策在控制普通软件出口的同时,也禁止将漏洞利用程序出口至伊朗、朝鲜等国,但漏洞利用程序不像普通软件那样具有可以辨别国籍的版权标志,所以没有任何人会因为把漏洞利用程序卖给外国人而被抓。 不同零日漏洞之间的价格差距很大。系统越难以攻破,用于发现漏洞、研发漏洞利用程序的时间越长,漏洞利用程序的目标软件使用越普遍,相应漏洞就越稀缺、价格越高。为特定客户的定制版漏洞利用程序,要比面向多个客户的通用漏洞利用程序要贵。同时利用多个漏洞帮助攻击方获得目标计算机系统权限的漏洞利用程序要价更高。能够躲避反病毒软件和其他安全防护手段,却没有“引发浏览器或系统崩溃、让计算机机主觉察到不对劲”等副作用的漏洞利用程序,也会更贵一些。 针对Adobe Reader的零日漏洞利用程序要价在5000~3万美元,针对Mac OS的零日漏洞则可以开到5万美元。针对Flash 或Windows的可以卖到10万美元,因为Flash 和Windows的用户数量非常庞大。针对苹果手机iOS系统的漏洞也能卖到10万美元,因为与其他智能手机相比,破解苹果的系统更难一些。用来攻击火狐(Firefox)、IE、Chrome等浏览器的漏洞利用程序,根据绕开软件供应商内置安全策略的能力不同,可以卖到6万~20万美元。 与公开市场奖励项目提供的奖金相比,卖家在灰色市场上往往可以多拿几倍的钱。莫兹拉基金会为旗下的火狐浏览器、雷鸟邮件客户端中的漏洞发现奖金是区区3000美元,而因没有漏洞发现奖励机制的而被批评多年的微软,终于在2013年推出IE11浏览器预览版时附带了一个奖金为区区11000美元的漏洞发现奖励项目。现在,微软总算是大方了一点:如果发现能帮助攻击者绕过产品自带安全防护的漏洞,奖10万美元;如果附有修复漏洞的解决方案,再奖5万美元。谷歌为Chrome浏览器及Gmail、YouTube等网络应用设立了500~2万美元的漏洞发现奖金,但每年会举办一场挖掘Chrome漏洞的竞赛,为某些类型漏洞的发现者提供6万美元奖金。这些软件供应商正努力通过这种方式与黑市竞争,然而,在多数情况下,跟政府部门在灰色市场上的出价相比,明显是小巫见大巫。另外,虽然用户数以百万计,但Adobe和苹果公司坚持不提供漏洞发现奖励项目。(待续) 零日漏洞的灰色市场出现也有10来年了,但直到最近才出现迅速发展壮大的趋势。多年来,它的交易模式一直是“自组织”的,交易在安全公司或研究员与政府买家私下联系后,悄悄地发生。如果有人想卖一个漏洞利用程序,但没有来自政府的人联系他,他自己很难找到买家。 2006年,新的情况开始出现。据某安全公司前雇员称,该公司在一次交易中把好几个零日漏洞利用程序卖给了一家美国大型防务公司。这些零日漏洞利用程序均以Safari、火狐和IE浏览器中的安全漏洞为目标,每个成交价约为10万美元。对每一笔交易,买家会先支付安全公司5万美元的首期款,然后每月支付1万美元,直到结清为止。这样做的原因是,防止卖家把漏洞利用程序再次卖给其他买家,或者泄露给软件供应商。 第一个公开将漏洞利用程序卖给政府的人,是安全研究员查理•米勒(Charlie Miller)。他2000年从美国圣母大学(University of Notre Dame)取得数学博士学位后,成为国家安全局旗下的一名黑客。米勒在NSA干了5年。他在简历上说,自己一开始是为NSA破解代码,后来改为攻破计算机——首先进行勘察扫描、摸清外国目标网络的拓扑结构,然后执行“对外国目标的计算机网络刺探”任务。离开NSA之后,米勒慢慢成为信息安全圈内以挖掘零日漏洞和制作漏洞利用程序著称的技术大牛。这些漏洞中的一部分被他卖给了政府。2007年,他首次亮相,就和一名同事一起,成为首个攻破iPhone安全防线的人。他还曾4次荣获惠普TippingPoint公司组织的、以挖掘特定软件中漏洞为主题的、每年一度的Pwn2Own黑客大赛冠军。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b181ea892.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-28.jpg) 查理•米勒 2006年的时候,米勒在一家很小的安全公司就职,利用业务时间做些漏洞挖掘的业务。在此期间,他成功的将一个漏洞利用程序以5万美元的价格卖给了一家美国政府承包商。具体和他联系交易的买家是他之前在NSA时的一个熟人,但是他说,他也不知道这个漏洞会去向何方、用作何事。他的漏洞交易合约中从来都不会对买家的用途进行规定。“我不清楚他用这漏洞干的是好事还是坏事,我只知道他是为美国政府做事的。”米勒说,“他们买下的是知识产权,你知道么?他们想用它做什么就做什么。” 2007年,米勒撰写了一篇关于零日漏洞市场的文章,并在其中承认他曾经把漏洞利用程序卖给过政府。此文一出,舆论哗然。他写这篇文章的目的是想告诉人们,这些事情确实存在。他还想通过亲身经历的描写,帮助其他像自己这样的研究者避开交易中的陷阱。彼时,在信息安全业界,售卖漏洞利用程序还是见不得人的秘密。研究者们偶尔会在彼此之间提到这些事,但没人愿意公开谈论。米勒很快就明白了个中原因。业内的同事们纷纷指责他把买家推向了危险的境地,还有人呼吁吊销他的[CISSP](http://www.aqniu.com/infosec-wiki/1006.html "注册信息系统安全认证专家(Certified information System Security Professional,简称 CISSP)是目前世界上最权威、最全面的国际化信息系统安全方面的认证.")(信息系统安全认证专家)执照,因为他的行为违反了职业道德规范。“我把它说出来了……然后被臭骂了一顿。以后我再也不开口了。”米勒说。 对于米勒而言,把漏洞免费透露给软件供应商没有任何意义。因为那时候,即使有供应商设立了漏洞发现奖励项目,奖金也少得可怜。而且,当时的氛围对米勒这种漏洞挖掘者非常不利。供应商不但不会对漏洞发现者表示感谢,反而会威胁对他们刺探公司系统或软件的行为提起诉讼。 几年前,米勒开始不再参与零日漏洞交易。现在,他在推特公司的安全团队工作。但是,他仍然认为,把零日漏洞卖给政府这件事没有错,更没有违背职业道德规范。“你看,当军火公司把枪和坦克卖给政府时,有人发疯吗?”他还说,在美国研究者把零日漏洞卖给政府的同时,其他国家的黑客也在做着同样的事。美国政府为零日漏洞出高价,总比眼睁睁的看着它们旁落他家强多了。 “我不认为研究者把漏洞利用程序卖给政府是多大的事,”他对我说,“但我觉得,人们应该……了解正在发生什么事情。我完全同意政府公开的进行这项活动。我在想,他们干嘛不干脆设立一个公开项目,并宣布‘如果找到零日漏洞,我们会把它买下来’呢?” 就在米勒潜心挖掘零日漏洞的那几年,灰色市场上对于零日漏洞的需求大幅增长。原来一个漏洞利用程序需要几个月才能卖出去,现在只需要几周甚至几天。为了满足需求,一个生机勃勃的漏洞挖掘与交易生态系统逐渐成形。以漏洞挖掘为主业的小公司如雨后春笋般崛起,大型防务承包商和人力资源部门则纷纷招募职业黑客团队,以完成为政府开发漏洞利用程序的任务。愿意为独立卖家承揽漏洞利用程序销售生意的中间商也越来越多。 有一名身处泰国、在业内化名“The Grugq”的南非籍安全研究员,就是这样一个中间商。他在黑客朋友与政府买家之间牵线搭桥,从每笔交易总额中收取15%的佣金。他2011年才开始做这个生意,但生意实在太火爆了,到2012年底的时候,他对一名记者说,自己大约已经赚到了100万美元佣金。媒体还刊登了一张他拍摄于曼谷某酒吧的照片,照片上,他的脚边放着一个装满现金的小背包,显然是某个卖家付给他的佣金。后来他说,这不过是个玩笑。 他对《福布斯》杂志说,多数经他手的漏洞利用程序都卖给了欧美政府的买家,因为他们比别人出价更高。有一个针对苹果iOS系统的漏洞利用程序卖到了25万美元,但后来他判断自己还是价格开低了,因为买家难掩对这笔交易的兴奋。他将自己的成功归结于他在漏洞利用程序销售和对客户提供服务方面的专业精神。“从本质上说,我做的是商业软件销售,跟卖正规软件是一样的,”他对《福布斯》说,“所以,要把事情做得严谨、规范且不失圆滑。” 但是,那段时间真正的漏洞大单并不是米勒这样的独立卖家和Grugq这样的中间人做出来的,而是由安全公司和防务承包商做出来的。他们将漏洞利用程序的研发和面向政府部门的销售,变成了新型军事/工业复合体的一个有机组成部分。 尽管政府部门还在自行制作漏洞利用程序,如NSA雇佣了专事此业务的团队,但由于需求太大,他们还是需要将部分业务外包出去。同时,制作成本也大幅提高:两三年前,利用一个漏洞就足以获得目标计算机的系统级权限。但如今,要绕过安全防护,实现同样的目标,可能需要同时利用多个漏洞。(待续) 交易中的多数公司都不愿公开他们这方面的工作,不仅因为这是秘密的,还因为他们不想因此被反漏洞交易社会活动人士当做批判的目标,更不想引来想偷走这些漏洞利用程序的敌手。由于零日漏洞既可以用于防御,也可以用于进攻,很多公司会给攻击性活动戴上一个防御工作的帽子。包括Endgame Systems在内的多家美国公司都或多或少的涉足其中。欧洲方面,有专门制作针对工业控制系统漏洞利用程序的马耳他小公司ReVuln,和以执法部门和情报机构为目标客户的法国公司VUPEN。此外,还有向执法部门和情报机构出售“与零日漏洞利用程序配合使用的监视工具”的意大利黑客团队和英国的伽马集团。 由于非常重视保密管理,多年来,乔治亚州Endgame Systems公司在零日漏洞挖掘业界一直是默默无闻。直到2011年,来自“匿名者”(Anonymous)的黑客攻破了HBGary Federal公司的服务器,泄露了这家公司包括与Endgame高管来往邮件的数千封电邮。邮件中讨论了Endgame公司制作漏洞利用程序的工作,以及根据政府部门“尽量保持低调”的建议所做的努力。这些邮件中,还包括一个面向客户对公司业务进行展望的PPT演示文稿,其中描述了公司加强“美国情报机构和军事组织遂行信息作战任务能力”的使命。Endgame公司的董事会主席还同时担任着CIA旗下风险投资公司——In-Q-Tel公司的首席执行官。 在公开市场上,Endgame公司的主要业务是为客户提供安全服务,使其免受病毒和僵尸网络攻击。但公司却私下从事着出售写有“可直接为计算机网络攻击行动中提供行动情报”字样的漏洞和漏洞利用程序包的勾当。Endgame公司成立于2008年,由于其商业前景非常看好,两年后就拿到了3000万美元的风险投资资金,之后又拿到了2300万美元的新一轮风投资金。2011年,Endgame公司CEO克里斯托弗•罗兰德(Christopher Rouland)向亚特兰大一份地方报纸宣称,公司的收益将“每年增长一倍以上。” 泄漏出来的邮件中描述了Endgame公司名为毛依(Maui)、 卡曼(Cayman)和科西嘉(Corsica)的三个产品包。名为“毛依”的产品包,合同金额为每年250万美元,将每年为买家提供25个零日漏洞利用程序。名为“卡曼”的产品包,合同金额为150万美元,内容是关于全球数百万台易受攻击计算机的情报,这些计算机已被类似Conficker的僵尸网络蠕虫和其他恶意程序所感染。邮件中的预览图显示了俄罗斯境内易受攻击计算机的位置,以及在核心政府部门和关键基础设施中易受攻击计算机信息清单,清单中包括每台计算机的IP地址和使用的操作系统。清单中有位于俄联邦中央银行的249台计算机,还有位于财政部、国家储蓄银行、新沃罗涅日核电站和阿秦斯克炼油厂的少量计算机。其中有一部分数据是Endgame通过设置可与被Conficker病毒感染计算机进行通信的“槽洞”来获得的。每当[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")与“槽洞”通信时,Endgame就可以将[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")所在计算机的情报收集起来。关于委内瑞拉的另外一张地图上,显示着该国网络服务器所在位置,以及每台服务器上正在运行哪些软件。如果网站服务器被成功渗透、而且配置不当,那么攻击者就可以通过后门来进入网站的系统和服务器。被入侵的网站列表中包括安第斯开发银行——为拉美及加勒比海地区和欧洲的18个成员国提供金融服务的发展银行、委内瑞拉中央预算办公室、总统办、国防部和外交部网站。在邮件泄露事件后的2012年,Endgame公司对媒体宣称,正在砍掉漏洞利用程序开发业务,并于2014年初专门为此事发布了正式声明。 在Endgame公司上下协力掩盖其漏洞业务的同时,位于法国蒙彼利埃的VUPEN安全公司却在零日漏洞交易领域大出风头。VUPEN标榜自己是一家制作和销售漏洞利用程序的专业安全公司,可以满足情报机构和执法部门等客户在“攻击性网络安全行动及合法监听任务”中的需求。2008年成立时,它的业务是保护政府客户免遭零日漏洞攻击;两年后,公司开始制作用于攻击行动的漏洞利用程序。2011年,公司营业额达到120万美元,其中近90%来自国外市场。2013年,公司宣布正在美国设立分部。 VUPEN创始人、CEO查欧基·贝克拉(Chaouki Bekrar)行事大胆、无所顾忌,这让他经常被那些反对向政府销售漏洞的人在推特上大加鞭挞。他还经常挑战那些口风颇紧的竞争对手,让他们把自己做的事情公诸于众。“我们是世界上唯一一家公开宣称吃这碗饭的公司,”他说,“美国和欧洲有很多公司都在做这些事,但他们不敢承认。我们之所以选择公开,是因为我们胸怀坦荡。” Endgame和其他所有公司都隐忍的蛰伏着,贝克拉和他的同事们却高调的穿梭于各种安全会议,参与类似Pwn2Own的竞赛,不断提升公司知名度。2012年的Pwn2Own大赛在 CanSecWest大会(加拿大的一个计算机安全年会)上进行,由贝克拉和他4名同事组成的战队穿着后背印有公司标志的黑色连帽衫,夺得了大赛的冠军。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1828f52b.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-29.jpg) VUPEN公司贝克拉团队荣获2012年Pwn2Own大赛冠军 但是,VUPEN对外界的展示,仅限于此。贝克拉不会对别人讨论他的背景,也不会回答任何个人问题,只是让别人把目光放在他的公司上。“我只是个演员,咱们还是聊聊电影吧。”他说。但当别人真问到有关公司的问题时,他一样会闭紧嘴巴。他不会说出公司有多少雇员、叫什么名字,而只会说“我们是个小公司”。 VUPEN公司的研究员专注于零日漏洞的挖掘和漏洞利用程序的制作。不仅制作已知漏洞的利用程序,也制作零日漏洞利用程序。贝克拉不会告诉别人他开始这项业务以来一共卖出过多少漏洞利用程序,但他明确表示,每年可以发现数百个零日漏洞。“我们有各种各样的零日漏洞,”他说,“针对各种操作系统的、各种浏览器的、还有针对你想要的每种应用软件的。” 不管贝克拉的话中有几分是确有其事,几分是“战略营销”,这种策略确实管用。2012年,在他的战队赢得Pwn2Own大赛的几个月后,美国国家安全局NSA认购了VUPEN公司“二进制分析与利用”(Binary Analysis and Exploits ,BAE)一年的服务。迫于公众压力而公开的合同非常“简约”,连合同金额都没有。不过,将VUPEN选为“2011年年度创业企业”的一家商务咨询公司透露,合同金额是一年10万美元。据VUPEN网站上的说明,BAE服务的内容是“提供关于最关键、最有价值漏洞的高级技术报告,帮助客户理解漏洞存在的根本原因、漏洞利用技术、危害缓解手段,以及基于漏洞利用程序或直接利用漏洞的攻击探测方法。” 维基解密拿到了VUPEN公司的一本内部宣传册,上面写着:VUPEN还提出了一个“威胁防护项目”,通过对本公司研究员发现的独家漏洞进行深入研究,帮助客户“降低遭受零日漏洞攻击的风险”。根据这些项目的描述,他们所做的,无非是帮助客户加强防护、免受零日漏洞攻击——零日漏洞利用程序可以用来对系统进行攻击测试——但是,这些信息已经足以让客户用它们对那些未打补丁的系统进行攻击。公司的“威胁防护包”中,甚至为客户提供了可以直接用于攻击的零日漏洞利用程序。此外,VUPEN公司还有一项专门为执法部门和情报机构量身定制的服务,功能是对目标计算机发动秘密攻击、并实现远程登入。“执法部门需要最先进的信息入侵技术,和最可靠的攻击工具,以便远程、秘密的进入目标计算机系统,”贝克拉在宣传册中指出,“使用以前没有人知道的软件漏洞及相应的漏洞利用程序,可以绕过反病毒产品和操作系统的安全防护……帮助调查者成功完成任务。”(待续) 入侵程序仅限于北约、太平洋安保条约和东盟成员国及其盟国——贝克拉提到的“数量有限的几个国家”——的警察和情报部门使用。 贝克拉说,“它们非常敏感,所以我们已严格控制客户数量。”但是,仅北约就有28个成员国,包括罗马尼亚和土耳其。而这些国家的盟国有40个左右,包括以色列、白俄罗斯、巴基斯坦和俄罗斯。贝克拉又说,VUPEN当然不会因为仅仅因为买家在这个大名单上,就把产品卖给他。 公司所售漏洞利用程序的攻击目标,涵盖了微软、苹果、Adobe等多家大企业的几乎所有顶级商业软件,还包括Oracle等公司制作的企业级数据库和服务器操作系统。最受欢迎的是针对浏览器的漏洞利用程序,贝克拉说针对各个品牌浏览器的漏洞利用程序他们都有。VUPEN只出售漏洞利用程序和用来帮助客户渗入网络的“中间载荷”。客户要想得到一个完整的“数字武器”,还需要自行制作与漏洞利用程序配合使用的末端载荷。 震网病毒被发现后,有客户开始咨询工业控制系统的漏洞利用程序,公司开始把注意力转向这个方面。贝克拉说,公司研究团队对震网进行了分析,它的漏洞利用程序做的很棒。“这些漏洞也找的很合适,利用漏洞的方式更是精彩极了。想利用好这些漏洞可不是件容易的事。”但是,要想真正研发针对工业控制系统的攻击手段,必须要有用于做实验的特殊硬件和相关设施。他表示,“我们可没有这些东西,我们也不打算做这方面的业务。” 漏洞利用程序订阅客户可以访问公司的门户网站,网站上有零日漏洞利用程序的商品列表,还有按特定操作系统和应用软件排列的漏洞利用程序清单。漏洞利用程序以“积分”标价,价格分为1分、2分、3分、4分共4档。订阅者可以购买一定数量的积分,再用积分拍下想要的商品。每个商品都有一段说明目标软件和证明自身可靠性的描述文字。每当有新漏洞被发现或者新的漏洞利用程序上线,客户还可以收到实时提醒。同时,VUPEN还监控着来自微软等软件供应商发布的声明,一旦出现公司漏洞利用程序产品所涉漏洞被发现、或发布了相应补丁的情况,立即提醒客户相关漏洞及利用程序作废。这个提醒,有时会通过推特发布。 贝克拉说,他们公司不会只把漏洞利用程序单独买给一个买家,而是同时向多个买家出售漏洞利用程序的副本。漏洞利用程序用的次数越多,就越容易被人发现,这使得像NSA这样的对保密性要求很高的大买家不会对它们产生浓厚兴趣。贝克拉坚称,VUPEN只跟少数几个国家的政府部门合作,还说客户不会将公司产品用于“大规模攻击”,因此,这些漏洞利用程序“几乎没有机会”被大面积部署。 和米勒一样,贝克拉对那些批评漏洞交易的人没有一点好气。他还说,过去软件供应商先是拒绝向发现漏洞的研究者支付报酬,后来勉强同意拿钱、却又不肯出高价,自己却厚颜无耻的占据了以政府为客户的漏洞市场。这搞得漏洞研究者实在没办法,才只好把漏洞卖给那些愿意为他们辛勤工作和杰出作品支付合理价格的买家。他还坚称,他做漏洞生意并不是为了钱。“我们不是商人。我们不在乎销售额。我们更在乎公众的安全。这关乎伦理。” 在一次Pwn2Own大赛上,当谷歌提出用6万美元换取贝克拉战队用在Chrome浏览器上的漏洞利用程序及相应漏洞信息时,贝克拉拒绝了。他开玩笑说,如果谷歌出100万,他可能会考虑一下。不过,稍后他私下说,即使出100万,他也不会把它交给谷歌,只会留给自己公司的客户。当被问到VUPEN的客户能不能拿出这么多钱的时候,他笑道:“怎么可能呢…他们可没有这么大的预算。” 同时,他认为自己把公司产品卖给政府,有比赚钱更重要的原因。“我们主要与那些面临国家安全方面问题的政府。我们帮助他们保护其国家和人民生命安全……像其他监控手段一样。政府需要知道是否有人正准备干坏事,需要了解人民正在干什么,以便更好保卫国家安全。所以,可以通过多种途径让漏洞利用程序为国家安全和挽救生命做出贡献。” 但批评人士认为,VUPEN这样的公司没有任何办法掌握漏洞利用程序的去向和使用方式,比如,用户买去用来暗中监听国内的无辜公民。贝克拉承认,他与客户之间的合同并没有明确禁止政府买家用VUPEN的产品监听本国公民。“但是,我们要求用户,漏洞利用程序的使用必须合乎伦理。” 贝克拉说,他们在合同中只能说到这一步了,因为,合法的协议本身,就具有“避免不道德用途的所有可能情况”的内涵。“对我们来说这是很清楚的,”他说,“在使用漏洞利用程序时,必须考虑道德、国际规则和国内法律,更不要说用于大规模(破坏性)行动了。”但是,道德这个东西往往是由旁观者评价的,所以贝克拉承认,他没办法控制客户怎么去把握这个度。“从我的角度来看,唯一的办法就是控制我卖给哪些国家,而不卖给哪些国家。” 美国民权同盟的克里斯托弗•索菲安(Christopher Soghoian)是VUPEN公司最强硬的批评者之一。他把VUPEN这种漏洞销售公司称为“出售死亡的人”和“牛仔”。他们盯着政府的钱袋子,为之提供用于侵犯性监视行为甚至是网络战争的武器弹药。这让每个人都处于风险之中。他也承认,不管有没有VUPEN这样的公司,政府都会自己制作和使用零日漏洞天利用程序。但是,他还是因为它们的交易不受任何限制,而将其称为“定时炸弹”。 “一旦有一个卖给政府的‘武器化零日漏洞利用程序’不小心落入坏人之手、并用于攻击美国的基础设施,那麻烦可就大了,”索菲安在2011年的一场计算机专业会议上对观众说道,“这似乎不是问题,但是……如果有一个拿着低薪又贪腐的警察,把某个武器化漏洞利用程序的副本卖给犯罪团伙或恐怖分子呢?如果‘匿名者’的人黑掉了执法部门的网络,把这东西偷走呢?” 2013年,规范零日漏洞利用程序及其他网络武器销售的行动启动了。由美、英、俄、德等41国共同缔约的武器控制组织——瓦圣纳协议宣称,将首次把可用于黑客攻击和监视行为和“可能对国际和地区安全稳定造成危害”的软硬件产品列为“军民两用产品”。“军民两用”这个词的含义是,那些必须受到限制的、既可用于军事用途又可用于和平用途的材料和技术(如用于制造离心机转子的马钉钢)。虽然该组织的声明不具有法律约束力,但组织成员国原则上应设立针对此类产品的出口许可证制度,并积极参与控制其销售的国际合作。瓦圣那协议缔约国之一德国,则已经制定了一部旨在大力禁止销售和任意使用漏洞利用程序的法律。其中,安全研究人员定期使用漏洞利用程序测试自己系统以提高安全性的行为,也在非法之列。美国参议院武装力量委员会的立法者们也于2013年向总统呼吁,应拿出一项政策,“通过单边出口控制和合作出口控制、执法活动、金融手段、外交接触以及总统认为适当的其他手段,控制网络武器扩散”。但是,单凭这些控制手段能起到多大作用呢?没人知道。因为与传统武器相比,零日漏洞和其他数字武器更难监控,而上述控制政策需要为漏洞利用程序的外销发放出口许可证,并对买家进行筛查。这样不仅会增加合法卖家的费用,而且会让很多卖家转到地下。 更进一步的说,这类控制措施中的手段,充其量只能让犯罪分子、流氓和恐怖分子拿不到漏洞利用程序,而根本无法控制政府在执法行动和国家安全活动中使用它们。零日漏洞灰色市场的兴旺清楚的表明,执法部门和情报机构急切的期待着,能拿到震网用的那种零日漏洞利用程序,并愿意为之豪掷万金。对零日漏洞的疯狂渴求只会不断增长,与此同时,与之相关的国家行为也会越来越多。(待续)
';

第六章 寻找零日漏洞

最后更新于:2022-04-01 21:17:01

8月一个周五的夜晚,莫楚(Liam O’Murchu)正在加州威尼斯一个时尚的楼顶酒吧里,为自己的33岁庆生。他租下了欧文酒店顶楼一处可以看海的露天U形酒吧卡座,正在开心的跟女朋友、爱尔兰来的表兄妹和一大帮朋友一起,一杯接一杯的喝着酒。就在他们旁边,一名真人秀节目记者正在拍摄坐在一起的一对男女,不放过这场“私人约会”中任何一个会让观众捧腹的尴尬举动。耶,这就是传说中的度假天堂——南加州。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b176695d0.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-24.jpg) 欧文酒店 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b17681e72.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-25.jpg) 楼顶的酒吧卡座 钱哥9点钟露面时,莫楚他们已经玩了3个小时了。但钱哥的心思根本不在Party上。他特别想给朋友和同事们看个邮件,告诉他们当天早些时候突然出现的一个重大新闻。但他又怕莫楚一看到这个,就没心思想别的事了。结果,他还是没忍住。“我告诉你一件事,”钱哥跟莫楚说,“但你得答应我今天晚上不要谈论它。”莫楚点点头。 钱哥掏出黑莓手机,打开了邮件。邮件是另一家反病毒公司的研究员发来的,内容是提示他们,震网中可能还利用了另外一个零日漏洞。莫楚瞪大了双眼,盯着钱哥。他们已经花了几周时间,对震网的各个组件进行逆向工程,也的确发现过暗示存在其他零日漏洞的线索,但却没有足够的时间去进一步挖掘。漏洞的线索藏在实现传播病毒的“导弹”部分代码中,但他们一直在聚焦于感染西门子软件和PLC的“载荷”部分代码。 邮件没讲多少细节,而且也看不出这位研究员到底是已经找出了新的零日漏洞,还是跟他们一样只看到了线索。不管是什么情况,莫楚的斗志再次被点燃了。“就这样,”莫楚说,“今天晚上我不会再喝了。”第二天,周六一早,莫楚就来到办公室,一头扎进代码里。 周六的办公室空空荡荡,真是专心做事的好地方。在转向载荷部分之前,公司研究团队已经完成震网导弹部分中多数代码的功能标注工作,那么现在要做的,就是结合这些标注,把整个导弹部分代码仔细梳理一遍,以寻找漏洞利用程序的踪迹。当然,这事可不像说起来这么容易。必须跟踪代码与操作系统和其他应用程序之间的每一个动作,并观察代码与系统和程序间相互作用的方式,看其中是否存在疑点。比如,它是否强制某个应用程序执行了一个本不应执行的动作?是否越过了安全边界?是否绕过了系统权限?经过逆向工程之后的导弹部分,共有数千行代码,必须要对每一行进行认真检查。 震网的结构是非线性的,所以要对其行为进行追踪倍加困难。命令跳转来跳转去,莫楚只好一行代码一行代码的抠、一个步骤一个步骤的看。 1小时后,他非常确信,自己发现了第二个漏洞利用程序。他立刻搜索了漏洞利用程序的档案库,看看这个漏洞是否曾被人利用过,结果是“没有记录”。之后,他又用一台安装Windows最新版本和升级补丁的计算机对这个漏洞利用程序进行测试,结果仍然符合预期。零日漏洞的身份得到了确认。这一次,震网利用一个Windows键盘文件中的零日漏洞,实现了对系统的提权。(非法获得System权限) 作为黑市商品,零日漏洞是很值钱的。莫楚认为,在一次攻击中,冒着被发现的风险同时使用两个零日漏洞,似乎是种不可理喻的资源浪费。但他没有停下来。他把刚才的发现记录下来,回过头去继续分析代码。 几个小时后,他觉得自己好像又发现了一个漏洞利用程序——有迹象显示,震网正在利用Windows打印缓冲功能中的一个漏洞,实现病毒在共享打印机的各台计算机之间的传播。他再次用另一台装好最新补丁的计算机进行了测试、再次搜索漏洞利用程序档案库,再次发现没有历史记录。几周前那种令人“头发倒竖”的兴奋感再次来袭。他再次将其记录,又一头扎进代码。 到了下午三四点钟,钱哥过来看莫楚,发现他睡眼惺忪,已经累到不行了。他把分析结果交给了钱哥。钱哥拿过接力棒,然后一直干到深夜。周日继续加班一天。到周末过完的时候,他们已经发现了3个零日漏洞!!!加上之前在.lnk文件中发现的那一个,他们一共从震网这一个病毒中找到了4个零日漏洞。 他们觉得这实在太疯狂了。一次攻击中能利用一个零日漏洞已经够厉害了。两个都是浪费。4个?是谁干的?为什么这样做?你们这是在暴殄天物好不好!一个顶级的零日漏洞连同相应的漏洞利用程序,可以在黑市上卖到5万美元以上,在以政府的网络部队和间谍机构为卖家的内部灰色市场上甚至能卖到10万。要么攻击者手上拥有N多零日漏洞、根本不在乎用掉几个,要么攻击者就是孤注一掷、而且确实有足够的理由赋予病毒顶级的传播能力、确保命中最终目标。钱哥和莫楚觉得,这两种推测都有理。 钱哥向微软报告了他们新发现的几个零日漏洞利用程序,但很遗憾,俄罗斯的卡巴斯基实验室已经捷足先登了。震网的新闻甫一面世,卡巴斯基就组织了一个10人团队,开始对导弹部分代码进行分析。几天之后,他们找到了第2个病毒利用程序,几周后又找到了第3个和第4个。微软接到他们的报告后,已经开始了制作补丁的工作。但是,遵循“负责任的漏洞发布规则”,任何一方都不会在微软发布补丁之前,把这件事公开。 震网中有4个零日漏洞,令人印象深刻,但这还不是故事的结尾。在钱哥和莫楚周末的“代码分析马拉松”中,他们还发现,震网除了利用零日漏洞进行传播之外,还有一共8种不同的感染方法。震网的代码简直堪称一套专门用来侵入系统并实现传播的“瑞士军刀”。 最重要的一个发现,是它能够感染Step 7的项目文件。这些文件,是程序员用来给PLC编程的。而且,它还破掉了西门子公司“固化”(hard-code,硬编码)在Step 7软件中的用户名winccconnect和密码2WSXcder。这组用户名和密码是Step 7用来连接后台数据库的。把它破掉,就意味着可以攻击者可以把病毒注入后台数据库所在的计算机。同时,这个数据库由所有使用Step 7的程序员共享,这样病毒又可以感染所有登录数据库的Step 7程序员。这两个传播大招,极大增加了利用“程序员在染毒后,使用(带毒)笔记本或U盘连接PLC并对其编程”的机会,和最终成功“伞降”PLC的可能性。攻击者利用了Step 7系统某个模糊特征中的漏洞,感染了它的项目文件,这表明攻击者掌握着少为人知的Step 7系统相关的专业知识。这一点,是本次攻击“开挂”的另一个信号。 与传播机制并行,震网还拥有自动寻找新版本、更新旧版本的点对点传输功能。这使得震网可以通过不直接连接因特网的内网计算机,完成对自身的远程更新。为此,震网在每台被感染计算机上都安装了文件共享服务端和客户端,这样处于同一局域网的计算机就可以相互通信、并比较各自的病毒版本。只要有一台计算机上出现更高版本,就会立刻自动更新网内所有低版本的病毒。也就是说,只要将新版本病毒引进来,就能迅速实现局域网内全部病毒的更新。(待续) 从震网所运用的所有感染方法来看,攻击者的意图就是不惜一切代价传播病毒。但与多数病毒利用电子邮件或恶意网站实现对成千上万台计算机的快速、即时传播不同,震网从不利用因特网。相反,震网只是凭借某个用户用U盘从一台计算机传播到另一台计算机,或者通过局域网传播。基于此特点,可以判断攻击者知道他们的目标系统并不在因特网上。同时,对零日漏洞史无前例的运用,说明他们要寻找的目标不仅价值连城,而且防护严密。 但是,通往目标的路线迂回曲折,很难找到一个清晰、简洁的攻击方法。打个比方,这就像是打算让某种致命病毒感染本•拉登众多妻子中的一个,然后再让她去感染拉登一样。病毒只能感染与“拉登之妻”有关的人,从而导致意图遭到暴露的可能性越来越大。震网最后的结果,恰恰就是这么回事。他感染了太多“外围计算机”,这让震网迟早会由于某些不可控的问题被人发现。 当钱哥再次检视攻击者用到的感染方法和漏洞利用程序时,他发现其中蕴含着某种逻辑。每个感染方法/漏洞利用程序都有明确的任务,并能够解决攻击者为达成最终目标路上的一个特定的障碍。就像是有一个人为了完成这次攻击,列出了一个漏洞利用程序清单——有的用来提权、有的用来在目标所在内网中传播、有的将载荷送入PLC——然后,再找人按图索骥,或者从市场上买,或者自己开发。这充分表明,为了此次攻击,攻击方在组织筹划方面可谓呕心沥血。 其中,对完成整个攻击最关键的两步,一步是对.lnk中漏洞的利用,一步是对Step 7项目文件的感染。因为,这两步对于震网能否抵达最终目标——西门子的PLC至关重要。给PLC写代码的程序员一般会使用连接因特网的工作站进行编程,这些工作站与工业生产网络或工厂中的PLC之间是彼此隔离的。要把编好的程序载入PLC,必须有人用笔记本通过数据线直接连接PLC,或者用U盘把程序转存到一台用于工业控制配置与编程、装有Windows系统的笔记本——场控编程器(Field PG)上。场控编程器不连接因特网,只与生产网络和PLC相连。那么,先感染Step 7项目文件,再用U盘“摆渡”的方法翻越内外网之间的物理隔离(air gap),攻击者就能成功的将每名PLC工程技术人员变成一个潜在的武器运送者。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1769ce25.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-26.jpg) 震网传播示意图 当钱哥和莫楚将震网用于传播的所有漏洞及其利用程序记录归档后,他们意识到,还有一些问题需要弄清楚。多数问题是他们之前知道,但没在意的。比如,Ada公司当时没有发现.lnk漏洞被利用过的迹象,但微软却发现,2008年11月,一伙网络犯罪分子正是利用了这个漏洞,将Zlob木马的一个变种植入目标计算机。虽然反病毒引擎当时发现了这个木马,但却没有挖出它里面的零日漏洞,所以直到震网出现,这个漏洞也没有得到修复。与之类似,打印机缓存漏洞之前也出现过一次——在2009年3月波兰的一个网络安全期刊上。期刊刊登了关于这个漏洞的一篇论文,其中还包括如何利用此漏洞进行攻击的代码。不过,当时这条消息并没有传到微软那里,所以微软没有为这个漏洞制作补丁。同样,西门子Step 7软件中“固化”用户名/密码泄漏的事情,有人早在2008年4月就已经在西门子客户论坛上贴出来了。 钱哥和莫楚想知道,震网攻击方是否有一个专门负责搜索黑客论坛和安全网站,并收集漏洞及漏洞利用程序的信息团队?如果确实有,那么攻击方就可以根据攻击需求,直接使用这些漏洞利用程序,或者以此为线索从市场上联系买家。 令人不解的是,在2009年上线的震网病毒第一版中,只出现了“打印机缓存”这一个漏洞。其他漏洞在2010年3月上线并快速传播、继而引发失控的版本中才露面。2009年的版本也做了通过U盘传播的功能,但利用的是Windows系统的U盘自动运行(Autorun)功能。如前所述,用户可以通过关闭这项功能来避免攻击。所以,2010年3月的版本中,攻击者用.lnk的零日漏洞利用程序替换了利用Autorun的代码。 攻击者还在2010年3月版病毒中增加了另外一项重要内容:用于标记驱动程序的瑞昱公司数字签名。 钱哥和莫楚在对比两个震网病毒版本的区别时发现,2009年的版本略带谨慎,而2010年的新版本通过增加更多的传播机制,刻意加强了侵略性。这背后,可能是想要更快到达攻击目标、或破坏更多离心机的放手一搏。利用.lnk漏洞,比利用Autorun漏洞的传播效率显然更高。但是,当这些新的手段提高震网到达目标可能性的同时,也带来增加了感染更多计算机的风险。事实上,新版本在使用多个零日漏洞之后,震网迅速感染了伊朗国内外的10万多台计算机。这些多余的感染对攻击者到达目标毫无帮助,却大大增加了被发现的机会。想必攻击者对新版本所具有的超强传播力也是心知肚明吧。不论如何,他们还是愿意冒这个险。 跟踪震网传播的确切路径上,反病毒研究员没有碰到什么麻烦。经过对每个病毒样本的分析,他们发现了一个有助于跟踪病毒从源头向目标传播路径的“宝贝”:记录每一台被感染计算机数据的日志文件。在震网病毒为抵达目标而蜿蜒前行的过程中,它记下了每一台计算机的IP地址和所在域的域名,并根据计算机内部时钟记下了每一次的感染时间。然后,它将这100字节的数据存入随病毒传播而不断增大的日志文件。由于每一份病毒样本都有这样一个日志文件,钱哥和莫楚得以顺藤摸瓜,找到最早遭感染的计算机。攻击者设计这样一个日志文件,本意是掌握震网攻击的路径,没想到这一点却被反病毒研究员给用上了。 钱哥和莫楚一共分析了多家反病毒公司提供的3280份病毒样本。根据对日志文件的分析结果,他们判断,攻击者释放病毒的起点,是最有可能接触到震网攻击目标的5家伊朗公司。每家公司都先于其他位置的计算机“率先感染”了震网2009年版、2010年3月版和2010年4月版中的一个或多个版本。这5家公司遭震网感染的计算机共有12000台。之后,以这5家公司为源头,震网实现了对100多个国家10万多台计算机的传播。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b176baa7e.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-27.jpg) 震网“新品上市”的5个“首发目标” 根据受害者匿名的原则,赛门铁克没有在公开文档中公布这些公司的名单,而是用域A、域B……域E来代指。但是,其他看到日志内容的人却不会这么守规矩。这些公司很快被曝光,它们是:弗拉德科技(Foolad Technique)、百坡炯(Behpajooh)、卡拉(Kala)、尼达工业集团(Neda Industrial Group)和据信为高士达工控公司(Control Gostar Jahed)缩写的CGJ。其中的卡拉,就是NCRI在2002年的新闻发布会上提到的、为铀浓缩项目当幌子的伊朗卡拉扬电力公司。 虽然有些公司多次被不同版本的病毒“率先击中”,但每次被率先击中的并不总是同一台计算机。这表明,攻击者每次上线新版本时,都在努力寻找处于更有利位置的计算机,或者为了更有希望成功到达目标,寻找能够提供与上一次不同传播路径的计算机。被三个版本全部率先击中的,只有百坡炯(Behpajooh)一家。这说明这家公司最有可能提供通往目标的路径。同时,由于2010年3月的版本只击中了这家公司,它成了引起传播失控的最大源头——在伊朗5家公司共12000台遭感染计算机中,初始感染源为百坡炯的占到了69%。(待续)
';

第五章 内贾德的春天

最后更新于:2022-04-01 21:16:59

一队全副武装的黑色奔驰轿车正加速驶离德黑兰,以90码的速度向南开往目的地——纳坦兹。其中的三辆车上分别坐着海诺尼、国际原子能机构总干事巴拉迪以及他们的另一名同事。这天,是2003年2月底的一个冬日清晨,与贾法萨德在华盛顿揭露纳坦兹相隔6个月的时间。经过反复磋商,IAEA核查人员终于得以亲自造访、一睹纳坦兹的真容。坐在巴拉迪身旁这位留着一把精心修剪过的花白胡须、风度翩翩的白发男子,就是伊朗副总统、原子能机构负责人阿加扎德。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b172d1287.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-23.jpg) 阿加扎德 两周前,伊朗总统赛义德•穆罕默德•哈塔米(Sayyid Mohammad Khatami)终于承认,伊朗正在纳坦兹建造一个铀浓缩工厂,最终确认了外界关于纳坦兹的质疑。总统在发言中说,事实上,伊朗正在大力建造核燃料生产流程各阶段所需的各种设施,而纳坦兹只是其中一个。但他坚称,伊朗发展核能,完全是出于和平目的。他还说,一个像伊朗这样,同时拥有崇高宗教信仰和严密行事逻辑的伟大国家,根本不需要什么大规模杀伤性武器。但是,他没有说,如果伊朗并不想掩盖什么,为什么要把纳坦兹工厂埋在深深的地下?如果没有做不正当的事情,为什么要用一层又一层的水泥和泥土筑起要塞?为什么明明可以从其他国家手中买到反应堆所需的核燃料,却放弃国际通行的做法,在与俄罗斯签署燃料供应合同的基础上,一意孤行建造铀浓缩工厂?当IAEA的官员们驱车前往纳坦兹路上的时候,想必都在考虑这些问题吧。 IAEA创立于1957年,宗旨是推动核技术的和平运用,至今已走过半个世纪。核武器看门狗——确保各国不会秘密将合核技术用于建造武器——只是它成立时的次要任务。但在这50年间,这个次要任务逐渐变得越来越重要。因为在现实中,核危机此起彼伏。不幸的是,由于缺乏对违反安全协议国家进行调查和惩戒的强制性权力,IAEA经常无法很好的完成这项任务。 IAEA没有属于自己的、用于调查可疑行为的情报部门,它只能指望25个成员国来提供情报。这就使得IAEA的立场容易受到这些国家、特别是美国的影响。另外,IAEA还可以依靠能够亲自进入核设施收集信息的核查人员。但是,绝大多数核查人员只能访问某国已对外公开的核设施,却对那些秘而不宣的核设施中的非法行径徒呼奈何。即使发现了某国违反安全协议的证据,IAEA也没有令其改正的强制措施。它所能做的,只能是把违约国告上联合国安理会,由安理会投票决定是否对其实施制裁。 在1991年海湾战争之后,IAEA的这个弱点被充分暴露出来。当时,IAEA的人到战后的伊拉克进行检查,结果发现,萨达姆•侯赛因在他们眼皮底下建造了一个先进的核武项目。而就在战前,IAEA还在称赞伊拉克说,他们在与IAEA合作中的表现堪称“典范”。直到战后,核查人员才吃惊的意识到,自己被人卖了还在帮人数钱。据估计,彼时,伊拉克仅需要约1年时间积累制造核弹所需的核裂变材料,仅需大约2~3年时间就可以建成一个核武库。更令核查人员震惊的是,非法核活动就在他们之前核查过的设施隔壁的建筑物和房间里进行,只是那里不符合同时接受核查的条件而已。 被伊拉克政府的欺骗行为激怒之后,IAEA起草了一份《附加协议》,强化了与各国之前所签安全协议的内容。这份附加协议增加了缔约国必须向IAEA报告的活动类型,赋予IAEA提出更尖锐征询的权力、获取装备和原材料购买记录的权力,降低了对可疑非法核活动所在设施进行核查的门槛。但是,这里有个问题。附加协议只会在相关国家与IAEA签署之后才能生效。但2003年核查人员进驻纳坦兹时,伊朗并没有签这个附加协议。所以,核查人员在伊朗并不拥有上述权力。 在这个2月冬日的上午10点,核查人员经过3小时车程,从德黑兰到达了目的地纳坦兹。一路上,苏尔坦盐湖(Hoz-e-Soltan)在他们左侧流过,这个盐湖每到夏季就会蒸发干涸,而冬季会有齐膝深的含盐湖水。右侧则是什叶教派的中心、伊斯兰地区最热的城市之一库姆(Qom)。过了库姆,就是长达60英里的、无尽的沙漠和高速路,之后到了喀山。再12英里后,在棕色和米黄色间杂的茫茫荒野中,逐渐出现一片建筑。这片建筑是如此突兀,就像是从沙漠中冒出来的。 纳坦兹到了。映入眼帘的建筑规模之宏大、结构之复杂,远远超出了海诺尼的心里预期。放下地下的工厂不说,地面上已经矗立起了一片迷宫般的建筑物,包括由5座铝墙板的预制结构大楼组成、呈扇形展开的建筑群,就像一个从天而降的十字架在此散落。旁边还有一座巨大的变电站,为这些建筑和工厂提供电力。5座建筑中的一座,是一个铀浓缩试验工厂,技术人员可以在这里测试新的离心机和流水线,测试完毕后再将其安装至地下的生产车间。一旦被安装,离心机将在此长期服役,所以,对离心机技术和工作流程的前期测试验证工作非常重要。 尽管地下车间离投产还早,但技术人员已经在试验工厂中完成了160台离心机的旋转测试,还有另外数百台离心机的组件在这里等待装配。试验工厂计划于4个月之后的6月开始正式运行。伊朗希望,能在年底前完成1000台离心机的测试与安装,并在之后的6个月内生产出第一批低纯度浓缩铀。 阿加扎德一边带领来宾参观工厂,一边煞费苦心的说,这边还没有六氟化铀的原料,所以没办法进行真正的气体铀浓缩试验。试验目前只能用计算机模拟的方法进行。这一点很重要。因为,如果伊朗已经进行了铀浓缩而没向IAEA通报,就会违反伊朗与IAEA签署的安全协议。但海诺尼并不买他的账。要让人相信,伊朗花了3亿美元建造铀浓缩工厂,却没有进行过一次验证生产流程所必须的气体铀浓缩试验,实在是太离谱了。 离开试验工厂,核查人员被带到了伊朗人精心准备的展厅。这里看起来像是一个高端科学项目,到处是IR-1型离心机的独立组件,还有一套组装完毕的样品。阿加扎德告诉核查人员,伊朗依靠自身力量完成了IR-1型离心机的设计制造。但海诺尼仔细观察后发现,他们是按照尤兰科公司多年前的欧洲产品的设计方案来装配的。虽然海诺尼不知道是卡迪尔把从尤兰科偷来的设计方案卖给了伊朗人,但他早就知道,阿加扎德根本就是在胡编乱造。 从展厅出来,核查人员又来到了科瑞曾在卫星图像上看到的U型隧道,去参观深埋于地下75英尺处的两个洞穴般的车间。伊朗人计划到2005年才在这里部署离心机。届时,每个面积达32000平米的车间中,将部署47000台离心机。目前,这里还只是空壳。 参观过程中,核查人员和伊朗官员之间进行了热情的交流。但当他们下午回到德黑兰、海诺尼严肃的向伊朗官员发问“到底把铀藏在哪儿”的时候,空气骤然紧张。阿加扎德被突如其来的问题吓了一跳,辩称说“没有啊”。可是,海诺尼拿出了证据。来自西方政府内部的情报显示,伊朗于1991年向中国秘密进口了铀原料,其中包括六氟化铀。他手上还拿着一份中国官员确认此项交易的亲笔信。伊朗人只好又说“搞忘了”,然后把铀原料拿了出来。海诺尼和他的同事们发现,盛放铀的容器比预期要轻,这说明可能少了一部分六氟化铀气体。伊朗人说“肯定是从容器的缝隙中蒸发了”,而海诺尼怀疑,这些气体一定是拿去做离心机测试试验了。 这时,海诺尼提出,还要看看卡拉扬电力公司的手表厂。在伊朗抵抗运动委员会(NCRI)8月召开的发布会上,贾法萨德曾提到,这个公司是伊朗秘密核计划的幌子工厂之一。当时,NCRI发布会上并没有提到卡拉扬电力的具体角色,但就在IAEA核查人员前往伊朗之前,NCRI恰逢其时的宣称,卡拉扬电力的手表厂就是研发和生产离心机的基地。这条信息加上铀原料“不够数”的事实,让海诺尼下定决心,必须要去这工厂看个究竟。(待续) 伊朗人很不情愿的把他们带到了卡拉扬电力的厂房。这几乎是一座空楼,进来之后,伊朗人却死活说门钥匙找不到了。根据日程安排,核查人员第二天就要离开伊朗,无奈之下,只好答应伊朗“下一次一定开放给你们看”的恳求。而海诺尼他们心里清楚,在这一个多月中,伊朗人有充足的时间把“不该出现”的所有东西清理干净。果然。再次到来的核查人员发现,有一座楼的墙是重新粉刷过的,门换掉了,地面上的瓷砖也是新铺的。出于对伊朗方面掩盖事实的怀疑,核查人员要求从楼内采集一些环境样本,用于检测是否有浓缩铀的痕迹。在被伊拉克骗过一次之后,IAEA把“采集环境样本”当成了测谎的杀手锏。环境样本,是用棉条、棉签将墙面和地面上的灰尘收集起来,检测其中是否含有皮克(10-8克)级大小的铀颗粒。根据检测结果,可以判断铀的类型,还可以测量出铀的纯度。但伊朗人拒绝了核查人员采集样本的要求。 几个月后,伊朗人终于同意核查人员在卡拉扬工厂和纳坦兹采集环境样本了。让伊朗人没想到的是,IAEA还是从样本中发现了伊朗向核查人员提交的铀原料清单之外的、低纯度铀颗粒和高纯度铀颗粒。面对这些再也骗不过去的证据,伊朗人只好承认,卡拉扬工厂确实违规存有浓缩六氟化铀气体。但他们又说,这些气体只是用来测试离心机用的,而且纯度只有1.2%。这与IAEA在环境样本检测中得到“纯度为36%~70%”的结果相去甚远。 天然状态下的铀中,用于核反应堆和核弹的铀235同位素含量不到1%。多数核反应堆要求铀235的纯度应达到3%~5%。经过高度浓缩之后,铀235的含量可达20%以上。20%纯度的铀可以用于除反应堆之外的某些其他核设施,但离武器级铀所要求的90%以上纯度还有很大差距。 伊朗官员嘴巴真硬。他们居然说,离心机是这是他们从外国买来的二手货,检出的高纯度铀是里面的残余物。但是,谎言多了必然自相矛盾。这种说法推翻了之前“离心机为伊朗自主研发”的说法,承认有其他国家在核项目上给伊朗提供了帮助。这下子,伊朗核计划的事情闹得更大了。 对环境样本的检测结果,不能直接作为伊朗正在秘密发展核武器的证据。但是,它为核查人员进一步解开伊朗核设施的谜团提供了线索和依据。它还表明,伊朗官员所说的话根本不值一听。对于IAEA而言,这只是与伊朗“10年抗战”的开始,后面他们还将与伊朗人进行漫长而耗神的周旋,用事实和证据的碎片一步步还原伊朗核野心膨胀的历史,一步步验证伊朗发展核武器能力的真相。 与此同时,在2003年5月,NCRI宣称,它拿到了伊朗其他秘密核设施的证据,其中一处位于一个名为拉什卡巴德(Lashkar Ab’ad)的村庄。伊朗方面承认,那里有一处用于激光铀浓缩(另外一种浓缩铀的方法)的试验工厂。两个月后,NCRI再次爆料两处核设施,其中一处位于德黑兰郊外的仓库区,掩盖在一大片报废汽车堆放场之中。NCRI指出,这是在IAEA官员2月份到访纳坦兹之后,伊朗方面为回避核查而建造的铀浓缩试验厂,这样技术人员就可以在核查人员视野之外秘密进行铀浓缩试验了。 伊朗核设施遭到连续曝光,表明有人一心要把伊朗政府的官员架在火上烤。同样,这些曝光也让IAEA的人忙了起来,因为他们的核查清单上又增加了一长串内容。除了布什尔及另外两个核反应堆之外,核查清单上增加了纳坦兹的试验厂(地面)和正式工厂(地下),计划建于阿拉克(Arak)的反应堆设施,以及计划建于纳坦兹西南100公里、可将铀原料转化为纳坦兹所需的六氟化铀气体的伊斯法罕(Esfahan)铀转化厂。 虽饱受质疑,但伊朗官方不为所动,仍然强力推进铀浓缩计划。6月,纳坦兹的工人将第一批六氟化铀气体放入试验厂的10台离心机。这一举动再掀波澜。欧洲三国(英法德)的外交部长呼吁(urge)伊朗在IAEA全面掌握核计划情况前,暂停铀浓缩活动。经过相关各方的谈判,伊朗于10月份同意暂停铀浓缩活动,并同意就整个核计划发展历程进行“详尽的说明”,以消除“对项目纯正和平目的的一切质疑”。但在执行时,伊朗人打了折扣。在向IAEA提交的“发展历程细节说明”中,伊朗承认离心机项目已经断断续续的发展了18年,但IAEA发现,他们遗漏了一些重要细节。IAEA之所以能看出这一点,是因为他们在从伊朗官方获取信息的同时,还在从美国中情局(CIA)得到有关伊朗秘密核项目的情报。 几年前,CIA将几名欧洲关键核装备供应商“统战”至麾下,并打入卡迪尔的核装备供应商圈子。通过这些线人,CIA得知,卡迪尔把从欧洲尤兰科公司偷来的、用于制造巴基斯坦P-1型离心机的设计方案卖给了伊朗,之后又把更先进的P-2型离心机的设计方案卖给了利比亚。根据这个情报,海诺尼推测:如果卡迪尔把P-2的设计方案卖给利比亚,肯定也会把同样的东西卖给伊朗。伊朗在发展历程说明中没有提到P-2。但如果海诺尼的推测属实,那么伊朗铀浓缩计划的发展要比他之前猜测的还要更进一步。于是,IAEA向伊朗施压,要求他们对是否正在生产P-2型离心机做出解释。伊朗官员承认,确实于1996年得到了P-2型离心机的设计方案,并于2002年左右开始照此方案进行研发、生产。但是,由于在制造离心机转子过程中遇到了难题,项目很快就中止了。他们又说,真心不是有意瞒IAEA各位大人,只不过是想过一段时间再汇报P-2型离心机的事。 几个月后,又有一处秘密核设施被人扒了出来。这次的位置是在德黑兰物理学研究中心的一座楼里。事态越发严重了。在核查人员打算去实地考察之前,这座楼已经被夷为平地。而且,为了防止核查人员再次在现场取回环境样本,附近所有的表层土壤都被拉走了。 2004年4月,伊朗宣布,将开始在伊斯法罕进行将磨碎后的铀矿和黄饼(yellowcake,核燃料重铀酸铵或重铀酸钠的俗称)转化成六氟化铀气体的“铀转化”实验。欧洲三国认为,铀转化实验是铀浓缩活动的前提,因此违反了伊朗之前“暂停铀浓缩”的承诺。但是,由于害怕伊朗撕毁之前好不容易才谈成的暂停协议,他们选择了忍气吞声。 到了5月,IAEA突然得到一大批来源神秘的文件,件件矛头指向伊朗核计划。 这事开始于海诺尼接到的一个电话,是一名美国口音、自称杰姬的女子打来的。海诺尼怀疑她是CIA的人,但没问。她说,她对伊朗核设施核查工作的情况很了解,而且有他感兴趣的情报。海诺尼对心机重重的CIA非常警惕,但在情报的诱惑下,还是同意跟她在星巴克见面。 到了咖啡店,海诺尼发现等他的是一个亚裔女子。她说,将安排他见两个人。这两个人是卡迪尔核装备供应圈子里的人,已经被CIA搞定,将会向他简要介绍卡迪尔和伊朗的交易。另外,她手上还有大量有关伊朗核设施的文件,打算交给他。这些文件来自一名跟伊朗政府做钢铁水泥生意的商人,因参与纳坦兹和伊斯法罕项目,跟核计划幕后人员有过接触。这个人想办法弄到了大量有关伊朗核计划的、高度敏感的秘密文件,打算把文件交给了德国情报机构(BND)。他在BND的代号是“海豚”。他的梦想是,用这些文件作“投名状”,换取西方向他和家人提供政治避难。但是,美梦尚未成真,他就被伊朗情报机构抓了。好在他的妻小成功越过边境、逃到了土耳其,最终还是把文件带了出来。 当海诺尼阅读这些文件时,他简直无法相信自己的眼睛。海豚显然已经对这些文件进行过精心的整理,构成伊朗秘密核武器计划的若干项目分门别类、一目了然。伊朗的计划雄心勃勃,包括自主开发铀矿——用南部地区开采的铀矿做核燃料,和自主进行铀转化——将铀矿制成铀精矿(黄饼)再转化成四氟化铀和六氟化铀。四氟化铀可以用来制作铀合金,再进一步作为核反应堆或核武器的原料。 单独看这些证据,并不能判断伊朗在制造核武器。但有一个文件,详细描述了引爆高度爆炸性物质的实验。还有为伊朗“流星-3”导弹部队建造“再入飞行器”(重返大气层载具)的图纸和说明,这种导弹可以装载类似核弹头的大质量球体弹头。另外有一段3分钟长的视频,以范吉利斯(Vangelis)空灵的原声曲目《烈火战车》作为背景音乐,模拟了导弹弹头在距地1970英尺高度上空的爆炸。海诺尼推算,在这个高度上,化学武器或生物武器发挥不出任何威力,唯一的可能就是——核弹头。 那么,这些文件真的靠谱吗?海诺尼一时还不敢确定,但是,这些文件印证了IAEA从其他几个成员国方面得到的情报。如果他从文件中得出的结论没错,那么,这些文件就是伊朗发展核武器的如山铁证。(待续) IAEA随后知会伊朗方面,要求对这些文档进行解释。伊朗官员解释说,文件和视频中描述的爆炸既适用于核弹头,也适用于常规弹头;另外,什么四氟化铀项目根本不存在。他们指控IAEA伪造证据陷害伊朗,就是想让针对伊朗的制裁生效,为美国和以色列空袭纳坦兹铺路。 就在形势万分胶着之际,伊朗于2004年底再次同意暂停伊斯法罕的铀转化计划和所有的铀浓缩活动,转而寻求与国际社会就伊朗核问题进行正式谈判。然而,这个暂停承诺也没维持多久。2005年6月,时任德黑兰市长的内贾德当选伊朗总统,政府中支持暂停核活动、寻求国际对话的声音逐渐变弱。伊朗的核计划逐渐被打造成民族自豪感的象征,主导政府的强硬派将暂停核计划并进行对话视为“对西方势力的投降行为”。他们声称,不论我们对西方做出怎样的退让都没用,因为以色列和美国真正的目标是推翻伊朗政权。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b173533b1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-201.jpg) 内贾德 随着伊拉克战争不断拖宕,美国深陷泥潭,伊朗领袖挑战西方的底气越来越足。在2005年8月,内贾德上台仅2个月之后,伊朗与国际社会之间的对话就陷入了僵局。伊朗方面宣布,收回之前暂停执行核计划的承诺。紧接着,伊朗人一刻不停的撕掉了IAEA在伊斯法罕装备上贴的封条,恢复了将铀氧化物转化成六氟化铀气体的工作。12月,形势更加糟糕。内贾德在一次公开演讲中宣称,纳粹对犹太人的大屠杀根本是子虚乌有,这一言论激起了国际舆论的风暴。 事态不断恶化,甚至行将失控。伊朗富有的中东邻国们被伊朗和以色列之间剑拔弩张的气氛吓坏了。科威特卫生部长决定,将在全国边境地区安装15部辐射物探测系统,对地区核活动进行早期预警。到处都有人在算计,伊朗还要多久就会造出核武器。没有人真正知道伊朗的秘密核计划。 其实,如果只是为了形成威慑,伊朗不一定非得造出核武器。伊朗要做的,只是掌握好铀浓缩的技术,生产出足够制造核武器的低纯度浓缩铀,以备不时之需即可。只要达到这个临界点,伊朗就可以无限期的保持这样一种状态——诚实地宣称自己不拥有核武器,但只要想,就能随时将浓缩铀提纯至武器级,并造出核弹。对于伊朗到达这个临界点所需的时间,估算结果有多个版本。美国2005年版《国家情报评估报告》推断,伊朗还需要6至10年,才能生产出足够制造一枚核弹的铀。但以色列官员没有这么乐观,他们估计这个时间是5年以内。 在核武器的整个制造流程中,铀浓缩是最难的一步。铀浓缩试验是一项需要在完美环境中进行的精致的工作,通往成功的路上荆棘密布,而伊朗人在此方面毫无经验。再加上伊朗在制造离心机上遇到的种种困境,很容易理解伊朗为什么用了这么多年才达到今天的水平。事实上,伊朗原子能组织二把手阿瑞尔•莱维特(Ariel Levite)在2006年初对美国所言非虚,纳坦兹的离心机技术人员确有一些问题尚待解决。出现问题的原因后来被捅了出来:伊朗从土耳其购进的一批组件被人做了手脚。 尽管存在这样那样的问题,伊朗仍然在2006年初恢复了纳坦兹试验厂的铀浓缩活动。这一举动,使以色列官员调整了对先前对伊朗核计划进度的估计,宣称伊朗只需2到4年时间就能具备制造核武器的能力。以方警告美国,决不能允许伊朗掌握铀浓缩技术,否则将开启“世界末日之门”。如果伊朗掌握了铀浓缩技术,就能在国内各地秘密进行铀浓缩。因为,使用离心机进行铀浓缩对环境要求很低,不像铀转化等其他环节那样,需要特殊的设施。那么,一旦技术人员解决了铀浓缩过程中的所有难题,就可以将离心机的级联系统藏在任何地方,甚至藏进经过改装的大楼。2006年初,以色列原子能机构主席吉迪恩•弗兰克(Gideon Frank)忧心忡忡地对美国说:“我们了解到,伊朗正在把核项目化整为零,到处都有生产离心机部件的工厂。”他还指出,为了躲避IEAE核查人员,有一部分设施被转移到戒备森严的部队驻地,还有一部分被隐蔽到能够抵抗空袭的地下洞库之中。 5月,伊朗官员宣布,纳坦兹试验厂的技术人员用164个离心机组成的“顶配”级联系统,成功生产出第一批纯度为3.5%的铀。紧接着,又宣布未来将在地下正式车间安装首批3000台离心机。看起来,他们已经克服了之前遇到的困难,现在已经没有人能阻挡伊朗人前进了。是的,连空袭都阻挡不了。 与之前相比,IAEA对伊朗核设施的监察力度大幅下降。为了恢复核查,IAEA宣称,伊朗在迫于美国压力遵守安全协议数年之后,近期出现违约行为。之后,联合国安理会与2006年7月通过了一项决议,要求伊朗在8月底之前暂停铀浓缩,否则将面临制裁。但内贾德断然拒绝了安理会的要求。“那些认为自己可以用‘威胁’和‘武力’描述伊朗的人,你们都错了,”他说,“如果这些人至今还没意识到自己的错误,总有一天会发现错得很离谱。” 西方情报机构突然发现,伊朗正通过国内外的幌子公司,加大力度向欧洲和其他地区秘密采购离心机组件。“他们疯了一样在买。”ISIS的奥尔布赖特回忆道。采购清单包括阀门、管线、真空装置、还有可用于制造导弹的部件。 一时间,关于伊朗正在准备(用核弹)发动空袭的留言四处传播。但时任美国国务卿康多莉扎•赖斯(Condoleezza Rice)私下跟IAEA总干事巴拉迪说,她认为伊朗不会这样做。她说“伊朗会悠着点的。”但伊朗人并未如她所料。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1737d660.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-211.jpg) 康多莉扎•赖斯 到2006年底,安理会实在找不到其他办法来对付伊朗,只好用通过了一项对伊朗实施制裁的决议。决议内容包括禁止原油出口、禁止引进与发展核计划有关的技术等。几个月后,安理会又通过了一项新的制裁决议,冻结了伊朗核计划相关个人和组织的资产。然而,这还是没有什么卵用。 2007年2月,伊朗官员向IAEA通告,纳坦兹的技术人员已开始在纳坦兹一个地下铀浓缩生产车间安装离心机。要知道,从引进离心机技术到今天这一步,花掉了伊朗人10多年的时间。在这个过程中,他们用自己的决心和智慧,攻克了一个又一个技术难题,捱过了一出又一出人为牵绊。在没有任何干扰的情况下,技术人员在2月底之前完成了1个车间中2个离心机级联系统的安装,另外还有2个级联系统正处于最后调试阶段。他们已经把9吨六氟化铀气体运达车间,随时可以开机生产。 到2007年6月,纳坦兹已安装离心机1400台,铀浓缩步入正轨。所有的离心机都是IR-1型,但以巴基斯坦P2为蓝本的IR-2型高性能离心机的已经投产。在生产IR-2转子遇挫后,伊朗人重新找到了方向。此外,伊朗人还在同时研发更高级的IR-4型离心机。 这下轮到美国和以色列紧张了。以色列指责美国人在伊朗核问题上拖拖拉拉,总是幻想靠制裁和外交努力解决问题。以色列总理埃胡德•奥尔默特(Ehud Olmert)在公开场合警告说,如果无法叫停伊朗核计划,以色列将“采取单边行动”。“任何对以色列生存造成威胁的国家,必须清醒的认识到,我们有保家卫国的决心和实力,”他说,“为了维护国家重大利益,我们有自由采取一切行动的权利。我们将坚定不移的行使这个权利!” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1739945c.jpg)](http://www.aqniu.com/wp-content/uploads/2015/10/640.webp-221.jpg) 埃胡德•奥尔默特 但是,2007年12月发生的一件事,影响了美国正在进行的外交努力,也影响了以色列的军事打击计划。这个月出炉的2007年版《国家情报评估报告》中,对伊朗核计划给出了一个令人大跌眼镜的结论。报告写道,据“非常可靠”的情报,伊朗之前确实有一个制造核武器的计划,但在美国为首的西方攻打伊拉克之后的2003年秋天,这个计划被中止了。这表明,伊朗发展核武器的意图并非西方之前预期的那般笃定。这份报告由国家情报总监办公室签发,以美国和其他国家广泛收集的各类情报为基础。但是,这份报告跟国家情报局局长迈克尔•麦康纳(Michael McConnell)几个月前在参议院某委员会发言时的结论相左。2月份,他曾向参议院武装力量委员会报告说:“我们判断,德黑兰正在寻求获得核武器,并且态度倾向于拒绝谈判,而非寻求各方接受的外交解决方案。” 虽然《报告》中也提到伊朗可能随时翻脸,恢复核武计划,但并没有展开分析。而在评估报告的机密版本中,专门对与此相关的迹象——伊朗可能还有10个以上秘密铀浓缩和核武制造项目——进行了讨论。公开版评估报告的发布,削弱了对伊朗实施制裁和军事行动的合法性。就连反对对伊朗实施空袭的美国国防部长盖茨(Robert Gates),都忍不住对报告的结论提出了质疑。在一场以此为主题的国会听证会上,盖茨指出,伊朗正在进行的核设施部件大采购表明,其核计划是非常有组织、有条理的,并非评估报告中轻描淡写的那样。而且,盖茨并非唯一一个反对评估报告结论的人。德国官员私下对美国表示,他们手上的情报显示伊朗核武计划并未中止。以色列官员也说,他们的情报显示,虽然2003年伊朗中止了核武计划,但2005年又恢复了。 到2007年底,伊朗已经在纳坦兹安装了3000多台离心机,并打算在2008年增加到6000台。专家们估计,仅靠3000台P-1型离心机,就可以在一年之内生产出制造一枚核弹(低纯度核弹、也称“脏弹”)所需的低纯度浓缩铀。而且,伊朗还有能力将其浓缩至更高纯度。 看来,除了发动一场战争,谁也没办法阻止伊朗铀浓缩项目继续前进了。 果真如此吗? 正当各方对伊朗铀浓缩项目到达制造核武临界点时,一个新的计划正在秘密启动。正当伊朗技术人员为纳坦兹取得的成就而庆祝、并准备扩大生产规模之时,一个带有明确任务的数字武器被释放到工厂的计算机中。这个“精确制导武器”正在隐蔽而精准的步步进逼,把枪口瞄准了这些高速旋转的离心机。(待续) 译者:李云凡
';

第四章 解构震网

最后更新于:2022-04-01 21:16:57

震网病毒刚刚被报道出来的几天里,赛门铁克公司三个大洲的十多名研究员共同对它的代码进行了初步分析。很快,这件事转由钱哥、莫楚和法里耶3人小组负责跟进,其他人继续跟踪其他新出现的病毒和威胁。一个星期过去了,他们3个仍然在拆解震网病毒的“导弹”部分(missile portion),根本没来得及研究它的“载荷”(payload)。 像传统武器一样,数字武器一般也可分为两个部分:负责将[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")传播并安装到目标计算机上的“导弹”部分,或称为“传播系统”;以及对目标计算机实施数据窃取或其他破坏性活动的“载荷”部分。震网的载荷,是以西门子公司软件和可编程逻辑控制器(PLC)为目标的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。 看到震网这边的工作量这么大,钱哥觉得有必要说服管理层,让他们支持3人团队继续深挖这个“过气明星”。每周三,公司在世界各地负责处理病毒威胁的经理们都会召开一个视频会议,讨论当前正在处理中重要病毒的情况,以及下一步的对策。在震网病毒发现后的第一个周三,震网当仁不让的成为首要议题。 赛门铁克在卡尔弗城拥有一块九英亩大、长着棕榈树和荒漠灌木的商业用地,和一座宽敞通风的办公楼。与VirusBlockAda公司狭窄的苏式办公楼相比,这座现代化的五层建筑有着大气的挑高中庭和平整拼接的瓷砖地面,由于地下是电力和通风管道,所以走在上面会发出像敲击空心玻璃一般的叮当声。这座建筑还因采用了环保建材、能够避开加州烈日直射的阳光反射式屋顶和可为每名业主提供良好视野的玻璃外观,而荣获“能源与环境设计先锋奖”。和附近洛杉矶机场旁平淡无奇的购物中心和高速路相比,这里可以算得上一景了。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16a8fc1d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-131.jpg) 门口石牌 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16b2caeb.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-141.jpg) 俯瞰中庭 视频会议室的房间很小、没有窗户,位于三楼的一个不起眼的角落,要从实验室绕几个弯才能到。房间里有3个很大的显示屏,安装在与坐着的人眼同高的墙上,前面是一排会议桌。这样,在钱哥开会的时候,就像是有人坐在他正对面一样。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16b42a06.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-151.jpg) 视频会议室 钱哥向领导们汇报了莫楚他们前期的研究成果:代码规模庞大、加载/隐蔽文件手法老辣、还有以西门子PLC为目标的神秘载荷。他还汇报了从“槽洞”中窥见的、遭病毒感染地区的奇特分布模式。但是,他没有言明攻击背后可能隐藏的政治含义。 “我要求把法里耶抽调到我们这边,”钱哥向各位经理提出,“而且我认为我们3个人有必要继续全力攻关。”但是,有一个问题他自己也说不清楚。那就是,要把震网的代码彻底研究透,到底还需要多长时间。 一般情况下,公司的威胁研究团队每天可以分析20种恶意代码。因此,让3名顶级分析师无限期地分析一种病毒,无论如何都是划不来的。之前,这种情况只在2008年Conficker爆发的时候出现过一次。但Conficker是一种感染了全球范围内数百万台计算机、不断变形的蠕虫病毒,而且在发现初期带来了“当初为什么会有人制造并释放它”等一系列待解难题。与之相比,震网病毒感染的计算机数量少了几个数量级,攻击目标(西门子PLC)数量更少。但是,神秘难测的代码召唤着人们进一步探索的好奇心,经理们最终还是同意了钱哥的要求。“不过,你要时刻向我们报告研究进展。”他们没想到,在未来几个月里,关于震网病毒的讨论主导了几乎每周的例会。 钱哥团队抓住了这次深挖震网代码的机会,像打了鸡血一样全身心投入其中。随着研究的深入,他们逐渐意识到,这里面完全是一片陌生的领域,没有人能帮上他们的忙。 赛门铁克是个国际化的大企业,但钱哥和莫楚的工作环境是一个很小的办公室,与外界几乎隔绝。这里是卡尔弗城的赛门铁克威胁情报实验室,类似于生化防御实验室,研究员们可以在一个实验网络中运行恶意代码。这个实验网络与公司办公网络物理隔离,是一个用来在可控环境下观测病毒行为的沙盒系统。要进入这个位于一楼的实验室,员工要先后经过多层安全门,每进一层门,就多一些限制。最后一扇门只允许很少的几个人进入,而且内部的实验网络是与外部计算机物理隔绝的。在这里,禁止使用任何光盘、U盘等移动介质,防止有人无意中通过移动介质把遍布实验室的病毒带到外面,造成病毒样本泄漏。 “病毒智能实验室”这个名字给人一种无菌工间的印象,似乎里面都是穿着白大褂、弯着腰观察显微镜和切片的科学家。但赛门铁克的实验不属于任何一种传统的“实验室”。里面的工位上什么仪器都没有,只有几名一天到晚盯着显示器的员工,系统化地做着看起来很乏味的事情。墙上没有一张图;没有供员工发泄多余精力用的玩具枪或其他办公室游戏;没有摆放营造家庭氛围的植物,连假的都没有。唯一一点福利性的绿色景观,是可以通过一面墙的窗户看到长满绿色植被和树木的小山,完全就是那种仿生态科技园区风景,专门给关在屋子里上班的人看的。 莫楚的办公隔间里没有任何个人物品,只是旁边挂着一副北美大峡谷的全景特写照片,沐浴着粉色和淡紫色的落日余晖。这是去年莫楚和父亲一起旅行时候照的。办公桌上有两台接入实验网络的计算机,还有一台专门用来阅读邮件和上互联网的计算机。但这台计算机只有显示器和键盘、鼠标3种外设,通过弯弯曲曲的数据线跟藏在实验室外面某个机柜里的主机和硬盘相连,确保这台计算机无法连接实验网络。 钱哥的办公隔间和莫楚靠着同一面墙,但稍显个性化一些。隔间门上贴着一些艺术明信片,挂着几面海盗旗,还有一个釉面装饰的门签,上面写着他名字的双关语:钱•鲁那提克(法语直译:Chien-狗,Lunatique-喜怒无常的)。把这句法语直译出来的意思是“小心狗”(Beware of Dog),但钱哥更喜欢文艺的译法:“狂犬”(Mad Dog)。 钱哥今年39岁,但看上去就像29岁。他个子很高,身形瘦长,戴金丝眼镜,笑起来脸颊上有一对迷人的深酒窝,讨论问题的时候,一激动就会语速加快。钱哥在安全业界一直做得很棒,但在这个喜欢通过炫技而出名的行业里,他反而非常谦虚低调,偏爱埋头研究而不是抛头露面。 三个人当中,钱哥在公司的时间最长。这是他大学毕业后的第一份工作,但完全是碰运气进来的。90年代初,他在加州大学洛杉矶分校,他选的专业是遗传学、分子生物学和电气工程,像莫楚一样打算投身科研事业。但在1996年毕业后,他跟着几个朋友一起来到了赛门铁克,打算挣点钱哥供自己读研究生。没想到,一呆就是这么多年。 那时,网络安全还是一个新兴领域,不需要接受专业培训就可以找到一份工作。所以,钱哥刚上班的时候根本不知道什么是病毒,但他很勤奋,自学了大多数病毒采用的X86汇编语言,就甩开膀子干起来了。最好的病毒分析师,未必出自训练有素的代码工程师。工程师是建造代码的,而分析师是拆解代码的。虽然信息安全是一个以培训课程和认证为基础的职业领域,但毫无经验的钱哥还是凭借他永不满足的好奇心、猜解谜题和“打破砂锅问到底”的性格,在实习生中脱颖而出。你可以教会一个人编写病毒代码,但无法通过教学使一个人拥有“想知道事物工作原理”的热情。最顶级的研究者具有强迫症般的倾向,不挖出代码中的秘密,他们绝不善罢甘休。(待续) 钱哥刚入职的时候,病毒研究员的工作有点像电器公司的维修工,有很多停工等待的空闲时间。病毒很稀少,一般以软盘为载体、通过人为携带病毒文件的方式缓慢传播。认为自己遭到病毒感染的客户,会把存有可疑文件的软盘寄给赛门铁克公司。然后,软盘可能会在某个文件盒里面呆上一个星期,然后钱哥或另一位同事接到通知,再过去把它拿过来。有趣的是,大多数时候,软盘上的文件都不是病毒。当偶尔发现病毒时,他们会立即把病毒的特征码加到检测工具中,然后把“更新包”放在另一张软盘中寄回给客户,并提供升级杀毒软件的说明。 这种慢节奏持续了很长时间。随着Win98和Office软件的出现、互联网的扩张和电子邮件的泛滥,情况发生了变化。病毒进化了。快速传播的病毒和网络蠕虫可以在几分钟内感染数百万台计算机。1999年的梅丽莎(Melissa)病毒就是其中的翘楚。新泽西州一位名叫大卫•史密斯(David Smith)的31岁程序员制作了它,把它嵌入到Word文档中,然后把它放到了alt.sex.usenet新闻组上。他非常了解这里的目标受众,他宣称,文档中有登录色情网站的用户名和密码,以此怂恿他们打开染毒文档。一旦文档被打开,梅丽莎病毒就会利用Word宏功能中的漏洞,把自己发送到本机Outlook(Office套件中的邮件服务程序)账户中前50个联系人的邮箱中。作为世界上首个通过电邮实现大规模传播的病毒,它在3天之内感染了超过10万台计算机,创造了当时的记录。当然,以今天的标准,肯定是不值一提啦。除了通过Outlook传播之外,病毒还会在遭感染计算机的文件中插入一段与Scrabble拼字游戏有关的奇怪文字:“22分。加上分数的3倍,再用我的全部字母加上50。游戏结束,我走啦!”(注:来自动画片《辛普森一家》第1季第2集,Bart在一局Scrabble游戏中说的话。)梅丽莎病毒没有造成什么大的破坏,但在它的示范效应下,具有快速传播能力的病毒和蠕虫成为接下来几年里的主流威胁。 随着威胁不断增长,赛门铁克公司意识到,必须在病毒大规模爆发之前就将其快速杀灭。而当公司刚进入杀毒领域时,确定的响应时间“良好”标准是:从发现病毒起,在一周之内发布特征码。现在,公司打算将这个标准提高到一天之内。要实现这个目标,公司需要在不同时区安排值班分析师,以便能第一时间发现病毒,并在美国客户起床并点击带毒的邮件附件之前,把特征码分发给他们。 此时,钱哥已经完成了自己在赛门铁克的“两年计划”。攒够了读研究生的钱哥,打算先去科罗拉多滑滑雪,再回学校攻读科学学位。不过公司给了他一个充满诱惑的合约——去荷兰任职。公司在阿姆斯特丹附近有一个技术支持和销售办公室,急需成立一个病毒分析团队。这么好的机会放在眼前,钱哥没理由不答应。他刚去荷兰没几天,就赶上了2000年5月的“求爱信”病毒(Love Letter worm)大爆发。病毒来自菲律宾,开始像是大学生搞的恶作剧,但之后一发不可收拾,感染了全球数百万台计算机。这个事件,很好的检验了赛门铁克欧洲团队的应急响应能力,虽然这个团队只有一个人。钱哥以创纪录的不到20分钟的速度,完成了代码分析,并发布了用于检测病毒的特征码。然并卵。因为病毒占用了几乎全部网络带宽,客户根本连不上赛门铁克服务器,更别说下载病毒库升级包了。当危机过后,钱哥在阿姆斯特丹招募了4名员工,充实了团队。增加的人手,在一年后迎战“红色代码”的工作中派上了用场。 后来,为组建另一个团队,钱哥到东京呆了一小段时间。2004年,赛门铁克将欧洲公司从阿姆斯特丹搬到了都柏林,钱哥也跟着去了爱尔兰。很快,钱哥又把包括莫楚在内的十几名新人招至麾下。 2008年,他和曾在赛门铁克公司工作过的一名法国妹纸——他的新任妻子一起回到了美国。再后来,他加入了莫楚负责的加州团队。 现在,卡尔弗城的钱哥、莫楚和巴黎的法里耶要打一场解构震网病毒的硬仗。 当他们尝试解密震网全部代码时,出现了第一个真正的障碍。如莫楚之前发现的,震网的主体是一个超大的DLL文件。里面包含数十个小的DLL文件和其他组件,这些文件层层加密、嵌套在一起。必须把这么多层加密机制全部破解,才能开始分析代码。幸运的是,密钥就保存在代码当中。每当震网进入一台计算机时,它都会根据情况需要,用这些密钥解密里面的DLL文件和其他组件,并将它们提取出来。这应该是病毒设计者预想的工作模式。但是,在实验计算机上,用于解密“载荷”的最后那些密钥并没有被激活。 莫楚仔细侦查代码中的蛛丝马迹,终于,在看到与西门子PLC有关的注释文字时,他悟出了其中原因。震网只会入侵安装了西门子公司Step 7或WinCC软件的计算机,而且,这些软件所对应的PLC还必须是S7-315和S7-417这两个型号。只有软硬件环境同时满足上述条件,才能激活震网解密并释放载荷代码的密钥。 问题是,钱哥和莫楚到哪儿去找西门子的产品呢?所以,他们只好用调试器(debugger)来一遍又一遍的摆弄代码,以求找到密钥、并手工解锁载荷。 调试工具(debugging program)是逆向工程师的大杀器,可以用它们一步一步的观察代码的执行过程,就像定格动画摄像机一样。这样,可以逐步将每一个函数分离出来,记录这些函数的功能和任务。用这种方法,他们摘出了所有包含解密代码指令的代码块,然后顺藤摸瓜,找到了密钥。但这只完成了任务的一半。找到密钥之后,还要猜解出每个密钥对应的加密算法。整个挖掘过程持续了好几天。当他们完成了对病毒所有部分的解密后,他们终于看透了震网在开始感染计算机时所执行的每一个动作。 震网做的第一件事,就是判断计算机到底是32位还是64位,如果是64位,放弃。它还会检查计算机是否曾被震网病毒感染过,如果发现上面已有旧的震网版本,就会将其清除并用新版本替换掉。如果发现未被感染的计算机,它就会“演出一段精心彩排过的舞蹈”:迅速通过一系列步骤进驻这台计算机,并确定下一步行动计划。 在这个过程中,会有一匹木马(rootkit)抢先“登陆”并实现U盘上病毒文件对系统的“隐身”。具体手段是,先嵌入系统(hooking the system),使反病毒引擎无法看到文件名,从而躲避扫描。如果扫描器要扫描U盘上的内容,木马可以将扫描器的命令拦截下来并进行修改,最终给系统返回一个没有震网病毒文件的结果清单。但这一招无法骗过所有的反病毒产品。震网病毒的设计者事先考虑到了这个问题,并提前做好了应对预案。如果震网发现计算机上安装了这种厉害的反病毒软件,就会立即停止感染,什么也不做。(待续) 注释: Scrabble是西方流行的英语文字图版游戏,在一块15×15方格的图版上,2至4名参加者拼出词汇而得分。词汇以填字游戏的方式横竖列出,并必须收录在普通词典里。不同字母有不同分数,是根据在标准书写英语中出现频率订定,如经常出现的E和O只值1分,但不常用的Q和Z则值10分。图版上有不同颜色的格子,参加者可从中获得额外分数。一个游戏版,一百个游戏字卡,四个字卡尺和字卡袋一个。 Twenty-two points, plus triple-word-score, plus fifty points for using all my letters. Game’s over. I’m outta here. 这段话来自动画片《辛普森一家》第一季第二集。 但如果震网过了这一关,就会激活同样伪装成驱动程序文件“第二匹马”。它有两个任务:第一个是感染插在计算机上的所有USB存储设备,但从登陆起算只持续21天;第二个、最重要的是,将震网病毒主体文件——那个巨大的DLL文件及其组件进行解密,并用之前莫楚已经验证过的那种复杂手段,先把大DLL解压成若干小DLL,再把它们载入内存。这时,病毒的代码只是在内存中驻留,每次计算机重启后,代码就会消失。所以,每次重启后,拆分与加载的工作就会重做一次。 一旦震网主体部分被载入内存,震网就会开始搜索新的目标,并把战果汇报给指挥控制服务器。如果计算机上没有安装西门子的Step 7和WinCC软件,那么震网就会在完成以上任务后,主动进入休眠状态。 好,现在赛门铁克的男神们已经清楚了震网传播和加载代码的方法,但却对它的最终目的一无所知。问题的答案,仍然隐藏在载荷部分浩若繁星的代码中。 这一次,跟莫楚在完成震网导弹部分代码解构时一样,他禁不住再次对攻击者在代码中巧夺天工的设计叹服不已。他能想到的,攻击者全都做到了:周全考虑可能遇到各种问题、匪夷所思却天衣无缝的解决方案、以及在代码上线之前对无数种场景的360度无死角测试。莫楚觉得,令人印象深刻的,不仅是震网的代码本身,还有对整个攻击流程的精妙策划。 除了加载文件和骗过杀毒软件的复杂手段之外,震网还使用了一个扩展检查清单,来判断计算机上的环境是否适合释放病毒载荷。它会仔细跟踪自身在计算机上占用的处理器资源情况,只有在确定震网所占用资源不会拖慢计算机速度时才会将其释放,以免被发现。另外,所有的应用程序都会生成临时文件,但由于这些临时文件早晚会被其他程序生成的临时文件覆盖,多数应用程序都不会主动将其删除。但震网的设计者不希望相关文件因长期在系统中保存而暴露行踪。 虽然攻击方在代码中额外增加了一些保护措施,但还是存在一些不可思议的设计漏洞。并非只有莫楚一个人这样认为。当赛门铁克方面在几周之后发布震网代码的研究成果时,业内人士们纷纷开始在网上吐槽震网的众多缺点。他们还说,震网的设计者根本不像最初的报道中描述的那般高大上,他们连“顶级”都算不上。还有人指出,震网在技术上虽有诸多亮点,但存在前后不一致的情况,而且设计者所犯下了很多低级错误,才让研究者能比较轻易地破解其真实意图。 也就是说,如果震网的设计者能够针对潜在破解者所使用的通用工具,采用更具迷惑性的反制手段,那么将对破解者带来更大的困难。这些手段包括,用更复杂的加密技术阻止目标计算机之外的任何人解锁载荷,不轻易让人了解震网的目标是安装西门子Step 7软件和PLC的计算机等。震网在与指挥控制服务器的通信中使用的是较弱的加密算法和标准通信协议,如果它在这方面做些文章,研究者也不会如此轻易建立“槽洞”并追踪到它的流量信息了。 密码专家内特•劳森(Nate Lawson)在博客中用充满鄙夷的口吻写道,“震网的设计者应该为隐藏载荷所用的业余手段感到汗颜”,还说他们用了一些其他黑客早都抛弃的过时手法。“我真心希望这不是美国人写的”,他说,“因为我希望高端网络武器开发者至少应该知道保加利亚少年(代指业余选手)在90年代初期就曾经做过的事情。”艺术水准的策略和漏洞百出的技术结合在一起,让震网看上去就像一个稀松平常的“科学怪人之拼凑品”,而不像是顶级情报机构机密的尖端研究项目。 但是,对于震网中的这些矛盾,莫楚有着自己的看法。他认为,设计者故意在遭感染计算机与服务器的通信中使用了弱加密和标准协议,目的是让这些通信看起来和正常通信没什么两样,以免引起注意。而且,由于服务器涉及的通信流量很小,不作特别加密处理也是可以理解的。在保护载荷安全性方面,设计者可能没有办法使用更复杂的技术。比如,设计者打算用目标计算机的精确配置信息来生成密钥,以防其他计算机实施解密。但目标计算机在配置上可能无法做到100%相同,从而难以使用同一密钥加密载荷。这会造成一定的不可控。而且,设计者考虑到目标计算机的配置可能发生变化,这样一来密钥就会失效,载荷就无法被解密、激活了。 此外,震网中存在问题的原因也可能是“赶工期”。设计者可能面临马上将病毒投入使用的压力,所以慌慌张张的把病毒赶制出来,其中难免会有一些粗心之举。 对“拼凑”的另一种解释是,震网的代码很可能是由水平不同的多个团队共同编写的。震网代码的模块化特征意味着,代码的各个部分可能是由多个团队同时或在不同时段内合作完成的。莫楚猜测,至少有3个团队参与了震网代码的编写——一个是由顶尖高手组成的、编写针对西门子软件和PLC的载荷部分代码的核心团队,一个是设计病毒传播、代码加载与载荷解锁机制的次顶级团队,最后一个负责运营指挥控制服务器并设计通信加密和协议选取机制的糙哥团队。照此设想,各团队的职责分工明确而独立,彼此之间没有影响。 纵然各团队在技术水平和经验上参差不齐,但至少在一件事上是步调一致的。他们没有主动在代码中留下可以追踪自己身份的任何线索。 在对于黑客攻击的取证调查工作中,始终存在归因的问题。计算机攻击可以从世界上任何角落发起,可以通过无数台被黑计算机或代理服务器掩盖其发起攻击的初始路径。除非攻击者在掩盖踪迹方面非常大意,调查者很难单凭数字证据对锁定攻击者的真实位置和身份。 不过,攻击者偶尔会有意无意的在代码中留下一些线索。这些线索会告诉人们,他们是谁、他们来自什么地方,等等。在看上去毫无关联的病毒和木马中,可能存在同样的离奇痕迹。这些痕迹,可以帮助取证调查者把这些病毒关联起来,甚至找出它们的共同作者,就像根据在连环案件中的犯罪手法来找出罪犯一样。 和其他病毒相比,震网几乎没有这方面的信息。但钱哥和莫楚还是挖到两处。 一天,钱哥正在详细筛查震网感染计算机部分代码的注释,忽然发现了一些有趣的东西:一个阻止震网在某些特定计算机安装的“感染标记”。每当震网“登陆”一台新的计算机,都会在解密、解压病毒文件之前检查Windows系统的注册表。如果其中有一个含有“0x19790509”字母数字组合的“神秘字符串”,震网就会立即放弃感染动作,退出这台计算机。(待续) 钱哥之前见过这种“免疫值”(inoculation values)技术。黑客会在自己计算机的注册表中植入这个字串,这样一来,在把病毒释放到实验环境或真实网络中之后,黑客自己的计算机和黑客要保护的其他计算机将不会受到病毒的伤害。攻击者可以任意设置“免疫值”。一般情况下,这个值会是一个随机数字串,但震网中的值,明显是一个符合Unix系统通用日期格式的日期数值。与此呼应的是,震网的代码中还出现过其他数字串,这些数字串和这个“免疫值”采用的是同样的格式,每一个都明确指向某个日期。 钱哥对这个日期进行了快速的搜索,如他所料,返回结果中果然有跟以色列和伊朗有关的信息。1979年5月9日,是一位名叫哈比比•艾尔甘尼安(Habib Elghanian)的伊朗犹太裔巨贾在德黑兰被枪决的日子。那时,伊朗伊斯兰革命刚刚结束,新政权已经上台。而艾尔甘尼安是一个富有的慈善家,也是备受尊敬的伊朗犹太社群领袖。他以以色列间谍的罪名被捕并处以极刑。他的死亡,是伊朗犹太社群和伊朗政府之间关系的一个转折点。在巴拉维国王掌权的将近40年间,伊朗犹太人和本地穆斯林之间的关系非常友好,如同当时伊以两国之间的关系一样。但与国王被推翻仅3个月之隔的“艾尔甘尼安事件”,成为伊朗犹太人的“梦碎时刻”。这件事让他们看清,新政府对犹太人已经变脸。这个事件促使大批犹太人离开伊朗回到以色列,并燃起了两国间持续至今的敌意。 震网代码中这个日期的意思,是不是以色列人想据此提醒伊朗“勿忘历史”呢?或者,是不是其他国家的设计者意图通过这个信息转移视线呢?又或者,这些只不过是钱哥根据巧合的数字进行的毫无根据的想象呢?钱哥所能做的,只有继续猜测。 稍后,团队发现了另一个可能与以色列有关的线索。这一次,他们在一个驱动程序文件中,发现文件路径中包含“香桃木”(myrtus)和“番石榴”(guava)两个词。通过文件路径,可以看出文件在电脑中的存放位置,包括多级文件夹和子文件夹的名称。震网中,有一个保存在某个计算机C盘上、名为“我的简历”的文件,其完整路径为C:\documents\myresume.doc。当程序在编译程序(功能是将程序设计语言源代码翻译为机器能读取的二进制代码)中运行源代码时,文件路径会显示出程序员存放中间代码的位置。大多数病毒设计者会在编译程序中进行配置,不让文件路径显示出来。但不知是有意还是无意,震网的设计者并没有隐藏这个信息。驱动程序文件中的具体路径是b:\myrtus\src\objfre_w2k_x86\i386\guava.pdb,这表明该文件是被程序员称为“番石榴”的主程序的一部分,存放在一个名为“香桃木”的文件夹中。香桃木是植物的一个属,其中包括多个名为“番石榴”的种。钱哥在想,难道程序员是个植物学爱好者?还是借物咏意、另有所指? 钱哥进一步搜索了香桃木的含义,发现它跟犹太历史上另一个著名事件有关——公元4世纪时,以斯帖王后(Queen Esther)帮助身在古波斯的犹太人逃脱了一场大屠杀。根据这个故事,以斯帖是一个犹太女子,嫁给了古波斯国王亚哈随鲁(Ahasherus)为妻,但国王并不知道她是犹太人。当得知国王的首相哈曼(Haman)正在筹划一个屠杀波斯王国内所有犹太人的阴谋时,她向国王公开了自己犹太人的身份,恳求国王保护自己和族人。国王弄清状况后,处决了哈曼,并获准本国犹太人向哈曼身后这股屠犹势力宣战。最终,犹太人获得了胜利,75000名反犹派被杀死。今天,全世界犹太人每年一度的普林(Purim)节,就是为庆祝古波斯犹太人死里逃生而设立的。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16b5b85d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-1610.jpg) [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16b81d15.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-173.jpg) [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16c460fc.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-185.jpg) [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16c68e0d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-191.jpg) 表面上看,这个故事跟震网病毒没什么瓜葛。但钱哥从以斯帖王后的希伯来文名字中找到了一丝线索。在改名并成为王后之前(隐藏族裔背景),以斯帖的名字是哈达莎(Hadassah)。而哈达莎在希伯来语中的意思,正是香桃木。 从近期形势来看,不难发现今天的伊朗与古波斯之间的对应关系。2005年,有报道称,伊朗总统马哈茂德•艾哈迈迪-内贾德(Mahmoud Ahmadinejad)呼吁,要将以色列“从地图上抹去”。虽然后续报道称这句话是“翻译错误”,但内贾德希望灭掉现代以色列国的态度可谓昭然若揭。这简直堪称17个世纪之前哈曼愿景的重现。在2010年2月13日,就在震网设计者准备向伊朗目标计算机释放新版本病毒之际,以色列前任大拉比、在政界享有巨大影响力的犹太精神领袖尤瑟夫(Rav Ovadia Yosef)在普林节前的一次布道中表示,今天的伊朗和曾经的古波斯极为相似。他说,内贾德就是“当代的哈曼”。 “今天,波斯出现了一位新的哈曼,他用核武器威胁着我们的生存。”尤瑟夫说。“但是,正像哈曼及其党羽所经历的那样,内贾德和它的追随者们将马失前蹄,并为自己的利箭所伤。” 但是,这些都无法证实,震网驱动程序文件中“香桃木”一词一定就是对《以斯帖记》的暗示。后来又有人指出,如果换一种方式来读,可以将香桃木这个单词(mytrus)理解成“我的远程终端机”(my RTUs)。RTU,与PLC类似,也是一种用于操作、控制装备和生产流程的工业控制组件。考虑到震网的目标是西门子公司的PLC,这样理解也还合乎逻辑。但谁敢说一定如此呢? 赛门铁克公司的研究团队很谨慎,没有根据这些信息做出结论。钱哥只在一篇博客中轻描淡写的说了这么一句:“咱们大家一起猜吧”。(待续) 注释2: https://en.wikipedia.org/wiki/Hooking hook v. 挂钩,钩上;n. 挂钩,钩子 在计算机编程中,hooking包括通过拦截程序各部分之间调用/传递信息/事件等方式,改变或增加操作系统/应用程序/其他软件组件行为的一系列技术。拦截程序调用/事件/信息的代码,称为hook。 Hooking被用于多种目的,包括调试和扩展程序的功能。比如,hook可以在键盘/鼠标的事件信息到达某一程序前将其拦截,或者拦截系统调用,以监视行为、修改应用程序或其他组件的功能。它还广泛用于标记程序中,如通过hooking3D游戏的输入和输出程序,实现对其帧频的测度。 Hooking也常见于[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")中。比如保持权限的后门中,部分代码会使用hooking技术,通过截取并伪造某个显示其存在的API的输出,使自己变得不可见。穿墙(Wallhack)是另一种源于hooking技术的黑客行为。它通过拦截计算机游戏中的函数调用,并修改游戏者看到的画面,来赋予他们相较于其他玩家的不公平优势。
';

第三章 纳坦兹

最后更新于:2022-04-01 21:16:55

这一边,美国加州,钱哥和莫楚苦苦思索,自己在“震网国际政治棋局”中扮演着何种角色。那一边,万里之外的伊朗,纳坦兹的技术人员正深陷离心机故障频发的烦恼中。尽管最近几个月已经换掉了上千台离心机,但工厂目前的运行效率却只有设计能力的45%~66%,六氟化铀气体原料的消耗量远低于预期。同样,IAEA的检查人员也搞不明白,这到底是新生产线从建成到投产过程中的正常阵痛(纳坦兹工厂于2007年开始运转,但后期仍在不断扩产),还是出了什么其他问题。如果是后者,人们也不会觉得奇怪。因为纳坦兹是高密度国际核查的焦点,多路人马视纳坦兹工厂为眼中钉、肉中刺,十多年来,他们一直想方设法把它关闭。 纳坦兹古城位于德黑兰以南200英里,那里有一座13世纪伊斯兰苏菲(Sufi)教派酋长阿卜杜勒-赛迈德•艾斯法哈尼(Abd Al-Samad Esfahani)的圣殿。这座圣殿由大量精美的红砖筑成,还镶嵌着由钴蓝色瓷砖拼成的复杂图案,是早期波斯建筑风格的代表作。虽地处卡维尔盐漠(Dasht-e Kavir Desert)边缘、被卡尔卡斯山脉(Karkas Mountains)遮挡,但这个高原小城有着令人心旷神怡的山地型气候,而且到处是天然山泉。长久以来,纳坦兹以丰饶的果园闻名于世,最著名的果产就是又大又多汁的水蜜桃。在2002年8月14日,它却因为另一件事再次出名。那一天,流亡国外的伊朗反政府政治团体“抵抗运动委员会”(National Council of Resistance of Iran,NCRI)在华盛顿距离白宫两个街区的威拉德洲际酒店(Willard InterContinental Hotel)召开了一场新闻发布会,宣称伊朗正在纳坦兹附近建造一处非法核设施。 发布会设在酒店二楼的一个多功能厅,现场来了二十多人,有非政府组织的记者和代表,智库人士,伊朗国际观察团人士等等。其中,有一位名叫科瑞•辛德斯坦(Corey Hinderstein)的29岁棕发女士,她在华盛顿科学与国际安全研究所(Institute for Science and International Security,ISIS)工作,该机构是一个非营利性的防核扩散机构,正对伊朗等地的核活动进行持续跟踪。 宾客落座,来自电视台的摄像师在后排扛起了机器。发言人阿里雷萨•贾法萨德(Alireza Jafarzadeh)立即开始了他的演讲。“表面上看,伊朗的主要核活动围绕着布什尔核电站展开……”他对着一大排麦克风说道,“但实际上,还有很多项目正在国际原子能机构不知情的状况下秘密运行……今天,我将向各位揭秘两个伊朗政权成功隐匿至今的绝密项目。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b160ebb56.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp_37.jpg) 阿里雷萨•贾法萨德 简单的开场白,把科瑞和其他人的胃口都吊起来了。 布什尔是波斯湾旁的一座海滨名城,在这里,伊朗核电站停停建建,已有三十个年头。这里也是伊朗向国际原子能机构(IAEA)承认的、三个核设施中的其中一个。IAEA是联合国旗下机构,负责跟踪全球范围内的核活动,以确保伊朗等国不会将民用核设施用来秘密制造核武器。 多年来,伊朗始终坚称,计划于2005年竣工的布什尔核电站,百分之百是民用能源项目。但是,关于伊朗境内秘密核设施的传言经久不衰,比如“有一个秘密的铀浓缩工厂,可能是用来给核武器提供高纯度铀原料的”。2001年,来自美国和其他外国政府的人士曾告诉科瑞在ISIS的同事,伊朗确实有秘密核设施,但并没有提供能够有助于深入调查的更多细节。那么今天,看样子贾法萨德这些反对派很可能会把这个盖子掀起来。 嘴唇上留着浓密胡须的贾法萨德,终于说出了这两处核设施的名字。两处建造中的核设施都位于布什尔以北很远的地方,其中一处是位于阿拉克(Arak)附近、喀喇茶河(Qara-Chai River)沿岸的重水生产设施。贾法萨德说:“任何一个希望制造出核武器的人,都明确地希望拥有一座重水反应堆。” 另一处靠近连接纳坦兹和喀山(Kashan)的老旧铁路,是核燃料生产设施。该项目由伊朗原子能组织(Iran’s Atomic Energy Organization,AEOI)和国家安全最高委员会(Supreme National Security Council)共同发起。为了掩盖项目的真实目的,他们设立了数家幌子公司,以秘密获取项目所需原料和技术。其中一家公司名为卡拉扬电力(Kala Electric或Kalaye Electric)。这家公司后来被证实感染了震网病毒。 据老贾说,纳坦兹核设施占地10万平米,已耗资3亿美元,始建于2000年,预期数月内竣工,然后由工人安装设备。这个项目的官方名目是“沙漠治理”。如果这是真的,那一定是一个非常重要的沙漠治理项目,因为就在这个月早些时候,伊朗前总理刚刚作为国家安全委员会代表在此视察,伊朗原子能组织的领导更是每个月都会到喀山这边转转,密切关注项目进展。工人们不得对当地官员谈论项目情况。老贾说,因为保密,伊朗原子能组织和喀山地方政府方面还为此爆发了激烈争吵。项目所在省副省长去现场考察时,遭到有关人员的驱逐。 老贾一边滔滔不绝的讲出大量细节,一边用手指着房间前面的白板,上面画着主导项目运行的公司和个人组成的网络。科瑞快速地记着笔记。核设施的位置、幌子公司的名称和地址——这些信息,是ISIS得到的第一组铁证,这些证据可能具有独立证明伊朗非法核设施存在的价值。 科瑞没有错过这个难得的机遇。伊朗是核武器不扩散条约的缔约方,并且已经向国际原子能机构承诺:有义务在将核原料置入新建造核设施、使之开始运转前180天,向IAEA报告,以便接受检查人员的督导。如果纳坦兹核设施离完工还剩下90天,老贾他们的揭露还算及时,IAEA官员可以在核设施开始运转之前要求入驻。(待续) 人们有理由怀疑,为什么这么重要的情报,能够逃避顶级间谍组织的多年跟踪?NCRI是怎么获得它的?老贾称,他的团队通过伊朗国内直接参与项目的线人得到了情报,并进行了详尽的外部研究与调查。但是,情报来自美国或以色列情报部门的可能性更大。以色列具有通过代理人公开情报的传统。因为这样做既可以影响公众,又能避免情报本身受到国内政局的干扰。以色列是最害怕伊朗拥有核武器的国家。但是,它又不好意思对别国核活动指手画脚。因为,以色列早就有自己的秘密核武器项目,却从未将其公开。出于这一点和其他一些原因,以色列总是躲在幕后,而让西方情报组织、IAEA和类似老贾这样的团体来在前台表演。 如果情报的确来自以色列或美国,那么让NCRI来公布,是个奇怪的选择。该委员会是伊朗人民圣战者组织MEK的政治分支,而MEK又是反美、反以色列的反对政治团体。MEK被控在20世纪70年代杀害了6名在伊朗的美国人,还实施了1981年爆炸事件,炸死了包括伊朗总统和总理在内的70余人。1997年,美国国务院把MEK列入恐怖组织名单,但MEK一直试图恢复其“伊朗政权反对党”的光辉形象。对伊朗核设施的爆料,无疑将会给它们在美国国会面前加分,有助于达成其政治目标。 以前,NCRI曾对伊朗核项目进行过措辞激烈的揭露,但其中一部分被证实是无中生有。所以,对于新情报的真实性,大家都心存疑虑。老贾说纳坦兹工厂是核燃料生产设施,但在科瑞和她ISIS的同事看来,情况并不是这么回事。伊朗已经计划在纳坦兹附近建设了一个核燃料生产设施,所以没必要在附近建第二家。尽管如此,他们还是暂时认可了爆料的真实性。为了进一步验证情报,科瑞决定去查看卫星图像,看是否能找到与老贾所言相符、大规模建设的证据。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1611038d.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-81.jpg) 科瑞•辛德斯坦 科瑞已经在ISIS工作6年了,她大学一毕业就来到了这个机构。近几年,卫星图像成为各类研究机构可以开放使用的新工具,科瑞也迅速成长为判读卫星图像的专家。数十年来,卫星图像、特别是高分辨率的卫星图像,一直是只有政府和情报机构才能使用的“特供品”。只有政府或情报机构偶尔决定向公众公布时,人们才能一睹芳容。直到90年代中期,政府才允许公众购买卫星图像,但经常出现买不到的情况。又过了好几年,人们终于可以看到能分辨出细节的、分辨率为1.6米的高清图像了。 ISIS是首批投资于卫星图像判读和分析软件的机构,因为他们很早就意识到,这对核不扩散工作非常有用。科瑞第一次进行卫星图像判读是在1998年,当时巴基斯坦为了回应印度的地下核爆试验,先后进行了6次地下核试验。在卫星图像专家的指导下,她学会了如何分辨图像上的像素化目标,还学会了怎样把二维图像上的阴影和渐变“解码”为高清。 发布会结束两个月后的一天,在老贾公布的细节和相关外部研究的基础上,科瑞登录了“数字地球网”——美国两家卫星图像商业服务商之一——来搜寻有用的图像档案。我们知道,现在的卫星几乎可以对地球上的每个角落进行不间断的拍摄,其中绝大多数图像都可以通过谷歌地球免费获取。但在2002年,从“数字地球网”获得卫星图像档案的唯一方法,就是事先委托公司对某地进行拍摄,或者是你要找的图像,正好是公司出于自身考虑、已经拍摄入库的,比如公司认为肯定好卖的尼亚加拉大瀑布和大峡谷的风景图像。单独委托拍摄图像的价格是大约1万美元,已入库图像档案要价3000美元。 数字地球网的用户界面和谷歌地球类似,当鼠标扫过有卫星图像的地点时,屏幕上会弹出一个灰色小方块。点击这个小方块,会生成一个分辨率为16米的预览图,也就是说,一个像素的宽度对应地面上的16米。如果想看细节,就得掏钱购买分辨率为1.6米的付费版。 科瑞人品爆发,她居然发现档案库中不光有阿拉克地区的图像,还有纳坦兹的。老贾没有提供核设施的精确坐标,所以科瑞必须先在网站地图上定位阿拉克城,然后以它为圆心、一圈一圈的慢慢向外搜索,直到弹出灰色小方块。打开图像(低分辨率),老贾说的重水反应堆设施清晰可见。ISIS几年前曾在巴基斯坦发现过一个重水反应堆,阿拉克附近这个和它非常相像。 当科瑞搜索纳坦兹附近地图时,发现了沙漠中有两个地点可能会有核设施。每个地点上方分别有三个小方块,说明网站提供了高分辨率图像。似乎冥冥中有人在跟她指路。图像更新日期显示,上线日期是9月16日和26日,与老贾发布会相隔数周。科瑞怀疑,这是IAEA干的。去年IAEA刚建成了一个卫星图像分析实验室,在老贾放出情报后委托“数字地球网”拍摄卫星图像,恰在情理之中。 科瑞点开了一个小方块,很快排除了核设施的可能。上面找不到老贾说的“占地10万平米”的建筑物,看上去更像一个水净化厂或污水处理厂。另一个位置更可疑一些。这里的建筑面积更大,有明显迹象表明正在进行大规模挖掘工作。虽然16米分辨率的图像有些模糊,但科瑞还是能够辨别出:在两层安全围栏当中,有一大片建筑物,和巨大的土堆。她还看到,只有一条通往外界的道路,意味着这个区域是高度保密的。 她立刻付款拍下分辨率1.6米的图像,并在判读工具中打开。她看到,地面上堆放着许多管子,还有用来制作混凝土的碎石“小山”和即将铺设完成的内部交通环路。紧接着,她发现了一丝异样。老贾说,纳坦兹这里有一座核燃料生产设施,但核燃料生产是一种典型工业流程,应该是有着高高烟囱的地面设施。然而,这里根本没有烟囱,只有三座正在建造中的大型地下建筑物,和一条坑道与它们相连。这些建筑物已经接近完工。她还看出,场地周围有一圈圈的环形地带,暗示这里是未来的地对空导弹阵地。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1616dc08.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-91.jpg) 高分辨率卫星图像(来自网络) 图像拍摄的时机很好,正好拍下有工人正在交替使用多层泥土和混凝土,将地下建筑物的房顶盖好。预计几周之后,房顶掩盖就会完工,届时就很难再拍到这么有力的证据了。肯定是有人精心设计了对纳坦兹核设施的揭露,以便让证据在恰当的时机被人抓住。 有两座地下建筑物的规模都在6个足球场那么大,每一座都用了6至8英尺厚的混凝土墙来加固。伊朗人这么做,显然是为了应付可能的空袭。通往地下建筑物的坑道设计成U形,而非直道。这也是为了防止导弹从坑道入口飞入、直接命中目标而采取的策略。 科瑞把这些图像拿给老板看。老板名叫戴维•奥尔布赖特(David Albright),是一名物理学家、前驻伊拉克武器核查员,也是ISIS的创始人。他们现在可以确认,这肯定不是核燃料生产设施。伊朗完全没必要在地下建造核燃料生产厂,更不会有人会想去炸掉这样一个工厂。他们推测,唯一能解释庞大地下建筑物和高射炮阵地计划的合理原因是,这里就是他们朝思暮想、苦苦追寻的铀浓缩工厂。(待续) 这是一个安静的日子,奥利•海诺尼(Olli Heinonen)正在维也纳多瑙河畔的IAEA总部办公,传来了贾法萨德在发布会上发布的消息。八月是欧洲的传统“度假时间”,维也纳也不例外。海诺尼的老板、IAEA总干事穆罕默德•巴拉迪(Mohamed ElBaradei)正在埃及休假,其他同事也大多不在家。所以,海诺尼,这个五十出头、戴一副金属边框眼镜、长着娃娃脸和棕红色头发的芬兰男人,收到这条消息时身边没有任何人可以商量。海诺尼是IAEA安全监视B部部长,接手伊朗这摊事才刚刚三个月。之前几年,他一直负责北朝鲜和其他亚洲国家的监视工作。这次牵头伊朗方面事务,算是重返“故土”,因为他在1992至1995年也是在IAEA伊朗核查团队工作。办公室地上铺的波斯地毯,见证着那段时期的记忆。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b16187952.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-102.jpg) 奥利•海诺尼 海诺尼1983年从芬兰一家原子能研究所来到IAEA工作,已成为一名资深核设施核查专家。他拥有赫尔辛基大学放射化学专业博士学位,比IAEA早期较少接受科学训练的核查人员相比,在学科知识方面具有更高水准。他还以强大自信和坚定信念著称,这给了那些被核查的国家一个明确的态度:“别想糊弄我”。 当收到来自贾法萨德的消息时,他为其中包含细节的丰富程度感到吃惊。海诺尼已经等待类似消息很久了。和他的同行ISIS一样,他很快开始怀疑,纳坦兹的设施并非燃料生产厂,而是铀浓缩设施。两年前,来自政府内部人士告诉他,伊朗在80年代时就曾想办法从欧洲购买用于制造铀浓缩离心机的部件。据此,海诺尼一直怀疑伊朗在境内某个地方,藏着秘密的铀浓缩设施。但他根本不知道在哪儿,而且IAEA在没有情报根据的情况下也不能对伊朗人说三道四。自从1992年某国情报机构告诉IAEA“伊朗正在设法取得非法核装备”但却没有提供任何细节开始,IAEA一直以来都对来自政府方面的情报持谨慎态度。那一次,IAEA根据情报找到伊朗方面,但伊朗人矢口否认并带核查人员到核设施去现场核查。核查人员什么都没找到,只要悻悻离开。 然而,这次的揭秘有所不同。揭秘是公开进行的,所以海诺尼不必隐藏情报来源,内容包括丰富的细节、设施的名称和地点。这意味着IAEA可以独立证实这些目标的存在,并据此要求伊朗方面将它们向核查人员开放。 海诺尼拿起电话,拨通了远在埃及的老板。老板同意他给伊朗方面负责与IAEA联络的阿里•阿克巴尔•萨利希(Ali Akhbar Salehi),让他为伊朗在纳坦兹的行为做出解释。萨利希对信中无处不在的责备口吻非常愤怒,回应说IAEA无权根据一个未经验证的声明就来质问伊朗,况且这个声明是由一个知名恐怖组织发布的。伊朗副总统、原子能组织负责人霍拉姆•雷萨•阿扎加德(Gholam Reza Aghazadeh)告诉IAEA,伊朗不是要向国际社会隐瞒纳坦兹的核设施,只是想过一段时间再报告。请IAEA保持耐心,一切很快就会对外公开。到目前为止,他还只是在说,伊朗计划在未来20年间再多建造几座核电站,所以需要足够多的核燃料。他没有讲明纳坦兹的设施到底是不是生产这些原料的铀浓缩工厂,但似乎有这方面的意思。 IAEA继续向伊朗施压,要求立即向核查人员开放核设施。经过讨价还价,伊朗官员非常不情愿的同意,核查工作从十月的某天开始。等到了日子,IAEA的核查人员正要进驻时,伊朗方面又说暂时还没准备好。经过商议,又把开始核查的时间定到了12月。结果,到了12月伊朗方面故伎重演。海诺尼怀疑,伊朗方面正在为掩盖证据拖延时间。 后来,ISIS奥尔布赖特这边也知道了伊朗方面的拖延战术。他决定,将手上的纳坦兹卫星图像交给媒体曝光,以此向伊朗政府施压,促其对核查人员开放。媒体公布卫星图像后,伊朗方面断然否认。它的理由,一是这是反政府组织发布的声明,完全是为了政治目的;二是CNN发布的那些所谓秘密地点照片上光秃秃一片,什么都没有。为此,CNN于12月12日专门制作了一个专题片,用ISIS提供的高清卫星图像做参考,宣称“伊朗据信正在纳坦兹建造一个铀浓缩设施,而这个设施可能是为核武器提供非法核裂变原料的”。伊朗驻美国大使否认伊朗有制造核武器的计划,并对CNN说:“你们手上所有的卫星图像”上显示的,都是一处用于和平目的的核能项目,而根本不是什么核武器项目。 不论怎样,卫星图像的公布还是起到了预期的效果:CNN专题片播出后,伊朗官员承诺,将于2月开始迎接IAEA的核查。 虽然,纳坦兹核设施是新的,但是,这背后积淀着伊朗对核活动的40多年经营。伊朗核活动源于前国王穆罕穆德•礼萨•巴列维(Mohammad Reza Pahlavi)执政时期,那时,美国和西方国家都十分支持伊朗发展核力量的愿望。 伊朗于1957年开始了公开的核活动,并得到了国际社会的认可。美国在日本投下第一颗原子弹已经过去10多年了。那个时期,很多国家都在争先恐后的加入美国建立的“排他性核俱乐部”。为了引导这些国家的核野心,艾森豪威尔政府出台了一个“和平核计划”的项目,该项目的内涵是,如果一国仅将核能用于和平目的,就将得到发展核力量的技术支持。作为项目的一部分,伊朗与美国签订了一份协议,将在美方帮助下在德黑兰大学建造一个研究性的轻水反应堆。美国答应向伊朗提供高纯度铀作为反应堆的燃料。 但尽管美国想方设法限制核武器的发展,还是有4个国家在二战后陆续踏过了核武器的门槛,它们分别是苏联、英国、法国和中国。为了遏制这种疯狂扩散的势头,国际社会于60年代签署了一份《核不扩散条约》,一方面防止更多国家发展核武器,另一方面削减有核国家的核武器数量。 条约将世界分成了有核国家和无核国家两种。它还规定,如果无核国家承诺放弃发展核武器,并同意IAEA对核设施进行定期核查、以确保用于民用项目的核原料和装备没有挪用于制造武器,那么,有核国家就将帮助其发展民用核项目。这种安排的最大问题,在于民用核项目中的很多组件和设备都可以同时用于核武器制造,这样一来,很难对一个国家进行有效的监管。正如诺贝尔物理学奖得主汉尼斯•阿尔文(Hannes Alfvén)所言,“用于和平目的的原子能与用于武器的原子能本就是一对连体双胞胎。”(待续) 伊朗是1968年首批签署条约的国家之一,1974年他建立了自己的原子能机构,制订了一个雄心勃勃的计划:要在德、美、法的支持下建造20个核反应堆。而这些国家都愿意把核装备卖给国王执政的伊朗。前两个反应堆于1975年在布什尔动工,由德国西门子旗下的卡威联盟公司(Kraftwerk Union)负责施工,合同总额高达43亿美元,计划于1981年支付完毕。 当时就有人担心,伊朗的最终目标可能是核武器。伊朗国王曾暗示,发展核能的目标并非只是为了发电。一次,他在接受采访时说到,如果中东地区形势所迫,伊朗将会在条件成熟时“坚决地……早于某些人设想的”获得核武器。但美国人对此毫无忧虑,因为他们认为,巴拉维国王是他们的朋友,而且他的政权很稳固,不会有倒台的那一天。 谁知,这一天很快就来了。1979年,就在布什尔第一个核电站接近完工时,伊朗国内爆发了伊斯兰革命。革命分子驱逐了国王,拥戴宗教领袖阿亚图拉•鲁霍拉•霍梅尼(Ayatollah Ruhollah Khomeini)上台,而且将布什尔高大的反应堆视为国王与西方勾结的象征。鉴于政局不稳,美国人退出了这个项目,最终德国政府强行要求卡威联盟公司终止了与布什尔方面的联系,撤出伊朗。 紧接着的两伊战争中,废弃的反应堆没有受到任何保护。战争从1980年一直打到1988年,期间伊拉克人至少把布什尔这两座高塔反复轰炸了五、六遍,反应堆的建筑主体基本被摧毁了。战争期间,伊朗革命卫队怂恿霍梅尼启动核武器计划,以抵抗伊拉克及其西方盟友。但霍梅尼认为核武器在伊斯兰教看来是不详的,其暴力手段与伊斯兰基本教义相违背,拒绝了这个提议。但是,在萨达姆对伊朗军队和平民使用化学武器、造成2万5千人死亡、10万人受伤之后,霍梅尼的态度发生了转变。他对联合国不闻不问的态度大为光火,同时深受“伊拉克即将发展核武器”传言的震慑,最终决定重启伊朗核计划。建造一个铀浓缩工厂就在此计划之中。 为了启动这个计划,伊朗向巴基斯坦冶金学家阿卜杜勒•卡迪尔•汗(Abdul Qadeer Khan)求助。卡迪尔用他在欧洲偷来的离心机制造技术,在70年代中期帮助巴基斯坦建设了核武器项目。卡迪尔早年曾在一家从事离心机研发和生产的荷兰公司工作,而这家公司的客户是为欧洲各国核电站提供离心机的跨国财团——由德、英、荷共同出资成立的尤兰科集团(Urenco)。因工作之便,卡迪尔能够接触到离心机设计的核心机密,之后他复制了这些设计资料并带回了巴基斯坦。他还带走了一大批供应商,其中一些愿意跟巴基斯坦秘密进行离心机原材料的交易。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1620511b.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-114.jpg) 阿卜杜勒•卡迪尔•汗 离心机是高大的金属圆柱,里面有多个转速高达1万转/分钟的转子,能够将从陆地或海水的铀矿中提取的六氟化铀气体进行浓缩。六氟化铀气体通过管道,进入将管道和阀门串联在一起的离心机级联系统。当离心机中的转子旋转时,离心力会把用于制造核武器的、可裂变的、较轻的铀235同位素分子和较重的铀238同位素分子分开。这个过程和淘金非常相似。较重的同位素分子会靠近容器的外壁,而较轻的同位素分子会聚集在靠近中心的区域。离心机外侧有充满热水的环状管道,通过水温的变化使气体进行垂直方向运动,以实现进一步的分离。收集器将中心区域的较轻气体抽取到离心机级联系统的上一层进行进一步分离。同时,废弃的较重气体则被转移到离心机级联系统的下一层进行进一步分离。下层中有用的铀235再次上升,无用的铀238则继续下降,直到由级联系统的尾部将废气排出。如此循环往复,直到铀235纯度达到预期。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b1621b16e.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-121.jpg) 铀浓缩离心机工作原理 1987年,伊朗重启核计划后,官员与一名先前具有工程师背景的德国卖家取得了联系,而他正是巴基斯坦核武器项目的关键装备供应商。他在迪拜秘密安排了一场聚会,参加者包括伊朗政府官员和为卡迪尔的装备供应朋友圈。伊朗人以1000万美元的代价,拿到了两大箱外加两手提包的资料。这些资料包括制造离心机的技术设计方案、各种离心机部件的原型、还有一张包含6组级联系统的小型铀浓缩工厂的布局图纸。作为额外的奖励,这些卖家还给了伊朗人一个15页的文档,上面描述了如何将浓缩铀制成金属铀,并铸造成核弹的核心组件——半球。晚些时候,卡迪尔向巴基斯坦电视台透露了自己帮助伊朗重启核计划这件事。因为,他认为,如果伊朗和巴基斯坦都成为有核国家,它们将可以共同“对抗以色列在中东地区的强权”。 伊朗拿到的离心机资料片段,也源于卡迪尔从尤兰科偷来的设计资料。在巴基斯坦,这款离心机被称为P-1型,而伊朗称之为IR-1型。一开始,伊朗没有足够经费来推进离心机的设计,直到1988年两伊战争结束,局面才有所改观。伊朗开始向铀浓缩项目疯狂砸钱,购买了大量高强度铝材和其他离心机原料,还秘密向中国方面进口了两吨包括六氟化铀在内的天然铀。 后来,卡迪尔给了伊朗500台P-1离心机的部件,并且为伊朗方面构建一个确保质量的、离心机建造与测试标准化流程提供技术支持。而伊朗最需要的恰恰是这种技术支持,因为他们在仿照巴基斯坦原型机制造的过程中遇到了很大的问题。有时候,离心机在旋转时会失控、崩溃,有时候根本无法运行。直到1994年,伊朗才成功制造出了第一台能够“全速运转”的离心机。 结果,伊朗人指责卡迪尔欺骗了他们。卡迪尔没办法,于1996年又把基于尤兰科另一个设计原型的、更先进的、在巴基斯坦被称为P-2型离心机的设计图纸给了伊朗。与P-1相比,P-2效率更高,可以在相同时间内浓缩2.5倍数量的铀。P-2使用的转子是由马钉钢(maraging steel)——一种比IR-1转子所用的铝更加坚固的材料——制成的。 在伊朗推进秘密核项目的同时,其民用核项目也在同步运行。1995年,伊朗与俄罗斯签订了一笔8亿美元的合约,内容是恢复布什尔核电站的建设。两国还讨论了建设生产反应堆所需原料的铀浓缩工厂的问题,但克林顿政府介入了这件事,并劝说俄罗斯不要帮伊朗。所以,伊朗只好自己偷偷建设铀浓缩工厂。 就在此时,欧洲方面也加强了对军民两用核原料与核装备的出口控制。但这种控制对伊朗没什么影响,反而会使伊朗方面行事更加隐秘。为了保护研究和生产设施不被发现,官员们将其分散到全国的多个不同地区——有些放在军营里,有些藏在不惹眼的办公楼和仓库里。作为转移工作的一部分,伊朗还将离心机生产项目迁出了德黑兰原子能研究中心,迁到伊朗原子能机构在德黑兰工业区买的一块地皮上,之前是卡拉扬电力公司旗下的手表厂。在2002年贾法萨德召开的一次新闻发布会上,曾提到这家电力公司。 1999年的某个时候,就在这个工厂里,伊朗人使用小型离心机流水线和从中国购买的六氟化铀气体原料,首次取得试验成功。这是一个重大的突破,证明伊朗人数十年来所付出的巨大努力没有付之东流。此时,伊朗原子能机构的官员们趁热打铁,命令工人们开始建造1万台离心机,供未来的纳坦兹工厂使用。同时,他们加大了从欧洲等地采购离心机零部件和原材料的力度。2000年,纳坦兹大型综合设施破土动工,伊朗人信心满满的迈上了通往有核国家的光明大道。(待续)
';

第二章 神秘的500k

最后更新于:2022-04-01 21:16:52

6年来,里阿姆•奥•莫楚(Liam O’Murchu)一直以分析各种蠕虫和病毒为业,但从没有见过这样的代码。它运用的技术远远超越了他所见过的其他病毒。所以,当他坐在南加州办公室的计算机前,打开欧洲同事连夜发来的震网病毒时,压根没想到,居然会碰到这样一个“神兽”。 那是个周五,2010年7月16日,震网新闻在科技业界发布的第二天。当时莫楚像往常一样,正有一搭无一搭的浏览着病毒代码。这位33岁的爱尔兰人是赛门铁克公司卡尔弗城办公室应急响应团队的运营负责人,他的任务是检视[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。"),并决定是否有必要对它们进行更深入的研究。 公司在爱尔兰都柏林的同事已经在前一天下午拿到了病毒文件,几小时后,文件就送到了早上刚刚起床的莫楚这里。赛门铁克公司的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")分析团队遍布各个大洲,这样不管什么时候,只要有重要事件发生,都会有人处于值班状态、迅速跟踪事态发展。一个分部下班的同时,就有另一个分部上班,前一个分部的员工把工作文档交给后一个分部的员工,就像传递接力棒一样。 当然,并非所有病毒都有这种“追着日出跑”的待遇。每个月赛门铁克及其他安全公司都会发现大约100万种恶意文件,绝大多数都是技术模仿者利用已知工具改写、希望通过改变特征指纹的方式骗过反病毒扫描引擎。对于这些“标准化”病毒,可以通过导入特定算法对其代码进行分析,寻找与已知病毒相匹配的特征和行为方式。只有当算法搞不定的时候,才会把代码导出到研究人员这里,进行人工分析。如果一个恶意程序利用或可能利用了“零日漏洞”进行攻击,肯定是由人而非算法来进行检测的。这也是震网的文件会到莫楚手上的原因。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15e9a569.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-61.jpg) 里阿姆•奥•莫楚Liam O’Murchu 莫楚是个充满激情的滑板青年,说话富有感染力,留一头棕色短发,前额上还做了一个醒目的“直立烫”造型。他2004年起在赛门铁克公司上班,不过从都柏林来到美国时间不长,至今才在赛门铁克加州公司工作两年。他领导着一个技术出众的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")分析和逆向工程团队,连年征战在处理数字威胁事件一线,每个人都身经百战。但任何人都没有预料到,莫楚会从震网当中“挖出核弹”。 震网的主文件大得不可思议——500k字节,而常见恶意代码文件大小仅为10k到15k之间。即便是臭名昭著的Conficker,这个两年前(2008年)感染了600万台计算机的“怪物级”病毒,其大小也不过35k。大于这个量级的恶意文件,通常会包含一块非代码区域,一般是用图片文件填充来使其占用更大空间。但震网中并没有图片文件,也没有无关填充物。而且,当莫楚开始将文件一步步打开时,他意识到,震网的代码比他和其他人所见过的任何恶意代码都要复杂。 莫楚与恶意代码的第一次亲密接触是在1996年,那时他在都柏林大学学习计算机科学专业,然后有个奇葩同学自己制作了一款病毒,把学校机房里所有的计算机都感染了。在3月15日,病毒获得了所有终端的控制权,大家都没法上机了。用户必须先答对屏幕上出现的10道问题,才能登录。大多数同学都被搞烦了,但莫楚一心想着能得到一份病毒文件的拷贝,然后把它拆开来看看。他的个性是“见啥拆啥”。莫楚从小在吉尔戴尔郡阿赛镇外的乡村长大,跟别家孩子喜欢玩汽车不同的是,他最喜欢把汽车拆成零件,看它是怎么工作的。 年轻时,莫楚并没有打算成为一个专门摆弄病毒的。他一开始上大学的时候为拿到一个自然科学的学位,勤勤恳恳的苦学各种物理和化学课程,后来才转向计算机科学课程并为之着迷。他快速抛弃了化学实验室,开始沉浸在计算机房里。在大学中,黑客攻击逐渐成为众人关注的话题,但莫楚从未想过信息安全会成为一种职业发展的可能路径,直到有一天,攻击者黑掉了机房的服务器,然后一大帮同学来帮忙打补丁、清除病毒修复机器。莫楚被这场“猫鼠大战”深深吸引着,他目睹了入侵者一次又一次地使用计谋,把防守一方戏弄到团团转。 这种翻越数字障碍的本事,在莫楚和朋友们大学毕业到美国后派上了用场。他们得到一份为一家圣迭戈创业公司测试付费阅读网站(kiosk)的工作。他们的任务是看能不能绕过网站的“付费门槛”,越权打开本应花钱才能浏览的网页。这公司没有找普通的计算机用户来测试,而是故意找了他们这么一个黑客团队。包括6个付费阅读点的系统搭建完毕后,莫楚团队的工作开始了。公司打算给他们两个星期的测试时间,然后就把系统上线。但莫楚和他的朋友们一直能找到绕开“付费门槛”的新办法。2个月过去,他们还在不断发现新的破解方法,这家公司实在受不了了,终止了测试,让系统就这样上线了。 接下来的几年里,莫楚带着他心爱的滑板,满世界旅行,心中对进入信息安全行业怀着一种模糊的情愫,却又没有明确的计划。2002年,他加入了都柏林的一家名为“光明邮件”的反垃圾邮件公司。他当时想法很简单,挣点钱,供养自己游玩的开销。而当2004年赛门铁克公司收购光明邮件时,莫楚看到了进入信息安全行业的真正机会。在作为被收购公司雇员参观赛门铁克都柏林公司办公室的过程中,他耐着性子跟人们一个部门一个部门地转悠,实际上他只想去看那令他心驰神往的病毒研究团队。但是,当见到了研究团队老大美国人埃里克•钱(Eric Chien,下称“钱哥”)的时候,他的梦碎了一地。莫楚原以为公司在世界各地会有几百个病毒分析师的岗位,所以进来会比较容易。但钱哥告诉莫楚,他的团队只有五、六个人,每个人都已经干了很多年,而且“没人想离开,他们都很热爱这份工作。” [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15eaa027.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-71.jpg) 埃里克•钱(钱哥) 莫楚并未被吓住。他开始自学分析师们用来破译病毒、提取特征码的工具。几个月后,出现了间谍软件和广告软件大爆发的情况,公司研究团队需要增加人手,而这时的莫楚已经做好准备了。接下来的几年里,莫楚仍然在有着赛门铁克最大研究团队的都柏林公司工作,直到2008年搬到美国卡尔弗城。 多年来,莫楚和他在赛门铁克公司的同事们处理了多起令人瞩目的、复杂的安全威胁事件。但没有任何一次比得上震网这么刺激、这么具有挑战性。 当莫楚检测震网主文件时,他很快发现,文件采取了多层加密机制来保护其核心和多个组件。很幸运,第一层是容易破解的“打包”(packer)。 打包,是一种压缩和分割代码的软件工具,目的是增加反病毒引擎识别代码特征的难度,防止病毒检测者迅速搞清楚代码的功能。恶意代码每次打包时,都会在外表上出现细微的变形,所以将同样的代码打包一千次,就会得到一千个不同的版本,而其内部的代码是不变的。反病毒引擎能认出使用已知打包工具的恶意文件,将其解包,并识别出内部代码的特征。为规避这种查杀,高明的攻击者会定制出更不易识别和去除的打包工具。但震网的制作者并没有这样做。他们只是用了一种名为UPX——全称“可执行文件终极打包器”的现成打包工具,所以很容易识别并破解。考虑到它其他部分的高级特征——零日漏洞利用程序、盗取数字签名——他们选择用UPX而不是更专业的定制版打包工具,让人觉得有点奇怪。因此,莫楚断定,打包的主要目的很明确,就是压缩文件、减小体积。解包解压完成后,主模块的体积增大至1.18M。 解包之后,莫楚可以清楚的看到弗兰克之前提到的有关西门子公司软件的线索。更重要的是,他还发现了一个经过加密的代码块,它就是震网病毒的主干。这个代码块是一个包含30多个DLL(动态链接库)文件和其他组件的巨大DLL文件,像俄罗斯套娃一样一层一层加密、嵌套在一起。他还发现了一个功能强大的配置文件,攻击者可以对其中400多项内容进行设置,从与震网保持通信的指挥控制服务器的网址(URL),到每次通过U盘上的漏洞利用程序感染计算机的数量。莫楚还幸运地发现,病毒为自己的感染设定了终止日期:2012年6月24日。每当震网病毒进入一台新的计算机,都会检查计算机上的日期,如果晚于这个日期,病毒就会停下来,放弃感染。已经被感染机器上的恶意程序载荷仍然会继续运作,但震网病毒将不再感染新的计算机。推算下来,这个终止日期比震网首批感染伊朗计算机要晚3年。看来,攻击者觉得,3年的时间足够他们完成预定任务了。 震网最令莫楚感到牛逼之处,是他在目标计算机上隐匿文件的复杂方法,和调用一个貌似普通的函数完成超级任务的精巧招数。莫楚花了一天时间来搞清楚这些细节。当他完成的时候,被惊呆了。(待续) 正常情况下,Windows系统中执行打开文件、读取文件或保存文件等一般任务的代码,都保存在系统的.DLL(动态链接库)文件中。当系统或其他应用程序要执行这些任务时,就会调用相关的.DLL文件,就像一名读者在图书馆中查询一本书那样。然后,被调用的.DLL文件就会进入内存并运行。黑客们也会试图将用于恶意活动的代码储存在Windows动态链接库文件中,但反病毒引擎会扫描整个“图书馆”,发现本不属于那里的“那本书”。所以,震网的设计者并没有这样做,而是让[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")直接被调入内存,这样反病毒引擎就更难探测到它了。单单这一点也没什么大不了,因为很多厉害的黑客也会这么干。震网真正惊人之处在于,它独辟蹊径的代码调用方式。 通常,内存中的[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")在运行时,还需要向系统申请加载硬盘上其他文件中的额外代码,这种行为是可以被反病毒引擎发现的。震网用了一个更好的思路。震网把运行所需的所有代码都整合在一起,存放在多个有着奇怪名字的虚拟文件中。一般来说,这样做是行不通的。因为当震网调用代码时,操作系统根本无法认出这些文件名,或者根本无法在硬盘上找到这些奇怪的文件。但是,震网重写了Windows系统的部分API(应用程序编程接口,通过它可以调用系统的内部函数),建立了这些奇怪文件和震网代码之间的“挂钩”关系。这样一来,每当系统访问这些奇怪文件时,就会自动将震网的全部代码调入内存。如果反病毒引擎怀疑内存中的这些奇怪文件有问题、并对其进行检测时,震网也提前想好了应对之策。因为它还重写了API中关于显示文件属性的代码,反病毒引擎只会“看到”:“这些文件是空的。这里什么都没有,去别的地方找吧。” 这还没完。一般的病毒执行代码的方式是比较直接的:调用代码并运行。但震网不是这样。它被设计成一台“鲁宾•哥德堡机器”(一种被设计得过度复杂的机械组合,以迂回曲折的方法去完成一些本来非常简单的工作)来更好的隐蔽自己——把自己的代码植入某个正在运行的进程A的代码块中,然后把进程A的代码拿出来放到另一个正在运行的进程B的代码块中。 莫楚惊叹于病毒设计者为此次攻击所投入的巨大工作量。近年来他所见过的最复杂病毒也没有这么大的体量。而一般的病毒设计者只会尽可能少费劲,只要能让病毒运行起来、逃过检测就行了。如果仅仅是为了盗抢一些密码或者拿到一点数据,根本没必要在代码研究方面费这么大周章。即便是貌似来自中国的高级间谍工具都没有像震网这样在手段上花这么大精力。莫楚仅仅认真检测了这个1M大文件中的前5k,就发现代码中到处都是陷阱。 很明显,这不是一次标准的黑客攻击,需要加以更细致的研究。但代码的规模和复杂度意味着,靠莫楚单打独斗显然不行,得成立一个团队才能对其进行全面的逆向工程和解构。所以莫楚自问:我们应不应该费劲去折腾这件事呢?如果赛门铁克到此为止,转向其他业务,没人会说什么。毕竟,反病毒公司的职责是:在病毒肆虐前阻止其传播、在病毒发作后清除染毒系统中的病毒。搞清楚病毒感染后究竟做了什么,其实还在其次。 虽然如此,虽然赛门铁克已经检测出、杀掉病毒,但是被震网感染的客户们仍然超级想知道,震网到底对自己的计算机做了什么。它是否把密码或重要文件偷走了?它是否修改或删除了重要数据?莫楚感到,他们有责任追查到底。 当然,这并非莫楚继续研究的唯一原因。别忘了莫楚是谁,他可是从小拆汽车长大的!一看到震网中蕴藏的谜题,他的小宇宙就按捺不住要爆发了。莫楚心想,震网这么复杂,绝不只是一个间谍工具;震网这么精致,绝不只是一般黑客的作品。我一定要把它拆个底朝天。 莫楚邂逅震网的第一天就要过去了。他把一天的发现记录下来,把它发给了东京某团队的同事,抱歉说自己没有更多时间来分析这个病毒了。 东京团队周末加班绘制了震网的结构框图,对代码进行了总体分析,以便使每个人都能对震网有个大致了解。 而莫楚呢?此时,他和英国籍女友正在加州玛丽安德尔湾附近海滩的家中休息,但头脑中始终萦绕着震网的代码,挥之不去。有关它入侵系统复杂手段的记忆在他脑中不断回放。莫楚开始怀疑,我是不是有些地方搞错了?为了平复疑惑,他又回到办公室把代码又看了一遍,确认没搞错才满意离开。 7月19日周一早上,莫楚当年仰视的那个反病毒团队老大、如今是赛门铁克应急响应团队负责人钱哥已经从都柏林飞到了卡尔弗城。钱哥决定他们应该再找一个人,远在巴黎公司、擅长解构疑难代码的年轻人——高级软件工程师兼系统分析师尼古拉斯•法里耶(Nicolas Falliere)。“钱莫法反毒天团”就此成立。很快,他们琢磨出一个解决方案。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15f274c1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp_34.jpg) 尼古拉斯•法里耶 震网如此巨大,有如此多的部分,难以快速理出头绪。而指挥控制服务器是一个容易下手的点。所以,当法里耶忙着看代码、争取尽快“进入情况”时,莫楚和钱哥把矛头对准了服务器。 每当震网感染一台计算机,它都会“打电话回家”,目标是互联网上以足球球迷网站为域名的两个网址mypremierfutbol.com和/或todaysfutbol.com。域名显然是用假名和假信用卡注册的,显示服务器地址分别在丹麦和马来西亚。每当震网感染一台计算机,它都会与服务器联系,将感染成功的信息和本次感染的详情传输过去。通信是加密的、防止他人随意读取,但攻击者使用的加密算法出人意料的简单、很容易破解。钱哥和莫楚一下就破掉了加密,然后看到了震网向服务器传输的内容:计算机名、所在域名、内网IP、Windows版本号以及是否安装了西门子特定软件。 每条数据都有助于攻击者判断震网是否正在接近目标。考虑到服务器无法看到攻击过程,因此这些数据非常重要。一旦具有自我复制和传播能力的病毒释放出去,攻击者就没办法控制它的行为了。这些返回服务器的数据,只能帮助攻击者在一定程度上了解病毒在寻找目标过程中的传播轨迹。 在这些数据中,有关西门子软件的数据是真正关键的。因为,研究者很快会发现,当震网发现计算机上没有安装西门子公司的特定软件,就什么也不做。它仅仅寻找机会继续感染其他计算机,但不会在未安装西门子特定软件的计算机上释放载荷。没装这些软件的计算机只不过是用来找到最终目标的渠道。 莫楚联系了与这两个服务器域名相应的域名解析(DNS)服务提供者,要求他们停止切断导向攻击者的数据流,并把它引向一个“槽洞”(sinkhole)——一台由赛门铁克控制的、专门用于接收恶意流量的计算机。DNS服务商是因特网上管理数据流的“交通警察”,负责将电子邮件和浏览导向正确的地址,也就是说任何人任何时候在浏览器中输入“nytimes.com”(纽约时报网站)或点击网站上的某个链接,都能跳转至它应当对应的IP地址。通过将流量导引至“槽洞”的行为,研究者可以实时收集震网这名士兵向上级——攻击监控者报告的战场态势。7月20日周二早上,一大波数据流向槽洞袭来。 莫楚和钱哥用世界地图作为背景图层,每收到一条感染成功的记录,就把这台计算机的域名和所在国家标注在地图上,并对这些数据的特征进行统计和分析——包括装有西门子特定软件的遭感染计算机数量。截至当周周末,统计显示:共有来自数十个国家的38000多台计算机与“槽洞”进行了联系,大约每天新增遭感染计算机9000台,并且这个数字在缓慢增加。据推测,病毒最终将感染分布在100个国家的10万台以上计算机。虽然反病毒公司已经发布了震网的特征码和专杀工具,但它仍在快速传播,这表明还有大量用户并未升级最新的杀毒包。在“槽洞”收到的被感染计算机中,偶尔会出现其他安全公司的身影,看来,有其他安全公司也在对震网进行研究和测试。 当他俩将遭感染计算机的地理位置标注在地图上之后,发现了一个异于常理的分布模式。在这38000台计算机中,有22000台在伊朗。印尼远远的排在第二,有6700台,印度第三,3700台。美国只有不到400台遭感染计算机,其他国家遭感染数量也特别少。另外,在所有遭感染计算机中,只有很小一部分安装了西门子公司的特定软件,其中大部分——217台在伊朗,相比之下美国只有16台。 与之前全球病毒大规模爆发时常见的地区分布模式相比,上述统计数字显示的结果截然不同。之前,伊朗的排名从来没有靠前过,即使病毒肇始于中东和中亚地区,伊朗也从来不是重灾区。看起来,这是一次针对伊朗伊斯兰共和国某一特定目标的黑客攻击。但是,如果说攻击者最感兴趣的是伊朗境内装有西门子公司特定软件的计算机,震网传播的范围又不仅于此。还有,为什么它在印度和印尼感染的计算机数量远远超过欧美呢?伊朗、印度、印尼三者之间有何共同之处,才使得病毒在此聚集?考虑到制作这些代码所耗费的时间和金钱,莫楚和钱哥断定,攻击者根本不是为了偷什么设计图纸或什么产品情报。弗兰克的推测是错的!攻击者一定是为了偷取具有地缘政治和战略价值的、关键系统中的情报。震网要找的西门子公司软件,不仅大型工厂在用,很多关键基础设施也在用。钱哥搜索了一下伊朗和印度有什么合作项目后发现,近几年,双方正在共同建造一条连接两国的天然气管道。这条名叫“和平管道”的天然气管道长达1700英里,从伊朗南部的南帕尔斯油气田开始,通过巴基斯坦,一直延伸到印度。而美国对建造这条管道的态度是:强烈反对。所以,这个项目因为地缘政治形势变化和资金短缺等原因经历了N多波折。在2009年,印度迫于美国的巨大压力选择了退出。但在2010年5月,在震网被发现的两个月之前,印度又宣布重启该项目。同时,伊朗决定开始设计建造项目境内部分的最后一段管道。 除此之外,还有一个跟伊朗有关的重大事件——快速扩张的核项目。伊朗正在准备在南部的布什尔地区开设一个核反应堆,而这件事让伊朗和以色列及西方世界之间的关系持续多年紧张。比布什尔争议更大的,是给布什尔反应堆提供核燃料的纳坦兹铀浓缩工厂。因为这个工厂,联合国已投票通过对伊朗实施制裁的决议,甚至有人讨论“对纳坦兹实施空袭”。 这是一幅令人不安的地缘政治图景。恶意代码的复杂程度、偷来的数字签名、伊朗身处遭感染的漩涡中心……这似乎暗示,震网可能肩负着一项机密的政府间谍任务。考虑到目标是伊朗境内某处,那么可能的攻击方并不多。最有可能的是以色列、俄罗斯、中国和美国。 钱哥开始对这些问题展开思考。如果震网真的是某国政府的间谍战武器,比方说是美国的,那么,之前设置“槽洞”的做法是不是太鲁莽了?钱莫法团队拦截了攻击者意图从伊朗遭感染机器传回的数据,那么,这是否意味着自己可能已卷入到一场国际安全事件当中?这是否意味着自己已经对某项机密行动造成了破坏?这会产生怎样的潜在影响呢?想到这些,钱哥倒吸了一口凉气。 但钱哥现在顾不上考虑那么多。况且,保护某国政府的机密行动不是赛门铁克公司的使命,不论是哪个国家。公司的使命是保护客户的计算机。不管是谁制作了这个病毒,也不管它的目标到底是什么,只要它对赛门铁克公司的客户造成了影响,公司就有责任把它清除。 虽然赛门铁克在震网的主战场伊朗没有客户,但震网同时感染了其他国家的计算机,而且这种感染还在延续。而且,研究人员至今也还没有弄清楚,震网的恶意载荷是用来做什么的,也不知道它是否包含能显著影响非目标计算机的错误。 研究人员同样无法确定的是,伊朗到底是病毒攻击的目标还是发源地?震网有没有可能是伊朗人制作出来、用于攻击美国目标、却不慎从实验环境中泄露出来的?这样也说得通啊。那么,如果病毒现在感染了美国的关键基础设施,如某个发电厂、某个水坝或铁路的控制系统,那么接下来会发生什么事? 钱哥和莫楚决定,不能就此罢手,必须继续侦查。 不论这个决定可能蕴含怎样的政治含义,都只能留待水落石出之后再讨论了。(待续)
';

第一章 早期预警

最后更新于:2022-04-01 21:16:50

舍基·乌尔森(Sergey Ulasen)一看就不是会被卷进国际大事漩涡的人。这位31岁的白俄罗斯人有一头金色短发和少年般瘦削的轮廓,不仅面善,而且性格和蔼友善,看上去是在生活中完全没有敌人甚至对手的那种宅男……他最爱的度假方式就是去明斯克郊外的奶奶家,在那里放下手机、离开网络,充分释放压力。就是这样一个人,在2010年6月,干了一件惊天大事,成为世界瞩目的焦点。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15935bb1.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-2.jpg) 舍基·乌尔森 他是白俄罗斯一家小型反病毒公司VirusBlockAda反病毒部门负责人,和同事奥莱格·库普瑞(Oleg Kupreev)一起,在坐落于明斯克市中心、离斯维斯洛奇河不远的一座苏联时期建造的灰褐色大楼里办公。他们正在系统地梳理近期在伊朗计算机上发现的恶意文件,突然有什么东西让库普瑞激动了起来。他坐在椅子上,大声喊:舍基,快过来看呐。舍基把这段代码看了一遍又一遍,最终确信他所看到的东西就是这么不可思议。他激动得有些喘不过气来。这段代码他们已经研究好几天了,直到现在他们才发现,它绝非一种温和而有趣的普通病毒,而是一部如恶魔般可怕又冷静的顶级作品。 它不仅有效利用了后门(rootkit)来躲过反病毒引擎的扫描,还利用了“零日漏洞”(zero-day)将其从一台计算机传播到另一台计算机,从而能突破Windows系统,让百万台计算机暴露于风险之下。 漏洞利用程序(exploit)是黑客用于植入病毒的攻击代码,一般利用IE等浏览器或PDF阅读器等应用程序中的安全漏洞,把病毒代码植入进去。这需要受害者浏览或点击带毒链接或文件。当软件开发者意识到漏洞的存在后,会制作并发放补丁。 “零日漏洞”利用程序(zero-day exploits),是黑客世界中最牛的东西。因为它利用的漏洞是软件开发者和反病毒公司尚未发现的——这意味着根本没有补丁。 这种程序非常少见。这需要很多时间去发现无人发现的新漏洞,并研究、分析、并制作利用漏洞实现攻击的程序。因此多数黑客只是简单依赖已知漏洞和漏洞利用程序(exploit)来传播[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")。他们利用从漏洞补丁发布到用户安装补丁这个时间差,或者有些用户因为大意没有安装补丁的情况,来进行攻击。虽然每年有超过1200万种[恶意代码](http://www.aqniu.com/infosec-wiki/827.html "恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。")出现,但“零日漏洞”大概只有10来个。这次的攻击者使用的正是这种价值很高的“零日漏洞”利用程序和高超的攻击技术。从乌尔森他们看来,伊朗设备上的这些病毒在漏洞利用(exploit)技术和后门(rootkit)运用技术方面的表现,是空前的。简直不能再牛了。 早在一周前,这个神秘的病毒就已经引起了Ada公司的注意。Ada公司在伊朗的一家安全软件中间商发现,顾客的机器反复出现故障。计算机反复重启,Ada公司技术团队进行了远程扫描,寻找反病毒软件漏掉的恶意程序,但一无所获。因此后来他们找到了乌尔森。 乌尔森自从读大学起就受雇于Ada公司。但公司规模很小,而乌尔森非常优秀,所以当他26岁时已经成为公司的技术大拿,负责开发维护反病毒引擎。他偶尔还与破解恶意代码的研究团队一起工作。尽管偶尔为之,但他非常喜欢从事反编译研究。因此,当技术支持团队找他解决伊朗客户的问题时,他欣然接受。 乌尔森起初认为,问题出在软件配置错误,或是操作系统中不同软件无法兼容上。但之后他了解到,并不是一台机器出现问题,而是很多台,而且当重装系统后问题仍然存在。于是他推测,攻击者一定是将病毒潜伏在目标网络中,这样就可以反复感染被清理干净的计算机了。他还怀疑,攻击者利用后门逃过了反病毒软件的监测。乌尔森已经为公司编写反后门(anti-rootkit)代码很久了,因此他很有信心把它找到。 当获准远程接入遭感染计算机后,乌尔森和库普瑞将目光锁定在6个可疑文件上,其中2个驱动程序文件,4个其他文件。他们认为这些文件就是问题的根源。然后,在同事的帮助下,他们花了几天时间对这些可以文件进行破译、努力解释令人惊异的复杂代码。由于他们只是一个服务于政府客户的小公司,所以并不擅长这种挑战。但他们经过持续努力,终于发现:其中一个驱动程序文件,扮演着“内核级”后门(kernel-level rootkit)的角色,这印证了乌尔森的怀疑。 后门有很多变种,最难的是探测出那个能获得与反病毒软件一样的系统特权的“内核级”后门。如果把计算机系统结构想象成一个靶子,内核层就是靶心,就是操作系统让计算机运作起来的起点。多数黑客编写的漏洞利用程序(exploit)仅能获得用户级权限,这是比较容易做到的。但反病毒软件可以探测到这种“提权”。因此,真正高明的黑客将漏洞利用程序(exploit)瞄准系统内核级别,这样就能逃脱反病毒软件的扫描。在那里,漏洞利用程序与恶意代码“内外勾结”,为恶意代码大行其道提供运行接口,反病毒软件却无法扫描和跟踪。内核级后门绝非常见,制作它需要复杂的知识背景和高超的技巧。但乌尔森发现的这一个,是超赞的。 库普瑞认为,这个后门是用来隐藏四个恶意的.lnk文件的。病毒看来是使用了由4个恶意文件构成的漏洞利用程序来通过USB设备传播自己,而通过后门可以做到让这些U盘上的恶意文件对用户“不可见”。就在这时,库普瑞找乌尔森过来,让他看看到底是什么情况。 利用漏洞通过U盘传播病毒,不像通过互联网上的网站和邮件传播那样普遍,但也非闻所未闻。库普瑞和乌尔森之前所见过的所有U盘传播病毒,都是利用了Windows系统的自动运行功能,这样当U盘插入计算机时,U盘上的恶意代码就会立刻执行。但这个家伙更加聪明。 在Windows系统中,.lnk文件负责渲染U盘或其他移动存储介质中的文件图标。当我们插入U盘时,资源管理器或类似工具就会自动扫描其中的.lnk文件,来显示各种格式的文件,如音乐文件、Word文档、其他程序等。在这个病毒中,攻击者精心设计了一个漏洞利用程序,并将其插入其中.lnk文件中。当Windows扫描时,它能执行这个漏洞利用程序,秘密地将U盘上的恶意文件“货物”运送到计算机上,就像军用运输机将伪装的伞兵投放到敌方领土上一样。 乌尔森在想,利用漏洞通过.lnk文件攻击Windows系统如此基础的功能,为什么之前没有人想到过呢?这比利用“自动运行”功能要牛逼得多,因为后者可以通过关闭“自动运行”功能使攻击失效,很多网管都对这一点很了解。但并没有禁用自动扫描.lnk文件而不引发其他问题的办法。 乌尔森搜索了漏洞利用程序的档案库,试图找到其他通过.lnk文件的类似病毒,但一无所获。此时,他开始怀疑,这是一个“零日漏洞”。 乌尔森找到一个被感染的U盘,把它插入一台安装了Win7的测试机上。这台计算机安装了微软官方发布的所有补丁。如果微软已经发现这个漏洞,那么补丁程序将会阻止其向系统注入病毒。如果这是一个“零日漏洞”,则补丁将并无卵用。乌尔森等待了几分钟,然后检查计算机,没错,恶意文件进来了。(待续) 注释 :rookit NSA安全和入侵检测术语字典(NSA Glossary of Terms Used in Security and Intrusion Detection)对rootkit的定义如下: A hacker security tool that captures passwords and message traffic to and from a computer. A collection of tools that allows a hacker to provide a backdoor into a system, collect information on other systems on the network, mask the fact that the system is compromised, and much more. Rootkit is a classic example of Trojan Horse software. Rootkit is available for a wide range of operating systems. 很多人有一个误解,认为rootkit是用作获得系统root访问权限的工具。实际上,rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击获得root访问权限,或者首先密码猜测或者密码强制破译的方式获得系统的访问权限。进入系统后,如果他还没有获得root权限,再通过某些安全漏洞获得系统的root权限。接着,攻击者会在侵入的主机中安装rootkit,然后他将经常通过rootkit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。 乌尔森还是无法置信。VirusBlockAda公司,一个籍籍无名的微型安全公司,刚刚作为病毒探测者发现了一个病毒界的“稀世珍奇”!而且,它不仅利用了一个“零日漏洞”,是4个,对应Win2000以来的4个不同操作系统。攻击者将其分别注入到4个.lnk文件中,确保攻击万无一失。 乌尔森试图计算到底有多少台计算机遭受了它的感染。之后,又有一个问题困住了他。被注入到计算机上的两个驱动程序文件,已经在任何无弹窗提示的情况下,完成了自身的安装。要知道,Win7的安全特性要求“当没有安全证书的程序安装时,会弹出提示框”,但这两个文件在安装时并未遇到这个问题。乌尔森警觉的意识到,这是因为,这两个驱动已经获得了一家名为瑞昱半导体公司(RealTek Semiconductor,以生产声卡著称)的合法数字签名。 数字签名(digital certificates),就是经过认证的安全文件,就像数字护照一样。软件开发者用数字签名为产品进行鉴定,有签名的产品就是公司的合法产品。微软和反病毒公司也会为自家程序和更新包加上数字签名。计算机会认为,具有数字签名的程序是可信的。但如果攻击者偷到微软公司数字签名以及它的加密密钥,并用在自己的程序上,就能轻松的骗过计算机,让计算机认为“这是微软家的代码”。 此前,已有攻击者在数字签名上做过文章。但他们都是用假的、自己制作的签名文件冒充合法文件,或者通过注册一个“壳公司”欺骗认证方、让其误以为是合法公司的签名文件。但这两种方式下,计算机都可能将签名文件视为可疑对象,并拒绝相应文件。而在这件事中,攻击者使用的是瑞昱公司——一家著名台湾硬件厂商——的签名文件,因此计算机都会将其视为合法的。 这种战术是乌尔森从未见过的,激起了他心中的一系列疑问。 一种可能性是攻击者黑掉了瑞昱公司开发人员的计算机,然后使用开发人员的计算机及权限,秘密授予病毒文件数字签名。 另一种可能性是攻击者偷到了认证密钥(signing key)和证书(certificate)。出于安全考虑,聪明的公司会把它们的密钥和证书保存在不联网的服务器上,或者保存到提供额外安全防护的硬件模块上。但并不是每个公司都会这样做。有线索证明,瑞昱公司的证书确实被人偷走了。两个恶意程序文件上,数字签名的时间戳均为“2010年1月25日”。而一个文件于2009年1月1日,即于加签名之前一年被编辑过,另一个文件于加签名之前6分钟时被编辑过。由此可以推断,攻击者手上可能确实有密钥和证书,可以很快对文件加数字签名。 其影响之大,令人感到不安。将合法数字签名用在恶意程序文件上,颠覆了计算机世界对数字签名体系的信赖,让人对从此以后所有经过数字签名的程序都无法再信任了。其他黑客模仿这种偷盗数字签名的策略,也只是时间问题了。乌尔森必须将这件事公诸于众。 负责任的漏洞报告程序是,漏洞发现者在发现问题后,应首先与软件开发方取得联系,待开发方做好补丁之后再向公众发布消息。因此,乌尔森立即向瑞昱公司和微软公司发送了电子邮件,把自己的所见告诉了他们。 两周过去,两家公司没有任何回复。乌尔森和库普瑞决定,不再保持沉默。有义务让其他安全机构了解.lnk漏洞。随后,安装了Ada公司反病毒引擎的机构们发现,中东及附近地区的计算机中大量发现具有该特征的恶意程序。病毒正在肆虐,并且快速传播。这必须向媒体公开。 7月12日,乌尔森在公司网站上发布了一条关于“零日漏洞”的简短声明,同时在一个英文安全论坛上也发布了一条消息,警告说可能将爆发大规模感染。他公开了利用漏洞攻击的几个细节,但不足以使其他具有模仿能力的黑客根据这些信息进行类似攻击。但论坛上的成员都是内行,很快意识到其中的价值,指出这个漏洞具有造成“大规模杀伤”的潜力。 三天后,科技记者克雷布斯(Brian Krebs)发现了这条声明,并写了一篇博客,对当时还少为人知的漏洞进行了简介。这条新闻在安全社区中快速流转,让每个人都打起精神,来面对这种病毒以及可能出现的、跟风模仿者利用相同漏洞进行的其他攻击。同时,一家从事反病毒研究和测试的德国机构老大,向微软方面引荐了乌尔森,并督促微软开始研究补丁。根据已经公布的漏洞,微软决定向用户发布一个关于问题关键点的紧急报告,同时提供了如何减轻被感染风险的一点建议。但是,补丁的制作和分发可不是几个星期的事,解决问题仍然遥遥无期。 安全业界迅速展开了对这个病毒的讨论。现在,微软给它起了一个新的名字:震网(Stuxnet),是将一个驱动文件(mrxnet.sys)的名字和其他部分代码的字母进行拼合而成。安全公司纷纷将其特征纳入反病毒引擎,随即数以万计的病毒开始显现。 这时,又出事了。7月17日,斯洛伐克一家名叫ESET的安全公司发行了一个与震网有关联的另一种恶意驱动程序文件。这个文件也带有一家台湾公司的数字签名,但却并非瑞昱公司,而是生产电路板的台湾智微科技(JMicron Technology)。 这次发现的驱动程序文件是独立的,不像震网有那么多文件。但是,所有人都认为它与震网有关,因为它和Ada公司发现的驱动程序高度相似。这个文件的编辑日期中,有引人注目之处。当黑客在编译器中运行源代码,然后将其翻译成计算机能够读取的二进制代码时,编译器一般会在二进制文件中留下一个时间戳。攻击者可以操纵这个时间戳,以摆脱反编译研究者的跟踪,但这个文件的时间戳似乎是正常的(没被篡改)。时间戳显示,该驱动程序文件于7月14日,也就是在Ada公司将震网的信息公布后两天后被人编辑过。是攻击者在非常清楚一家白俄罗斯公司已经揭开病毒面纱之后,又释放出新的驱动来进行攻击吗?或者是他们知道事情即将败露,希望赶在被处理掉之前将震网病毒传播到更多机器?有线索证明,在攻击者为驱动程序文件加上智微公司数字签名时,漏掉了几个小步骤,这说明攻击者急于推出这个新的驱动,让它赶紧“干活”。有一件事是很明确的:攻击者需要给他们的驱动文件加上一个新的数字签名,因为瑞昱公司的数字签名已经于6月12日过期了。数字签名都有生命期限,一旦瑞昱公司的数字签名过期,攻击者就不能再用这个签名来标记新文件了。当震网被曝光,认证机构也会取消对相应病毒文件数字签名的认可,Windows系统将自动拒绝使用该签名的文件。 第二个签名文件的发现,让人们对于黑客如何获取相应安全文件有了更多的猜测。瑞昱和智微两家公司的总部都坐落于台湾新竹科技工业园,彼此相隔两个街区。考虑到地理位置接近,有人推测可能有人闯入了这两家公司,偷走了数字签名密钥和工具。还有人推测中国是震网幕后主使(躺枪),是中国方面黑了台湾公司、取得数字签名密钥和证书。 不论怎样,这意味着攻击方的“军火库”里面,可能还有其他公司的证书。既然他们已经费了这么大的力气来确认这种攻击是有效的,那么这很可能意味着他们为达目的,有着严肃的目标和精心设计的手段。安全业界中很多人都感到心神不宁、不知所措。ESET公司研究员皮埃尔在网上说:“擦,从来没见过这么专业的坏蛋。” 反病毒公司源源不断的检测着来自客户的震网病毒文件,令人吃惊的情况又出现了。根据文件的时间标记,震网病毒早在2009年6月就已经开始出现了,这比Ada公司发现它的时间要早一年还多。研究还显示,攻击者先后于2009年6月、2010年3-4月和2010年6月发起了三个波次的攻击,每一波攻击所用代码略有不同。 然而,震网的意图到底是什么,仍然是个谜。研究者没有发现任何有关震网试图盗取银行账号等机密信息的行为,这一点与其他大多数恶意程序大相径庭。研究者也无法从代码中找到其他动机的信号。直到有一天,一名来自德国的研究者弗兰克(Frank Boldewin)找到了一个可能的线索。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b15948635.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-3.jpg) 弗兰克Frank Boldewin 当乌尔森第一次在论坛上谈起震网时,弗兰克就曾问过他:“哥们,有谁深入看过它的代码吗?”原来,弗兰克曾深入震网的内层代码,发现其中有一些不寻常的、对德国西门子公司所生产软件的说明文字。攻击者看上去是在寻找那些安装有SIMATIC Step 7或SIMATIC WINCC这两种西门子公司专有软件的计算机。这两种软件都是与西门子公司生产的可编程逻辑控制器(PLC)配套的工业控制系统的一部分,用于配置自动控制系统的软硬件参数。而PLC,一般有烤箱那么大,是广泛用于世界各地的小型工业计算机,用来控制机械臂、传送带或装配生产线等。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b159b6fb3.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-4.jpg) 西门子 SIMATIC 系列产品,硬件为PLC,软件为与之配套的软件,即震网的目标。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b159d1b9f.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-51.jpg) 西门子SIMATIC Step 7操作界面 弗兰克从未见过以工业控制系统为目标的恶意软件。因为,黑工业控制系统根本没什么利润回报,起码不是黑银行账户和信用卡系统那种赚快钱的方式。只有一种可能。他说,“看来,这个恶意程序是个间谍软件”。攻击者一定是想盗取竞争对手的工业设计或产品模板。 客观的说,业界大多数人都太乐观了。震网似乎只以安装了西门子专用软件的计算机为攻击目标,这意味着没装西门子软件的计算机都是安全的,他们的机主也可安枕了。但乌尔森在伊朗发现的、反复重启的计算机并没有安装西门子软件,除了系统被破坏之外,震网并未引发持续性的伤害。这些都是为什么呢? 在震网声名远扬之后仅仅一周之后,就渐渐走向了平息。微软还在为了修复.lnk漏洞而开发补丁,但在多数其他安全公司眼中,一旦把震网的特征码加入本公司产品病毒库,震网就和他们没有一毛钱关系了。 世界上第一个数字武器的故事即将到此为止,但有几个业内研究者却认为其中有料,把震网揪住不放。(待续) 注释:震网导致计算机反复重启的原因 Stuxnet蠕虫被设计用来破坏伊朗核工厂铀浓缩离心机,但一个编程错误使蠕虫扩散到了 Windows 95和Windows 98等不支持的操作系统上,导致电脑蓝屏死机,从而引起了怀疑,使它曝光于世界。
';

序幕 离心机故障

最后更新于:2022-04-01 21:16:48

> 原文出处:[安全牛](http://www.aqniu.com/hotnews/11234.html) 2010年1月,联合国负责核查伊朗核设施的国际原子能机构(IAEA)开始注意到,纳坦兹铀浓缩工厂出现了问题。 [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-12-08_5666b154e9852.jpg)](http://www.aqniu.com/wp-content/uploads/2015/09/640.webp-1.jpg) 核设施埋在沙漠之下50英尺的深处,那里有一个巨大的离心机车间。过去2年间,这里的铀浓缩离心机正常运转着,从六氟化铀中提炼高纯度铀。在过去数周,工人们大批量的拆掉离心机,并换成新的。故障比例高得令人吃惊。 在纳坦兹,离心机型号为IR-1,预期使用寿命10年。但似乎它们很脆弱、很容易损坏。即使是正常情况下,伊朗都会由于原料不达标、维护问题和工人操作错误等原因,每年更换10%的离心机。 2009年11月,纳坦兹大概有8700台离心机,也就是说正常情况下一年替换800台。但IAEA的官员发现,在2009年12月到2010年1月期间,离心机的替换率高得不正常。 IAEA核查人员大约每2个月去一次,有时提前通知,有时临时行动。每次工人们都会把坏的离心机换下来,堆放在一个房间里,等待检查。核查人员用手持伽马射线探测仪对其检查,看是否有放射性物质溢出,然后再批准其报废,把每次报废数量记录下来、报给维也纳总部。 IAEA在每一间离心机堆放库外面都设立了摄像头,监督技术人员和工人的一举一动。每次核查人员去了之后,要看摄像头有没有被人动过,并检查视频录像,看纳坦兹的人有没有偷做手脚。几周后,总部负责详查视频的人发现,报废的离心机数量严重超出正常水平。 IAEA官方并未公布报废离心机的具体数量。但新闻报道中引述一名欧洲外交人士的说法是900至1000台。2010年10月退休的前IAEA官员、监察部门副主管海诺宁说,“凭我的经验推测,大约有2000台。” 不管具体数量是多少,很明显,设备的确出问题了。可是,伊朗人无需向IAEA解释到底发生了什么,IAEA检察人员也无权过问。监察部门的任务是检查铀浓缩工厂的铀,而不是跟踪坏了多少设备。 检察人员并不知道,问题的答案就在他们眼皮底下,在工业控制室的计算机中。几个月前,2009年6月,有人在其中悄悄地释放了一个破坏性的数字弹头,随后这个弹头一步一步攻入纳坦兹的核心系统,带着明确的目标——破坏伊朗铀浓缩项目、阻止伊朗总统内贾德制造核武器。 答案就在那里,但核查人员用了一年的时间才明白。而这还是在一大群计算机安全专家耗时几个月、对病毒进行解构的基础上才达成的。这段程序是如此特殊,以至于它创造了历史——它是世界上第一个数字武器。它的到来,宣告了数字战争时代的开启。
';