近日,来自几大供应商的PLC可编程逻辑控制器被曝存在漏洞,攻击者可利用漏洞执行任意代码。ICS领域的安全公司CRITIFENCE对这些漏洞发出了预警。这些漏洞与Modbus通讯协议有关,一般是工业设备连接会用到的。存在漏洞的产品来自多个企业,包括:Schneider Electric、GE和Alley-Bradley等。其中,影响Schneider的漏洞为CVE-2017-6034/6032。目前,越来越多的工业设备直接与互联网相联,如果带有以上漏洞的工控设备链接到互联网上,将给企业和社会带来巨大危害。
据360对工业系统公网暴露数据统计,目前有14173台基于Modbus的设备直接与互联网链接,其中施耐德控制系统有1776台。由于某些历史原因,某些工业设备的特定工业协议在设计和实现时,没有充分考虑安全因素,甚至存在严重漏洞,导致设备联接互联网过程中存在很大安全隐患。其中,基于Modbus协议的工控设备就是典型的一种风险场景。研究发现,恶意攻击者可以基于Modbus协议,对工业控制设备进行基于指令的操作,包括打开或关闭阀门,读写线圈数据,启动或停止PLC,甚至可以更改控制逻辑,下载梯形图等危险操作。
1攻击场景分析Modbus是典型的工业应答协议,报文格式较为简单,具体格式如下所示:
其中,部分功能码是协议强制要求规定的,部分功能码允许不同厂商进行自定义实现。工控网络中,Modus协议通信的典型场景如下所示:
通过分析协议应用场景,可以看出,攻击者可访问OT网络,拦截发往目标PLC的Modbus流量,一旦获取明文传输的sesseion key,攻击者就能发送请求增加任意命令。即攻击者可以通过简单地发送不同功能码的报文,就可以达到恶意操作设备的目的。
2修复建议针对存在的上述安全问题,360企业安全提出如下修复建议:
针对工控厂商,建议在实现Modbus协议时,增加时间戳和会话机制,防止攻击者通过简单协议重放达到不可预期的目的。或者,在建立Modbus通信之前,实现基于身份的验证机制。
针对工控设备的使用者,建议只在局域网使用工控设备,不直接将其连接互联网;或者与工控厂商确认风险后,升级设备固件版本;如必须连接到互联网立刻采取必要的防护措施;
3监测及防护针对目前工控设备普遍存在安全性较差的问题,360企业安全提出如下安全建议:
严格控制工控设备的内网防护,尽可能避免将工控设备直接与互联网相联,定期检查是否有工控设备暴露在互联网上。
在有条件的情况下,可以在工控设备前连接360工业安全网关,并部署白名单策略,确保只有合法的IP/MAC地址,以及合法的工控流量可以与控制器进行通信。
在工程师站和操作员站,可以部署360工控主机防护,基于进程白名单的主机防护机制,阻止任何为被授权的程序运行,如:病毒、木马、蠕虫等。
在工业网络中,可增加360工业安全审计,及时发现内网中的异常流量实时审计报警。
有条件的企业可以在网络出口处、办公网与工业网络边界处、工业网络核心交换处,部署360工控安全运营平台对企业办公网和工业网络的全流量和设备日志进行采集、分析、快速地对攻击事件和可疑网络访问行为进行溯源、分析,发现针对企业的已知攻击和APT攻击,同时掌握企业网络安全全貌。