【战争看不见】震网——掀起网空战争军事革命
整理时间:2013-05-23 00:51 来源:www.vimiy.com 作者:编辑 点击:次
【楼主】 2013-05-28 17:05
» 震网——掀起网空战争军事革命
保罗·沙卡良,美国陆军少校(Maj Paulo Shakarian, U.S. Army)
原载《空天力量杂志》中文版2013年春季刊
Stuxnet: Cyberwar Revolution in Military Affairs
Translated and reprinted with permission from Small Wars Journal, April 2011 (smallwarsjournal.com).
2010 年6月17日,白俄罗斯一家小公司 VirusBlockAda 的安全研究人员发现一种能感染可移动存储设备的恶意软件。在后来几个月中,计算机安全界经过一阵忙碌,查明上述发现只是检测到一种新型计算机蠕虫的一个部分,这款新病毒名叫“Stuxnet”(震网)。Stuxnet专门针对工业设备。由于绝大多数的病毒感染发生在伊朗,同时伊朗的纳坦兹铀浓缩厂离心机因不明原因停机,此消息被披露后,大部分媒体揣测Stuxnet攻击的最终目标是伊朗的核设备。2010年11月,伊朗总统艾哈迈迪内贾德公开承认,一种计算机病毒对“我国(核)离心机中为数不多的几台机制造了一些问题,”至此外界的一些怀疑得到证实。计算机安全界的一些知名专家把Stuxnet病毒称为 “前所未有”、“进化性的飞跃”和“我们希望永远都不再看到的那种威胁”。笔者认为,这种恶意软件代表了在虚拟领域的一场军事革命,即Stuxnet从根本上改变了网空战争的性质。对此,原因有四:(1)Stuxnet是网空武器针对工业设备的首件案例;(2) 证据显示,这种病毒攻击目标设备获得成功;(3)这代表在开发恶意软件方面的重大进步;(4)Stuxnet案例表明,关于网空安全的一些常见的假设并非总是正确。笔者在本文中对此四点逐一讨论,并探讨Stuxnet引发的军事革命对未来的影响。
Stuxnet锁定工业设备
一些主要的计算机安全公司详尽检查了Stuxnet,一致认定这种病毒软件的主要目的是对工业设备造成难以察觉的故障。人们长期以来一直假设用网络方式攻击工业设施的可能性,而今这种新病毒首战告捷。再者,这款恶意软件的唯一目的就是开展攻击。其他所有的恶意软件都包含一些用于实施各种犯罪活动的标准代码 ——如盗窃身份和密码信息、发动拒绝服务攻击、发送垃圾电子邮件,等等。但Stuxnet不是,它虽然技术高度复杂,却无意从事以上任何一种犯罪活动。它的设计,就是通过自身复制和扩散来感染同工业设备通信的基于微软视窗系统的计算机。这与互联网上被用于各种犯罪目的的五花八门的恶意软件截然不同。 Stuxnet的设计目的是破坏,而不是犯罪。
被Stuxnet感染的工业设备称为监控和数据采集系统(SCADA),此类系统用于对包括核电厂、石油/ 天然气管道、炼油厂、供水系统、或者其它需要计算机设备控制的关键基础设施进行实时的数据采集、控制和监控。SCADA 通常使用称为可编程逻辑控制器(PLC)的用来控制物理部件的计算机硬件。为了给 PLC 编程,系统管理员将 PLC 连接到标准的微软视窗计算机。PLC 在准备好使用时,通常从计算机拔下。例如,如果系统管理员希望加速运转离心机,他把 PLC 同视窗计算机相连,运行一个能与 PLC 通信的计算机软件,并上传新指令。假设Stuxnet感染了连接 PLC 的计算机,这种恶意软件就对该系统运行一种“拦截式”攻击。系统管理员试图向 PLC 发出指令,Stuxnet拦截此指令,并以自己的指令取而代之发出,然后向视窗计算机发出假报告,谎称原指令已经上传。通过提供虚假报告,Stuxnet 隐蔽自身,使其很难被发现。
Stuxnet被设计用来攻击由西门子Step 7软件控制的PLC。并且,该病毒仅感染两种型号的PLC:西门子 S7-315 和 S7-417。S7-315 是一般用途的控制器,运行单列阵的装置。例如,由 S7-315 控制的这种装置列阵和群组,运行一个制造过程的不同阶段。S7-417 是该系列中的顶级型号,能运行多列阵,因此比 S7-315 控制更多的设备。安全专家认定,Stuxnet只在 PLC 同以一种非常特殊形式配置的设备相连时才会发动攻击。例如,当病毒发现 S7-315 时,如果 PLC 同 33 个或更多变频驱动器连接时,它才会发动攻击。变频驱动器用于控制某些设备的速度(如电动机的转速)。同样,对于 S7-417的PLC,它要发现6级联的164个变频驱动器,才发动攻击。该恶意软件还要在确认变频驱动器是由伊朗法拉罗巴耶利(Fararo Paya)公司或者芬兰伟肯(Vacon)公司制造时,才实施攻击。
一旦Stuxnet确定已对被锁定的变频驱动器系统完成感染,就展开攻击。基于对该软件的分析,专家们发现,该病毒发现驱动器在 807—1210 Hz之间运转后,定期修改此设定速度,使驱动器在 2—1410 Hz之间不断变速。这样一来,由变频驱动器控制的装置就以意想不到的方式运转。但Stuxnet向操作人员发送的报告却伪称 PLC 程序正确,于是操作人员以为设备在正常范围运行。Stuxnet修改这些设定运行值的事实说明了重要的一点——此病毒的目的就是要损坏工业设备。如果 Stuxnet只不过是个概念验证,或者只是想哗众取宠,或许就无必要修改运行频率。
Stuxnet极可能首战告捷
Stuxnet 以攻击工业设备为设计目的,有证据显示其攻击取得成功。成功的证据来自以下几种推理。首先,病毒的初期感染似乎发生在伊朗;第二,Stuxnet代码的数据结构类似伊朗纳坦兹铀浓缩厂离心机的配置;第三,伊朗政府官员承认他们的离心机运行受到Stuxnet的感染。
伊朗似乎是这次攻击的中心,这从病毒感染的数量以及对病毒采样的分析可以看出。截至2010年9月29日,网络安全公司赛门铁克(Symantec)追踪了10万台被感染的计算机,其中大约60000台位于伊朗。印度尼西亚其次,有大约15000台感染。赛门铁克与其他安全公司合作,收集了3280份Stuxnet软件及其变种的独特样本。这些样本代表总共 12000个感染案例。Stuxnet有一个它以前曾感染的系统名单。因此,对于一个特定的样本来说,研究人员能确定该病毒为了进入某个计算机的传播路径。通过评估这些样本,赛门铁克能将感染历史记录追溯到 5 个不同机构的其中一个——所有机构在伊朗都有存在。
从对伊朗纳坦兹铀浓缩厂的了解可知,其离心机配置和Stuxnet代码之间有惊人的类似。根据国际原子能机构,纳坦兹铀浓缩工厂的IR-1离心机系统是由164台离心机组成的级联系统。这与Stuxnet寻找攻击的S7-417控制器配置完全吻合。另外一个可能的指标是IR-1离心机的最大速度为1,400—1,432 Hz,该频率范围非常接近Stuxnet在攻击时设定的最大速度:1,410 Hz。将 IR-1 离心机调到如此高的频率运行很可能导致设备损坏。
如果铀浓缩的过程被分解为一系列的阶段进行,每个阶段有多个离心机同时运行,那么浓缩过程就能获得优化。从2006年的一次采访得知,伊朗人正在使用这个分阶段方法,即采用15个阶段来进行铀浓缩。每个阶段配备规定数量的离心机,以获取最优化的生产结果。普林斯顿大学核未来研究室教授亚历山大·格雷泽(Alexander Glaser)研究了164台离心机级联规模的最优配置。专门从事 SCADA 监控系统研究的兰格通信技术有限公司创始人拉尔夫·兰格(Ralph Langer)将此分析同Stuxnet中的数据构造比较后发现,这种病毒可能严重干扰每个阶段的离心机最优配置,结果形成的配置似乎与格雷泽认定的最优配置正好相反。如果Stuxnet的攻击目标是纳坦兹的离心机,攻击的结果将导致浓缩铀产出达不到原定最优水平,亦即产量大大低于设计能力。
除上述技术分析外,伊朗领导人的声明中还透露出一些Stuxnet潜在效果的证据。艾哈迈迪内贾德总统在 2010年11月证实恶意软件感染了他们的离心机,虽然他并没有明确提及Stuxnet的存在。伊朗最高国家安全委员会秘书长赛义德·贾利利在接受德国《明镜》周刊采访时,被特别问到Stuxnet被用于攻击纳坦兹的问题。虽然贾利利没有详细谈论该病毒造成的损害(再次淡化该病毒的作用),他的确承认发生了一次事件。他说:“我们的专家很久前就已经阻止了这个攻击。”
人们有兴趣地注意到,Stuxnet很可能是由一名破坏者使用一个U盘将此病毒植入纳坦兹的系统中。通过这种做法,病毒的设计者可极大地增加成功的几率,而不是被动地等待该病毒传播到纳坦兹。2010年10月,伊朗情报部长海达尔·穆斯利赫宣布,人数不详的“核间谍”因涉嫌Stuxnet被捕。虽然被捕的细节和性质未知,但这(至少)说明伊朗承认Stuxnet可能传播的各种方式,以及给其设备运行带来的严重后果。
值得注意的是,在 2009 年末或 2010 年初,伊朗废弃并替换了纳坦兹铀浓缩厂大约1000台 IR-1 离心机(6 个级联,每个级联164 台离心机)。废弃这些离心机的时机,以及替换离心机的数量,同Stuxnet攻击的时机和数据结构一致。对离心机故障的另外一个可能解释是设备制造缺陷,但还不清楚为什么这样的缺陷需要如此长时间才表现出来。从此前分析来看,Stuxnet似乎并非设法立即损毁离心机,而是在一段时间内以一种更微妙的方式调整频率,这很难确定出现的问题是由病毒,还是由浓缩过程中一些其他因素造成的。恶意软件的这种行为,使废弃这些离心机的解释更加一致。除了导致将IR- 1撤离生产线以外,纳坦兹铀浓缩厂还在2009-2010年期间经历了铀生产达不到最优水平的事件。国际原子能机构的报告显示,纳坦兹生产的浓缩铀数量那个时期仍保持相对稳定,尽管离心机的数量大幅度增加。这表明,整个系统在以低于最优水平生产。
虽然伊朗在2010年底宣称, Stuxnet对他们核项目产生的影响微乎其微,安全专家兰格断言,这种病毒致使伊朗的核计划倒退两年。这有两个层次的原因。第一,如前所述, Stuxnet造成的损毁更微妙,但极可能产生了有效破坏。由此恶意软件造成的设备故障难以查明来源。第二,鉴于Stuxnet的活跃扩散性质,要清除铀浓缩过程中全部计算机设备的病毒,极为困难。可能正是出于这些忧虑,伊朗在2010年10月(因不明原因)全面暂停了纳坦兹的浓缩铀运转。
人们自然会提问:“Stuxnet还影响了其他哪些国家?”有报道说,德国、芬兰和中国的监控设备中也发现了这种病毒,不过这些国家的工业系统没有因受感染而损坏。这可能是由于各自国家的PLC具备不同的配置,因为Stuxnet仅对某种特定配置发动攻击。西门子宣称,使用其软件的用户中,只有15个系统报告病毒感染。在这15个系统中,没有发生一起损害。伊朗极可能没有向西门子报告感染情况。伊朗虽然是在2002-2003年间购置了S7-315和S7- 417控制卡,国际原子能机构认定伊朗极可能将这些硬件设备转移到其核项目,这促使西门子停止了向伊朗的销售。但是众所周知,S7-417被安装在布什尔核电站,布什尔也可能是Stuxnet攻击的一个目标。在布什尔的S7-417并非直接从西门子获得,而是购自俄罗斯一家名为Power Machines Corp的电力设备公司,该公司根据与伊朗的合同,以此作为伊朗Teleperm系统的一部分进行了安装。
Stuxnet是恶意软件的重大发展
像其它恶意软件一样,Stuxnet利用了此前系统软件中未确认的安全缺陷:零日漏洞。由于这种漏洞此前未被发觉,因而未被杀毒软件识别。作为读者参考,在 2009年底出现的对谷歌攻击的Arora病毒(通常被认为来自中国),就是利用一个零日漏洞。能利用两个零日漏洞的病毒已经闻所未闻,而Stuxnet 竟然利用了微软视窗操作系统的四个零日漏洞,外加西门子软件的一个零日漏洞。在被Stuxnet利用的视窗系统的四个零日漏洞中,有两个漏洞与提升权限功能相关,从而允许Stuxnet非法生根,或以管理员层级身份访问被感染系统。另两个漏洞与病毒传播相关,通过可移动存储设备或局域网传播病毒。写作本文之际,自我传播的计算机病毒尚不多见,因为控制起来通常很困难。以“僵尸网络”为例,一大批计算机被恶意病毒感染,又被一个与被感染计算机没有合法关联的 “控制和指挥”服务器控制。这是一种从事网络犯罪的很常见的平台。僵尸网络病毒的传播,主要是通过垃圾邮件和恶意网站进行,自我传播的方式非常有限。
Stuxnet成功推翻一些安全假设
本文讨论的Stuxnet所引发的军事革命的最后一个方面是,它证明一些安全假设是站不住脚的。常见的第一个假设是,物理隔离的系统更安全。按照定义, SCADA系统控制对使命具有关键意义的设备,很多管理人员不把这些计算机同外部网络相连,以物理隔离的方式来保证安全,结果是采用可移动媒介把文件传至计算机。Stuxnet的设计者利用了这一假设,使病毒通过U盘等可移动存储设备来传播。一旦U盘被感染,病毒软件本身就在后来使用被感染驱动器的计算机上运行;使用者只要在视窗上点击相关图形,便开始被感染。这是Stuxnet利用其中一个零日漏洞的直接应用。
被Stuxnet证明是错误的另外一个关键安全假设,是数字签名证书设立的信任关系。为了提供更大的稳定性,当代操作系统,包括微软视窗,限制计算机的程序访问系统部件。一个正常的程序要求系统经由驱动软件呼叫硬件。鉴于这种情况,驱动软件比其他程序具更高权限访问低层级系统部件。为了避免轻易产生恶意驱动软件,微软视窗依赖数字签名证书识别。Stuxnet为了防止被杀毒软件发现,使用了合法的数字签名证书。这是此前没有发现的Stuxnet的另外一个方面。早期的 Stuxnet版本使用瑞昱(Realtek)半导体系统公司提供的证书,后来的版本使用智微(JMicron)科技公司的证书。使用这些证书使病毒在微软视窗面前呈现合法软件的假象。ESET的安全专家注意到,两家公司都在台湾地区,因此怀疑这些证书系被盗窃。此外,他们相信,这极可能是实物盗窃(甚至可能是内贼所为),因为在互联网的黑市上驱动软件的数字证书并不常见。
Stuxnet对未来的影响
Stuxnet 具有很大的意义——这是一种新一代恶意软件,攻破了现有安全假设中的缺陷,能对互联网外的工业系统造成损害。作为比较,让我们看看另外两个攻击事件。第一,俄罗斯 2008 年对格鲁吉亚的网空攻击,主要使用了僵尸网络病毒和发动激进黑客,针对格鲁吉亚互联网的基础设施发动拒绝服务攻击。这些攻击主要是在俄罗斯发动常规军事行动期间,导致格鲁吉亚暂时丧失互联网的连接。虽然这种攻击方式当时在安全界众所周知,由于其规模,以及与常规军事行动同时发生,仍然具有重要意义。但是,对格鲁吉亚的这些攻击是针对计算机的基础设施——而不是 SCADA。在很多方面,那些攻击属于典型的计算机网络攻击(computer network attack - CNA),目的是降低计算机网络的效能。
在更近发生的称为 Arora(奥罗拉)的网空行动中,中国的黑客在2009年12月设法进入谷歌的公司网络,窃取了电子邮件帐户,甚至可能计算机源代码等信息。Arora 利用了微软 IE 浏览器的零日漏洞——利用个人用户每天使用的通用应用软件。这种特别的网空攻击属于典型的计算机网络利用(computer network exploitation - CNE), 黑客的目的是从攻击目标中窃取信息。
Stuxnet在几个方面与这两个案例不同。对格鲁吉亚和谷歌的这两次攻击,是针对直接或间接与互联网相连的计算机网络。在其中任一攻击中,与网络没有连接的系统将不会受到损害。但是 Stuxnet则不然,这种先进的病毒具有弥合“气隙”的能力。负责隔离系统安全的网络管理人员面对一种有趣的窘境:为了确保其系统能抵御最新的恶意软件,他们必须定期进行更新;但是这样做,又冒着传播感染的风险,例如用 U 盘或通过局域网进行更新,而Stuxnet能通过此二者传播。
另外一个关键不同是,在 Arora 和格鲁吉亚网空攻击行动中的目标都是其他的计算机。而Stuxnet对信息系统造成的损害则微乎其微,它的目的是破坏实物世界的一件设备。伊朗人的承认告诉我们,Stuxnet成功地影响了一个非虚拟实体。这是武器研制的一项重大进展——在计算机打开后才存在的一个软件能成功地对真实世界造成破坏。 Stuxnet清楚地展示,网空武器在军事行动中能发挥重要作用,而先前的观点是,这种软件充其量仅能构成“大规模烦恼武器”。
能对真实世界设备造成影响的恶意软件意味着什么呢? 有很多问题亟待回答。参议院在Stuxnet发生后举行的听证会上,探讨了美国如何能更好地保护其关键的基础设施免遭类似的攻击。但是,这只是谜团的一部分,还有很多政策问题——其中有些在整体意义上和网空战争相关——现在显得越发重要。我们如何判定这类攻击的来源? 我们如何应对政府外团体对 SCADA 基础设施的网络攻击? 陆地战争法则如何适用于对真实世界造成损害的网空武器?
还有一些作战层次和技术层次问题也必须获得回答。在网空战争领域,对技术的和作战问题的思考常常交织在一起。例如,我们如何能更好地辨识零日漏洞(零日漏洞在定义上就是未知的漏洞)? 我们如何找到诸如Stuxnet等蓄意不被发觉的恶意软件? 我们所做的安全假设中还有哪些可能被推翻? 我们如何模拟一个未知的网空威胁?
诸如Stuxnet的网空武器将会扩散吗? 一些安全专家预计,像Stuxnet一样的变异病毒在2011年会更加普遍。已有报道说,中国的工业设备受到了非Stuxnet的网络攻击。值得注意的是,赛门铁克、卡巴斯基实验室、ESET和兰格通信公司提供的免费分析,既可用于病毒防御,也能启发人们从中获得制造Stuxnet之类病毒的灵感。
网空战争具有快速变化的性质。政府、企业、学术界和黑客界都有充满激情的个人和团队坚持关注和分析各自系统中的最新漏洞。但是,Stuxnet无论是作为一款先进软件,还是以其取得的成果,都代表了一种明显的飞跃。它揭示出我们的安全假设靠不住,需要进行多层次的重新审视;但最重要的或许是,它展示了软件也能用成为决定性的武器系统。
* * *
保罗·沙卡良博士,美国陆军少校(Maj Paulo Shakarian, U.S. Army),西点军校电气工程与计算机科学系助理教授。他持有西点军校专修信息保障的计算机科学理学士、马里兰大学计算机科学理科硕士、博士学位。他在多种学术和专业刊物就网空作战、计算机科学及人工智能等课题发表过多篇论文。
http://liuqiankktt.blog.163.com/blog/static/1212642112013231113532345/
网友评论 2013-05-28 19:36
顶下~~~~
LOL 罗辑思维 全国人大代表 真三搞笑视频 柳岩
Copyright © 2012年2月8日