武器化可编程逻辑控制器感染工程工作站

admin 2022年8月24日01:40:37评论26 views字数 2987阅读9分57秒阅读模式

武器化可编程逻辑控制器感染工程工作站

无论是制造业还是关键基础设施,针对工业设施的大多数攻击场景,都集中在入侵可编程逻辑控制器(PLC)上,希望借此篡改其控制和自动化的物理过程。要在PLC上运行恶意代码,方法之一是入侵工程师用来管理和部署程序的工作站,但这种方法是双向的:被劫持的PLC也可用于入侵工程工作站,打开通往强大横向移动攻击的大门。

上周末发布的一篇论文中,工业控制系统(ICS)网络安全公司Claroty的研究人员描述了名为“邪恶PLC攻击”(Evil PLC Attack)的概念验证,涉及的工程软件出自七家ICS制造商:罗克韦尔自动化、施耐德电气、通用电气、贝加莱工业自动化、信捷电气、OVARRO和艾默生。

“此类攻击针对每天在工业网络上工作的工程师,他们对PLC进行配置和故障排除,从而确保公用事业、电力、供水及废水处理、重工业、制造业和汽车等关键行业的流程安全可靠。”研究人员说。

从恶意字节码到恶意元数据

PLC本质上是一种嵌入式计算机,可以控制机械、物理过程或生产线。PLC有自己的CPU,运行实时操作系统(RTOS),并具有供应商修改和字节码解释器。通过连接PLC的计算机,工程师使用专门的工程软件监测和编程PLC,此类工程软件可以编写逻辑代码,将之编译为PLC解释器能够理解的格式并加以部署。

除了编译好的字节码(亦称梯形逻辑),PLC还存有已开发项目的完整副本,包含程序名称和符号、硬件及网络的配置文件、内存映射、输入输出设置、变量声明、参数和工程师开发的源代码等元数据。从技术上讲,PLC不需要所有这些附加信息即可正常运行,但这些信息就存储在那里,连接PLC的其他任何工程师都可以获得其上运行项目的完整副本,从而可以调试或更改之。

这意味着工程软件不仅向PLC发送数据,还从PLC读取大量数据并加以解析。解析不同格式的数据一直是许多内存漏洞的根源,这种情况也不例外。事实上,研究人员认为,这种专有软件设计之初并未考虑到其连接的PLC及其上所存数据是否可以完全信任,因而缺乏现代桌面应用程序所具备的许多数据解析安全检查。

但由于每家供应商都用自己的专有通信协议从其PLC读写数据,而且项目文件也采用不同打包格式存储(其中一些也是专有格式),想找到其中漏洞也不是那么容易。研究人员不得不逆向工程每个所分析工程软件的协议和文件格式,从而了解攻击者要攻击PLC连接的工作站需要修改PLC上的什么东西,以及如何修改。

最终,在以下软件中发现了漏洞:

  • TwinSoft:OVARRO TBOX平台所用工程软件

  • Automation Studio:用于贝加莱(ABB)X20 System

  • EcoStruxure Control Expert(Unity Pro):用于施耐德电气Modicon PLC

  • ToolBoxST:用于通用电气MarkVIe平台

  • Connected Components Workbench(CCW):用于罗克韦尔自动化Micro Control Systems PLC

  • PAC Machine Edition:用于艾默生PACsystems

  • XD PLC编程工具:用于信捷电气XDPPro

漏洞类型涵盖路径遍历、堆溢出、不安全反序列化等,所有这些漏洞都可导致攻击者能在工程机器上执行任意代码。

“对于每个目标/平台,我们试图通过对固件和工程工作站软件进行逆向工程来了解整个下载/上传机制。”研究人员在论文中写道,“我们的目标是找出PLC所用数据与工程工作站所用数据之间的差异。一旦找到这种差异,我们就可以通过恶意下载程序武器化PLC,在其上存储不会影响PLC的特制数据,但这些特别构造的数据在被工程平台解析时,会触发漏洞并加以利用。”

横向移动是最大的风险

