新闻动态

News information

罕见又危险的工控系统恶意软件丨针对关基设施攻击的INCONTROLLER防范策略

<<返回

2023年06月26日 08:00

01

INCONTROLLER背景介绍



INCONTROLLER(又名PIPEDREAM)是第七种已知的工业控制系统(ICS)专用恶意软件,专门为破坏工业控制系统而开发的恶意软件。PIPEDREAM可以影响多种PLC和工业软件,包括特定的欧姆龙和施耐德PLC,以及OPC-UA服务器。攻击者能够使用工业网络协议(例如OPC UA、Modbus、施耐德编程软件SoMachine使用的Codesys协议、欧姆龙Omron FINS协议)向ICS设备发送指令,PIPEDREAM的组件还提供了命令行界面,用于操作目标控制器和OPC-UA服务器,还可以控制Omron伺服电机的速度和扭矩进行破坏。


PIPEDREAM工具包含:TAGRUN、CODECALL、OMSHELL和Windows工具,其作用如下:


TAGRUN

用于攻击前的初步侦察,扫描枚举OPC服务器、读取OPC服务器的架构并记录OPC服务器上的数据标签值、暴力破解凭据并输出日志文件;它还会验证攻击目标中是否正在运行Windows操作系统,并根据此检查的返回值提供不同的ping命令。


CODECALL:

使用Modbus和Codesys协议与PLC进行交互、扫描和攻击,功能包括识别网络上的施耐德和支持Modbus协议的设备,通过modbus会话请求设备ID、定义转储或加载命令宏文件,通过Codeys暴力破解凭据、将文件下载/上传到PLC设备、检索文件/目录列表、删除文件、断开与PLC设备的会话连接、尝试DDoS攻击、使用特制的数据包使设备崩溃、如果设备网关IP存在于其他接口上则添加路由、发送自定义原始数据包。


OMSHELL:

通过HTTP、Telnet和Omron FINS协议与某些类型的Omron PLC进行交互和扫描,改变PLC的运行模式,擦除设备的程序内存并重置设备、激活设备上的远程登录守护程序、通过Telnet守护程序连接到设备,上传并选择性地执行任意有效负载文件或命令。


Windows工具:

DUSTTUNNEL命令控制隐藏隧道建立,远程植入脚本执行主机侦察和指挥控制;LAZYCARGO痕迹擦除工具,在Windows用户模式下执行可执行文件,删除并利用已知漏洞Windows内核驱动程序来加载未签名的rootkits驱动程序隐藏入侵痕迹。


02

作案手法



第一步:IT网络入侵

攻击者通过网络钓鱼或暴露的远程访问服务在企业办公网络中部署DUSTTUNNEL,使用DUSTTUNNEL的命令和控制功能,攻击者可以将Mimikatz等附加工具来收集凭证以访问合法帐户,并在企业办公网络中获得持久的立足点。此时,DUSTTUNNEL开始枚举网络来定位OT网络,然后使用捕获的凭证横向移动。同时,攻击者还会部署LAZYCARGO,安装一个rootkit来保护在办公网络中已建立的立足点。


第二步:OT网络枚举

DUSTTUNNEL可以让攻击者穿越到OT网络,或者在不同区域中跳转。

LAZYCARGO也可部署在操作员站/人机界面(HMI)上,以安装未签名的设备驱动程序来操纵HMI和现场设备之间发送的流量。


第三步:控制器攻击

一旦进入OT网络,攻击者就可以利用TAGRUN来识别和强力认证OPC-UA服务器。然后,列举OT网络上的设备并查看配置和有可能操纵和控制标签点,根据已确定的工厂基础设施,使用OMSHELL组件与PLC进行互动。


第四步:控制网络的进一步攻击

通过滥用施耐德电气控制器路由行为,向其他网段的设备进行移动,并使用Modbus协议进一步枚举和利用网络中的控制器。


第五步:达成目标

攻击者重新编程和禁用控制器以及其他机器自动化控制器的能力,然后来禁用或紧急关闭系统,破坏生产环境。


03

六方云防护策略



需求分析

1、攻击者在侦察跟踪阶段,会寻找驻足点,窃取Windows权限,所以应该做好Windows系统主机的安全防护,关闭所有Windows操作系统的Tenlet、HTTP服务。


2、通过作案工具分析,INCONTROLLER的TAGRUN组件主要用来扫描枚举OPC服务器,并执行ping命令,因此需要对网络中的流量进行监测,建立流量基线,关注ICMP和TCP SYN等请求数据包;OPC服务器用户名密码设置需要符合复杂度要求,防止身份凭证窃取,对与OPC服务的连接进行限制并记录OPC UA应用程序运行日志。


3、对Modbus/Codesys协议进行深度解析,建立协议通讯流量基线,对异常流量进行告警及阻断。


4、对下载/上传到PLC设备的文件进行检测,监测与PLC设备的会话连接,对DDoS攻击流量进行阻断,防止PLC设备的控制模式被更改。


5、禁止建立远程HTTP、Tenlet连接PLC设备,防止更改PLC的控制模式。


6、由于OPC UA协议可以采用任何单一端口(经管理员开放后)进行通信,通过访问控制列表进行端口控制,只允许有数据采集需求的客户端通过固定的端口进行数据传输,进行其他端口的连接。


解决方案

1、边界隔离:

通过部署工业防火墙或者工业网闸对IT和OT网络隔离,防止病毒通过企业办公网传输到工控环境中,可以通过配置访问控制策略只允许工业数据单向传输到办公网中,禁止其他未经允许的数据连接。禁用Ping命令,关闭HTTP、Telnet、FTP、Web、远程登录等功能,对于确实需要使用远程服务的业务应使用堡垒机进行身份认证与行为审核。


2、主机安全防护:

在Windows主机上安装主机白名单防护软件,禁止除正常应用程序之外的所有程序的运行。并记录主机运行系统配置、启动项、系统日志、软硬件等静态数据以及系统运行的账号登陆日志、驱动变更信息、进程信息、网络连接、文件读写、注册表读写、powerShell&cmd命令、DNS请求、端口监听等数据进行全面采集记录,形成主机运行基线,对一些非法行为进行告警。


3、纵深防御:

对生产网控制系统网络进行调研,合理的划分区域边界,在不同工艺流程边界部署工业防火墙,防止病毒在不同区域之间进行渗透。


4、OPC服务器防护:

在OPC服务端和客户端之间部署工业防火墙,开启访问控制策略,对OPC服务进行连接限制,同时对OPC UA协议的通讯端口进行固定,只允许可信的主机进行连接。


1.png


2.png


5、PLC设备防护:

在PLC前端部署工业防火墙,对通过HTTP协议访问PLC设备的连接进行限制或者记录连接会话,防止非法应用通过HTTP协议对PLC设备的工作模式进行更改。


3.png



对modbus协议、fins协议进行访问控制,只允许可信的上位机与控制设备进行通讯,禁止其他任何主机通过modbus、fins协议进行通信。


4.png


开启工业入侵防御策略,实时、主动拦截黑客攻击、蠕虫、网络病毒、后门木马、DDOS 等恶意流量。


5.png