Industroyer:自震网病毒以来对工控系统的最大威胁

    xiaoxiao2021-07-18  194

    位于斯洛伐克反病毒厂商ESET和美国马里兰州工业网络安全企业Dragos Inc.的安全研究人员们表示,他们发现了一种对关键的工业控制系统存在威胁并能够导致停电的恶意程序。ESET该恶意软件命名为“Industroyer”,Dragos将该恶意软件命名为“Crashoverride”,将威胁攻击者称为“ELECTRUM”。安全研究人员们认为,这套被称为“Crashoverride”或者“Industroyer”的恶意程序框架正是去年12月导致乌克兰基辅北部地区停电数小时的罪魁祸首。

    截至本周一,现实世界当中仅出现过三例针对工业控制系统的恶意程序肆虐案例,分别为BlackEnergy(2015年12月被用于乌克兰电网攻击)、Havex(主要用于攻击欧洲境内组织)以及最为知名的美国政府开发之Stuxnet(即震网病毒,2010年被用于伊朗核设备攻击)。而Industroyer的出现为这一家族增添了新的成员。

    斯洛伐克反病毒厂商ESET公司研究员罗伯特·利普维斯基作为这一恶意程序的发现者,他表示这样的恶意程序拥有巨大的潜在影响能力,且绝不仅限于乌克兰。目前全球范围内各类关键性基础设施都有采用能够被该恶意程序所侵扰的工业硬件产品。

    此恶意程序的发现意义极为重大,因为其代表着有史以来第一个直接与电网硬件进行交互的已知恶意案例。

    Industroyer或与乌克兰电网攻击有关

    各国立法者们长久以来一直担心此类程序可能以远程方式破坏工业系统,因为其确实有能力通过互联网引发灾难性的后果。过去,黑客们通过攻击手段关闭电力供应的场景只局限于电影当中,但如今却开始逐渐成为现实。2010年研究人员们发现的Stuxnet震网病毒显然是希望凭借自身突破性的渗透能力引发离心机失控,进而破坏伊朗的核研究计划。而到2015年,网络攻击使得乌克兰国内超过20万民众失去电力供应。

    ESET公司

    ESET公司在报告中披露称,某台安装在乌克兰基辅的电力传输设备曾于2016年12月17日晚因恶意程序影响而发生服务中断。乌克兰官员此前简单宣称该事故属于网络攻击,但ESET报告中引用了来自美国马里兰州工业网络安全企业Dragos的分析结论,通过具体的技术细节说明了该恶意程序如何破坏断路器并通过批量删除数据的方式掩饰其攻击痕迹。

    ESET公司解释称,要编写出能够破坏全球各地负责电力网络运作之工业控制器的代码,要求攻击者一方拥有强大的技术实力——而这亦证明这批黑客确实精通此道,并拥有资源在实验室当中测试其恶意工具。

    要发动Industroyer攻击,恶意攻击者首先需要入侵一套基础设施,并以此为桥接点将病毒传入该系统。攻击者可以利用网络钓鱼邮件或者其它感染载体获得初步立足点并收集用户凭证。

    ESET研究员利普维斯基拒绝透露该恶意程序的幕后黑手,不过此前乌克兰方面官员已经断言此项入侵应由俄罗斯负责。乌克兰官员还没有对相关报道发布回复。

    安全公司Dragos

    Dragos的研究人员认为ELECTRUM APT组织与Sandworm APT组织有直接关系。

    Dragos在报告中指出,CRASHOVERRIDE恶意软件于2016年12月17日影响了乌克兰的变电站。这起攻击中的许多元素似乎更像是PoC。但从间谍情报技术的演变来看,最重要的是理解,这款恶意软件根据过去的攻击经验被整理和扩展。

    Dragos描述了这款恶意软件的理论攻击:即黑客使用Industroyer无限循环打开关闭的断路器,导致变电站断电。并且,由于命令无限循环,不断为该值设置地址,可以有效打开关闭的断路器。

    如果系统操作人员试图在HMI上发出关闭命令,则序列循环将继续打开断路器。保持断路器打开的循环将有效使变电站断电,阻止系统操作人员管理断路器并启动线路。因此,目标设施的操作人员无法将断路器从HMI关闭,为了恢复供电,他们需切断与变电站的通信,并手动修复问题。在另一起可能的攻击场景中,黑客启动无线循环,使断路器持续打开、关闭,这可能会触发保护,并导致变电站断电。

    Industroyer不利用任何“零日”漏洞进行攻击

    Industroyer是一款模块化恶意程序。其核心组件为一套后门程序,攻击者可利用其管理攻击活动:该后门负责安装并控制其它组件,同时接入远程服务器以接收指令以及向攻击者发送报告。

    之所以与其它针对基础设施的恶意软件有所区别,是因为Industroyer不会利用任何“零日”软件漏洞进行恶意攻击。 Industroyer的起效原理依赖于电源基础设施、运输控制系统和其他关键基础设施系统中使用的四种工业通信协议。此类通信协议在欧洲、中东以及亚洲的基础设施系统中皆得到普遍使用。

    Industroyer的设计目的在于直接获取配电站内开关及断路器设备之控制权。Industroyer可以控制几十年前设计的变电站开关和断路器,允许攻击者轻易地关闭配电,造成级联故障,甚至是对设备造成更严重的损坏。这对于负责供电设施的从业者来说,这无疑将带来噩梦般的情景。

    Industroyer的攻击场景

    Industroyer所利用的四种工业通信协议具体包括:IEC 60870-5-101、IEC 60870-5-104、IEC 61850以及OLE处理控制数据访问(简称OPC DA)。

    总体来讲,payload会首先对目标网络进行结构绘制,而后找到其中与特定工业控制设备相关的部分并发出命令。Industroyer的payload证明该恶意软件作者对于工业控制系统拥有深厚的知识积累与了解。

    通过一系列入侵,该模块化恶意程序还可用于对美国的基础设施硬件发动攻势。而该payload本身可影响到ABB集团以及西门子等世界领先工业技术开发商生产的多款产品。

    该恶意程序中还包含其它几项功能,旨在确保程序自身免受安全检测方案的发现,从而实现恶意程序持久性并在相关活动完成后清除能够证明自身存在的一切痕迹。

    举例来说,其与隐藏在Tor内的C&C服务器间的通信活动将仅限于非工作时间内进行。另外,其还采用另一套被伪装为记事本应用的后门,旨在重新获取对目标网络的访问,借此防止主后门遭到检测或禁用。

    另外,其清理器模块还能够擦除系统之内的关键性注册表项并覆盖相关文件,导致系统无法启动以提升恢复工作执行难度。更为有趣的是,其中的端口扫描器会绘制网络结构并尝试找到相关计算机,而此扫描器为攻击者自行开发的定制化工具——而未使用任何现有软件。最后,“拒绝服务”工具模块会利用西门子SIPROTEC设备当中的CVE-2015-5374安全漏洞并导致目标设备陷入无响应状态。

    总结

    Industroyer是一款高度定制化恶意程序。尽管其能够在通用状态下用于攻击使用某些常见通信协议的任意工业控制系统,但样本分析中发现的部分组件还被设计为针对一部分特定硬件。例如,清除器与其中一项payload部件专门用于攻击来自ABB集团的某些工业电力控制产品系统,而拒绝服务组件则专门针对变电站以及其它相关领域中所使用的西门子SIPROTEC设备。

    从原则上讲,在未进行现场调查的前提下,我们很难将攻击活动与具体恶意软件关联起来。然而就目前的情况看,2016年12月发生的乌克兰电网攻击事件很可能与Industroyer有关。这是因为该恶意软件除了确实拥有执行此类攻击的独特能力,其激活时间戳亦为2016年12月17日——与乌克兰停电事件的发生时间恰好相符。

    2016年乌克兰电网攻击事件所引发的各方关注度要低于一年之前的类似攻击。然而真正值得关注的是,此次攻击中所使用的Win32/Industroyer工具是一款非常先进的恶意程序,无疑出自水平极高且目标极为明确的攻击者之手。

    由于能够长久驻留在目标系统当中并根据有价值信息以对payload进行调试定制化配置,因此攻击者能够保证该恶意软件适应任何环境——这使得Industroyer变得异常危险。无论乌克兰电网遇袭事件是否由其为之,Industroyer的曝光都应引起世界各地关键性基础设施安全负责人的高度警惕。

    由于Industroyer并不属于蠕虫型病毒:其并不会自动传播或者瞬间从某一受感染系统传播到其它系统当中。换言之,根据目前掌握的相关证据来看,其无法轻松实现扩展。目前尚不清楚Industroyer已经影响到多少组织机构。

    本文转自d1net(转载)


    最新回复(0)