震网病毒的秘密

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深度:震网病毒的秘密

引子:

看到litdg翻译的《震网的秘密兄弟(一)》,感觉有些地方跟我想象的不一样,所以在litdg兄的基础上就行了更新,我是搞工业自动化的,恰巧阴差阳错的跟信息安全有了些交集,所以以ICS(工业控制系统)的视角,来阐述我对原文的理解。

真正用来破坏伊朗核设施的震网病毒,其复杂程度超出了所有人的预料。

作为第一个被发现的网络攻击武器,震网病毒在被发现后三年来仍然困扰着军事战略家、信息安全专家、政治决策者和广大公众。围绕震网病毒的分析主要有:

(1)它是如何攻击位于Natanz的伊朗核设施的?

(2)它是如何隐藏自己的?

(3)它是如何违背开发者的期望并扩散到Natanz之外的?但是这些分析的主要内容要么是错误的要么是不完整的。

因为,震网病毒并不是一个而是一对。大家的注意力全都关注着震网病毒的“简单功能”,即该功能用来改变铀浓缩的离心机转速,而另外一个被忽视的功能是却是更加的复杂和隐秘的。这一“复杂功能”对于了解ICS (IndustrialControl System的简称)信息安全的人来说简直是梦魇,奇怪的是“复杂功能”竟然先于“简单功能”出现。“简单功能”在几年后才出现,不久即被发现。

随着伊朗的核计划成为世界舆论的中心,这有利于我们更清晰的了解通过程序来尝试破坏其核计划。震网病毒对于伊朗核计划的真实影响并不确定,因为到底有多少控制器真正的被感染,并不清楚,没有这方面的消息。但是不管怎样,通过深入的分析我们可以知道攻击者的意图、以及如何实现意图。我在过去的三年里对震网病毒进行分析,不但分析其计算机代码,还有被攻击工厂中采用的硬件设备以及核工厂的操作流程。我的发现如下全景图所示,它包含震网病毒的第一个不为人知的变种(“复杂功能”),这一变种需要我们重新评估其攻击。事实上这一变种要比公众所认知的网络武器危险的多。

今天,我们已经知道,拥有“复杂功能”的震网病毒包含一个payload,该payload可以严重的干扰位于Natanz的铀浓缩工厂中的离心机保护系统。

后来的震网病毒,被大家熟知的那个“简单功能”版,控制离心机的转速,通过提高其转速而起到破坏离心机的效果。老版本的震网病毒(“复杂功能”)其Payload采用了不同的策略,它用来破坏用于保护离心机的Safe 系统。

Safe系统通常部署在发生异常的条件下,可能导致设备毁坏或生命财产损失的地方。在Natanz,我们看见一个特殊的安全保护系统,通过它的部署可以使得过时且不可靠的离心机型号“IR-1”持续的运转。安全保护系统是伊朗核计划的关键组成部分,如果没有它,离心机IR-1几乎无用。

IR-1离心机是伊朗铀浓缩的根基。它可以追溯到从20世纪60年代末由欧洲设计,70年代初被窃取,并被巴基斯坦的核贩子A.Q.Khan稍稍改进。全金属设计的IR-1是可以稳定的运行的,前提是其零件的制造具有一定精度,并且关键组件例如高质量频率转换器和恒力矩驱动质量很高。但是伊朗人并未设法从过时的设计中获取更高的可靠性。因此他们不得不降级离心机的运行压力在Natanz工厂。较低的运行压力意味着对转子的机械压力变小,这样离心机转子损坏就会降低,从而减少了由于转子损坏而使得离心机离线的数量。但是较小的工作压力意味着较少的产出,因而效率较低。IR-1离心机在最佳情况下,只能达到其最高产能的一半。

