第十五章 火焰病毒

最后更新于: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年,震网风波过后,钱哥如是说,“对我们来说,这是一个新的‘好人还是坏人’的问题,让我们左右为难。”庆幸的是,他们所做的一切工作,完全没有受到任何政治上的干涉或阻力,他也希望,未来永远不会被迫面临“客户还是政府”的选择。当然,他心里明白,这恐怕只是一厢情愿。 “听起来可能有点虚伪,但我们的所作所为,都是为了帮助客户,这没有错。”他说,“如果我们真的到了必须在客户与政府之间做出选择的地步,那将必定是一个无法面对的心碎时刻。我不知道该怎么做,真的,我不知道。”(待续)
';