此类攻击最明显的目标是在企业OT(运营技术)网络内横向移动,从而实现长期驻留。攻击者可以入侵未与企业通用IT网络隔离的工程工作站,甚或买通内部人在其上植入恶意软件。

例如,用于摧毁伊朗纳坦兹核电站内铀浓缩离心机的震网(Stuxnet)蠕虫,据说就是由一名作为第三方公司机械师在那儿上班的内部人员部署的。一旦部署到内部的机器上,震网蠕虫就会通过一系列零日漏洞利用和高级技术染指控制离心机的PLC。

并非所有攻击者都能拿到Windows零日漏洞利用来构建震网这样的隐秘而复杂的恶意软件,因此一旦设法感染了一个工作站,他们可能需要另一种方式在网络上扩散,或者,给PLC上的项目文件投毒也是做这事儿的一种方法。

由于很多PLC都通过各种远程管理接口连接互联网,攻击者也可以远程入侵PLC。用Shodan联网设备搜索引擎一搜,就能搜出成千上万的联网SCADA和PLC设备。2020年4月,攻击者成功远程访问了以色列水处理控制系统。2021年,美国佛罗里达州奥尔兹马水处理设施遭遇类似的攻击。

“我们的研究表明,攻击者可将面向互联网的PLC用作渗透整个OT网络的支点。”Claroty研究人员表示,“除了简单地连接暴露的PLC并篡改逻辑,攻击者还可以武器化这些PLC并故意引发故障,将工程师引诱过来。为了诊断故障,工程师会执行上传程序,而这个上传程序就会侵入他们的机器。于是,攻击者就在OT网络上站稳了脚跟。”

通过Evil PLC Attack实现的横向移动甚至可以跨越不同公司,因为许多公司依赖第三方系统集成商或承包商来管理其PLC,尤其是远程部署的那些PLC。如果攻击者入侵了不安全位置上的此类PLC,并且知道该PLC由系统集成商或承包商提供服务,那他们就可以在PLC上触发故障,引诱外派工程师前来处理,然后入侵工程师的计算机。事后该工程师很有可能接入其他公司的OT网络,散播其计算机上感染的恶意攻击载荷。

另一方面,研究人员或公司也可以设置蜜罐之类的场景,故意在互联网上暴露出武器化的PLC,运用同样的攻击方法诱出潜在攻击者。由于攻击者必须使用同样的工程软件与PLC交互,他们的自己的机器也可能暴露出来。

Claroty研究人员称:“这种方法可用于在枚举早期阶段检测攻击,还可以阻止攻击者盯上面向互联网的PLC,因为攻击者需要保护自己免遭欲攻击目标反杀。”

缓解Evil PLC Attack

Claroty研究人员发现的所有漏洞都已呈报给受影响的制造商,补丁或漏洞缓解说明也已公布。但是,在OT网络中部署补丁可能是一个缓慢的过程。研究人员建议公司尽量部署客户端身份验证机制,令PLC能够验证每个接入工程工作站的身份,并只接受来自特定系统的连接。

网络分隔也非常重要,有必要隔离网络上不需要交互的不同部分。在PLC和工程工作站之间启用流量加密和公钥身份验证(如可行),以及实施常规网络流量监测查找可疑连接,同样不失为一种很好的做法。

Team82白皮书《Evil PLC Attack:武器化PLC》:

https://claroty.com/team82/research/white-papers/evil-plc-attack-weaponizing-plcs

参考阅读:

数学和数据科学:入侵检测的新型秘密武器

这个网络空间战场上的“核武器”,又被捕获了一个

开源软件漏洞统计:2019年近千漏洞披露 15个武器化



原文来源:数世咨询
“投稿联系方式:孙中豪 010-82992251   [email protected]
武器化可编程逻辑控制器感染工程工作站

原文始发于微信公众号(关键基础设施安全应急响应中心):武器化可编程逻辑控制器感染工程工作站

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月24日01:40:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   武器化可编程逻辑控制器感染工程工作站http://cn-sec.com/archives/1250294.html

发表评论

匿名网友 填写信息