这种不可靠和低效率的IR-1型离心机,对于伊朗来说有一个显而易见的有点,伊朗可以大规模的制造生产。伊朗通过数量来弥补不稳定性和低效率,他们能够接受在运行过程中一定数量的离心机损坏,因为他们制造离心机的速度比离心机损坏的速度要快多了。但是要想让所有的离心机工作,伊朗需要下一番功夫。通常,离心处理操作是一个严苛的工业流程,在流程运行过程中,它不可以存在任何的问题,甚至连小型设备的问题也不可以。伊朗建立了一套级联保护系统(译者:类似于Safe系统),它用来保证离心流程持续进行,即使离心机坏掉。

在离心机层,级联保护系统在每个离心机上安装了三个截止阀。通过关闭这些阀门,运行出故障的离心机可以从现有的系统上隔离出来。隔离后的离心机可以停机并被维护工程师替换,而工艺流程仍然正常运行。

上图是2008年,当时的总统艾哈迈迪.内贾德在Natanz的控制室观看SCADA的场景。面对摄影师的屏幕显示两个离心机已经被隔离,提示存在问题,但这并没有影响整个工艺流程的持续运行。(红色高亮显示的是有问题的离心机)

但是这种隔离阀的解决方案也导致了许多问题。当基于不可靠的离心机运行时,离心机会经常被关闭,当同组的离心机已经被隔离的情况下,维护工程师可能没有机会替换另一个刚刚毁坏的离心机(译者注:通常工业现场采用冗余,因此伊朗也很可能采用了离心机的冗余策略,即一个坏掉,可以马上切换到另外一个使其工作,问题他们

的离心机太脆弱,会出现两个都坏了的情况。)如果同一个组中的离心机都停机了,运行压力(使用离心机进行铀浓缩过程中非常敏感的参数)将会升高,从而导致各种各样的问题。

伊朗人发现了一个很有创造力的解决方案来处理这一问题,在每一个铀浓缩组里,都安装了一个排气阀门,当同一组中的多个离心机停机被隔离时,随着压力的升高,该排气阀门可以排气并降低压力。在每一个离心处理组中,压力有传感器检测,如果压力超过限值,排气阀门就会被打开,降低压力。

这一系统可以保证Natanz的离心机运转,但是这也让它陷入了可能被远程网络攻击的泥潭,有时候会让人怀疑涉及这个系统的人是不是头脑混乱。

Nataz的级联保护系统基于西门子的S7-417系列工业控制器,这些控制器用来操控每个离心机上的阀门和压力传感器,共6组164台离心机。控制器可以被理解成一个嵌入式计算机系统,它直接连接物理设备,例如阀门。震网病毒被设计用来感染这些控制器,然后以用户难以想象的方式取得控制权,这种情况从来没有在ICS相关的会议上讨论过。

感染了震网病毒的控制器从真实的物理层断开了,合法的控制逻辑变成了震网病毒想让他展现的样子(译者注:就是控制器不在控制具体的物理信号和物理设备,仅仅是对上层应用程序提供一个看上去它还在正常工作的假象而已。)在攻击序列执行前(大概每个月执行一次),病毒代码能够给操作员展示物理现场正确的数据。但是攻击执行时,一切都变了。

震网病毒变种的第一步是隐藏其踪迹,采用了来自好莱坞的策略。震网病毒以21秒为周期,记录级联保护系统的传感器数据,然后在攻击执行时以固定的循环重复着21秒钟的传感器数据。在控制室,一切看起来都正常(译者注:因为攻击执行时,被感染的控制器重复的向控制室的监控中心发送的是正常的21秒周期传感器数据,所以监控中心完全发现不了。),既包括操作员也包括报警系统。

然后震网病毒开始其真正的工作,它首先关闭位于前两组和最后两组离心处理的隔离阀。阻止了受影响的级联系统的气体流出,从而导致其他的离心机压力提升。压力的增加将导致更多的六氟化铀进入离心机,给转子更高的机械应力。最终,压力可能会导致气体六氟化铀固化,从而严重损害离心机。

相关文档
最新文档