赛门铁克发现,毒区很可能就是继震网之后再次攻击伊朗的“星辰”病毒。于是,他们发布了毒区的报告。报告中虽然隐去了CrySyS的身份,好事者还是人肉到了匈牙利的受害者——一家数字证书认证机构(CA)。这可不得了。即将有大事发生的味道,引来了错过震网的各路豪杰……
第十四章 震网的子孙(接上)
这些都很容易理解,但当继续深入毒区代码时,他们发现了另一个线索。它似乎与另一场已经困扰他们几个月的攻击之间有所联系。6个月前,伊朗官员宣称,他们的计算机遭到了来自跟随震网而来的第二次攻击。这时,距离他们首次承认“用于控制离心机的计算机遭到网络攻击”已经过去了几个月。上一次,他们没有给攻击离心机的病毒命名,但这一次他们给病毒起了一个好听的名字:“星辰”(Stars)。伊朗民防部长吴拉姆-雷萨·贾拉利(Gholam-Reza Jalali)没有对命名做出解释,也没有提供有关攻击的更多细节。他只是说,攻击的目标不是破坏,而是盗取数据。他还提到,恶意代码似乎“被误当作了来自政府的可执行文件”,这表明,恶意代码可能是攻击者将恶意文件假扮成来自政府的文件,并作为邮件附件以“钓鱼”的方式实施入侵的。
由于伊朗方面没有对外界提供恶意代码的实例,赛门铁克和其他机构的研究者想分析也无从下手。同时,因为没有关于“星辰”的其他佐证,很多研究者决定忽略伊朗的报告。他们认为,这要么是伊朗人为了指责西方再次发动网络攻击而编造出来的故事,要么是夸大其词,把一种普通病毒说成了具有国家背景的攻击。
但是,他们在毒区中发现的一些细节暗示,它可能就是“星辰”。在毒区的攻击者将击键记录器推送至染毒计算机时,会将它嵌入一个.jpeg文件中,以躲避防火墙的过滤。由于原始图像中的大部分数据被删除、并替换成了击键记录器的代码,所以,莫楚代开这个图像时,屏幕上只能看到一小部分内容——黑色背景上的几个白色单词文本。文本只露出了上半部分,但仍可辨认:“互扰星系NGC 6745”。对其搜索所得结果显示,这张图像是哈勃天文望远镜在1996年3月拍摄而成。
这张令人震撼的图像上,一簇浓密的蓝色和白色恒星遮蔽在一层金黄色气状物之下,一大一小两个星系正在发生“碰撞”。有没有这种可能,毒区就是之前攻击伊朗的神秘病毒“星辰”呢?赛门铁克和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实验室已经对毒区文件进行了深入分析,但拉伊乌和格斯特夫猜测,其中可能仍有遗落的重要线索。事实证明,他们猜对了。
打开毒区的文件,他们马上意识到,这些代码必定出自高人之手。毒区的代码与他们经手过的一般间谍软件相比,简直是判若云泥。拉伊乌说,如果说前者是梵高的名画《星空》(Starry Night),后者就是一幅艺校学生的习作。在内行眼中,毒区的代码中充满了大师级的巧思和才气。(待续)
译者:李云凡