自动化工程师需要认真对待“震网”病毒,要从中吸取经验。“震网”不仅是一种IT中的蠕虫,还是一种攻击制造流程的成熟武器。“震网”使用编程软件下载自己的编码至PLC系统。
从不同的信源和观点,对“震网”的话题已经有很多报道。但仍有很多误解和要吸取的经验。此文的目的是对工业控制系统(ICS)提出一些观点和建议,为信息安全的从业者和标准组织提供参考。
背景
在“震网”之前,任何网络攻击(有目的或无目的)被认为能够由IT信息安全技术发现,诸如防火墙或侵入检测系统,纵深防御能够防止对物理过程的危害。然而,过去控制系统的网络事故(恶意的和无意的)已经显示:很多ICS网络事故是不容易检测到的,并且能够造成物理损坏,甚至已经有了纵深防御的设计。美国能源部(DOE)和家园安保部门(DHS)-一直在资助开发ICS的侵入检测系统(IDS)/侵入预防系统(IPS)技术和加固监督控制和数据采集(SCADA)系统。注意使用SCADA这个术语是重要的,因为这些新技术还没有实施到很多老式的非SCADA设备上,诸如可编程逻辑控制器(PLC),电子驱动器,过程传感器和其他现场设备。另一个假定是:在正在开发的标准中,诸如IEC62443(ISA99)和北美电气可靠性公司(NERC)的关键基础架构保护(CIP)标准,针对ICS的攻击已经足够全面,包括一些非常棘手的攻击。这些假设抵抗诸如“震网”还不够充分,需要对ICS的信息安全情况进行一次详细的重新评估。
我们认为无论是谁开发了“震网”-我们不相信制造“震网”的人非常清楚目的-愿意花费相当大的资源(人力和财力)去开发蠕虫进行攻击。他们不想被认出,至少在早期阶段,针对特定的目标采用外科手术式的方法。我们不认为仿冒者会重复这种做法,也不会对发现而不在乎。为了保护关键基础设施,要采取了严厉措施,防止相似的漏洞受到类似的攻击。
“震网”历史
“震网”第一次网络攻击是针对ICS设备的说法尚有争论。“震网”直到2010年的6月中才被人们发现,当它被调查人使用VirusBlockAda识别后,一家位于白俄罗斯明斯克的信息安全供应商。(VirusBlockAda监视什么系统或谁是客户尚不清楚)。
这个蠕虫非常著名,不仅是它的技术复杂度,而是因为它针对ICS而设计,运行在电厂,包括核电站、智能电网、水处理、海上油井平台、舰船和其他关键性基础设施,甚至针对伊朗的核设施。具有讽刺意味的是,DOE有一个对等的研发部门在“震网”披露的那一周进行了审核,没有一个DOE研发项目知道它的存在。
赛门铁克公司(Symantec)的研究人员确认了一个在2009年的6月制造的早期蠕虫版本,这个恶意软件在2010年1月变得更为复杂。这个早期 “震网”版本的行为同当前的化身相同-它与西门子的PLC连接-但它没有使用新版蠕虫引人注目的技术,在安装到Windows系统后能够躲避反病毒检测。这些特性刚刚加到最新的蠕虫版本中,在几个月之前首次被检测到,卡巴斯基实验室(Kaspersky Lab)的人员说道:“毫无疑问,它是我们到目前为止看到的最复杂精密的目标攻击”。
在“震网”制造出来以后,它的作者增加了新功能,允许它在USB设备之间扩散,事实上不需要受害者的任何操作。该恶意件还能够获取芯片公司瑞昱(Realtek)和智微(JMicron)的密钥和数字签名,所以反病毒扫描器检测到它的困难更大。瑞昱和智微在台湾的新竹科技园办公室和卡巴斯基实验室研究工程师舒文伯格(Schouwenberg)相信有人可能已经偷盗了两个公司的网络访问计算机密钥。这样就使“震网”击败了两因数的鉴权。
“震网”利用微软产品当时四个著名的“0天”漏洞。0天事件(或0天病毒或0天感染)在计算机和因特网术语里本质上一个病毒或一些恶意代码,因为新,所以反病毒和反间谍软件还没来得及更新,可能检测不到它的存在。
[DividePage:NextPage]
“震网”比谷歌攻击(Google attack)更有技术含量,舒文伯格说。“极光(Aurora)具有0天,但它针对的是IE版本6,”他说。“这里你有一个漏洞,它会对Windows2000之前的所有版本都有效。”回想那时,微软不再支持Windows2000和其他老版本,而大多数ICS应用仍在使用。
虽然这个蠕虫的第一个版本写于2009年6月,这个版本是否用于了现实世界攻击还不清楚。舒文伯格说他相信第一次攻击可能早在2009年7月就发生了。第一个确认攻击的赛门铁克公司的信息安全技术副总裁认为这个日期是2010年1月。多数受感染的系统在伊朗,他说,虽然印度、印尼和巴基斯坦也受到了打击。因为它本身非常独特,副总裁说。“这是在20年里的第一次,我能记得伊朗展示的情况非常严重。”
很多人认为“震网”是一种数据泄漏问题。数据泄露涉及计算机系统信息的非授权隐蔽传送。然而,“震网”远不只数据泄漏-它是第一个针对PLC的根工具(rootkit)。根工具是一组程序和编码,是隐藏在计算机中的恶意软件。它是针对过程进行攻击的武器。它有使用编程软件的能力,把自己的编码加载到PLC中。另外,“震网”隐藏在这些编码块中,所以当编程人员使用感染设备试图观看PLC的所有代码块时,他们发现不了被“震网”感染的代码。因此,“震网”不仅是把自己隐藏在Windows系统中的根工具,还是第一个共所周知躲藏在PLC代码背后的根工具。特别地,“震网”钩住编程软件,这意味着当有人使用该软件观察PLC的代码块时,感染的块不会被发现,并且不能被重写。“震网”包含70种加密的代码块,出现的形式是替换一些基础的日常程序。在这些块下载到PLC之前,它们要根据PLC类型进行定制。有报告称:有大于100,000台的机器受到“震网”的影响。然而,“震网”是一种多维度的攻击。可见的面貌是数据泄漏,这不影响PLC;影响PLC的真正嘴脸确看不见。基于拉尔夫兰那在应用控制解决方案2010研讨会的介绍,病毒的作用只在满足了特定的条件后才会爆发。因此,还不清楚究竟有多少机器实际被这种“武器”所感染。
“震网”能够使用MS08-067漏洞,同样是Downadup(也称作Conficker)蠕虫用于传播的漏洞。MS08-067是一种致命的漏洞,存在于Windows 2008/Vista/2003/XP/2000服务器的服务中,它使感染计算机能被黑客远程控制,与登录的用户有着相同的权限。如果这个用户具有管理员的权限,黑客能够接管系统的全部控制。“震网”出现的时间与Conficker蠕虫相同。“震网”能够使用 Conficker蠕虫传播它自己。“震网”还要回溯到2009年6月,那时Conficker蠕虫首次被认定。那也是北美电气可靠性公司(NERC)对Conficker蠕虫发布的日期,因为电厂发现了这个情况。我们最近收到的一封电子邮件,一家主要的石油公司在他们的控制系统发现了Conficker-由一个U盘带入系统。令人惊奇!一个最重要的问题是一个复杂的ICS网络攻击不能由ICS人员来识别。因此,ICS人员需要与IT研究人员组成团队,比如像来自赛门铁克和卡巴斯基的人员。
注意在7月披露之后不久,微软发布了一个补丁,用于Windows的漏洞(LNK),“震网”利用它进行系统到系统的传播(微软LNK漏洞技术分析简报(CVE-2010-2568))。另外,一些反病毒厂家提供了新的反病毒签名。然而,没有针对写入PLC固件恶意代码的解决方案。
“震网”的启示
无论有意还是无意,“震网”使用了在ICS 网络中出现的一系列常规弱点:
• “震网”使用闪存(U盘)从物理接口进入系统,然后使用Windows中的多处漏洞,获得对PLC固件的访问权限。通过攻击Windows接口,焦点在Windows,而不是对PLC攻击。另外,多数政府对工业初始的响应不直接针对ICS工程师。
• 工业不知道复杂的ICS网络攻击是什么样子,或哪种控制系统的独有属性被当作目标。一种复杂攻击,诸如“震网”,多数不能被ICS中的侵入检测系统和侵入保护系统(IDS/IPS)或ICS的信息安全研究人员所发现。能源部赞助资金开发IDS规则和签名的努力没有实施。
• DOE资助项目没有针对老版本Windows,而普遍用于ICS的多数系统是老系统,这是“震网”的攻击对象。DOE资助的集成安保系统不能发现它。工业需要理解ICS网络漏洞的独特性,不能使用典型的IT分析来发现。
• “震网”有6种传播途径,而现在仅有一个针对的补丁。因此,补丁管理应该有最好减小影响的方法,阻止攻击。
• DOE或DHS没有针对PLC而作工作,就像针对基于Windows的SCADA系统、分布式控制系统和归档数据库。因此,没有开发出特定的IDS/IPS签名。
• “震网”代码是模块化的,“震网”代码的很多部分可以应用于任何ICS厂家。所以每家ICS厂商都需要做好准备,预防“震网”的网络攻击,并且要准备现场遭受攻击后的恢复预案。
[DividePage:NextPage]
• 反病毒解决方案可能不一定成功。直到实际的攻击被破解之后,IT类型的解决方案可能提供了一种安保的错觉,并且影响ICS设备的性能。
• 发现这种蠕虫要花费资深IT安保研究人员的很大精力,还要花费有经验的ICS人员去理解这个机理。需要建立一支由IT安保研究人员、ICS专家、威胁分析师和法律专家的团队,应对这些复杂的攻击。
• 可能与以前的网络病毒爆发(如Conficker)有很多联系。联系这些点和重新检查以前ICS网络事故,来考虑“新”攻击是非常重要的。
• “震网”蠕虫代表一种不同的相互依存-ICS厂商与用户。在这种情况下,西门子PLC的感染可能影响多个工业领域,每种情况都有其依存性。需要理解这种依存性。
• NERC CIP流程还不足以应对诸如“震网”这样的事件,特别在运行(变电站或工厂)环境。
• “震网”对智能电网的关键方面提出了危险提示-依靠密钥管理。智能电网网络安保的缓解方法需要重新检查。
其他问题
华盛顿邮报刊登了一名高级防卫部门官员在外交事务杂志上写的报告,透露在2008年,由一个加载到在中东美国军方笔记本的U盘进行传播,对美国政府(军方)计算机和网络的一次攻击。“那个代码传播在机密和非机密的系统上都检测不到,建立了相当于数字的滩头阵地,从这里出发,由外国人控制把数据转移到多台服务器。”他在文章中说道。听上去非常像“震网”,不是吗?
对于法规问题,NERC CIP标准有效但把“震网”排除在外,就像传递工具是闪存盘, 不是一个可路由的协议。“震网”使用危及安全的密匙。因为智能电网将依靠密钥管理,这对智能电网意味着什么?此外,PLC的使用遍及智能电网的各处,包括可再生能源等。
在2010年9月2日,美国计算机网紧急响应组(CERT)发布一个对“震网”更新的咨询报告(ICSA -10-238-01A –“震网”恶意件缓解)。然而,咨询报告没有讨论如何删除在PLC级别的感染,甚至没有告诉怎样识别和发现它。
对于“震网”我们可以做什么还是个问题,因为现在不可能指认哪个控制器被“感染了”。 因为这是一个工程攻击,工厂和变电站工程设计和计划组织部门需要围绕这类攻击进行工作,因为从网络的观点这是无法工作的。安全、保护和控制在同一个网络上融合使得攻击诸如“震网”会造成破坏性的结果。
建议:
• 根据IEC62443(ISA S99)、NERC CIP、核管制委员会(NRC)管制指南5-71和核能研究所(NEI)08-09,执行一次详细的漏洞分析。
• 建立和执行ICS网络安保策略和程序。
• 理解你的ICS中实际上有什么。
• 针对不同的ICS应用恰当的技术。
• 有工程和计划组织部门评估“震网”攻击的潜在影响。
• 要准备备份方案,因为ICS可被有意或无意的网络事故所影响。
• ICS网络安保研究需要包括ICS现场设备,它们通常没有安保功能,但可能遭受最糟的后果。
结论
• “震网”是一种对物理过程的攻击,这意味着它不是“可补丁的”。
• 对ICS为目标的复杂网络攻击,ICS人员几乎没机会能检测它。
• IT恶意件的研究人员有最佳的机会去发现它。ICS人员需要与他们合作。
• 对于“震网”,ICS人员需要理解怎样检测感染,知道是否可以信任控制系统。
• 不要固定在西门子的设备上,这可能发生在任何的ICS上。
• 当你的系统受影响时,马上启动备份方案。
(转载)