Modbus协议广泛应用于工业通讯,随着互联网时代的来临,工控安全也得到高度重视。很多工业通讯协议从设计初仅考虑功能及效率,没有考虑到安全问题。Modbus协议也是如此,其主要存在的安全性问题有:缺乏身份认证、缺乏权限管理、缺乏加密、缺乏完整性检测。
- 缺乏身份认证:设备双方建立通讯,无需进行身份认证,造成只要知道端口就可以创建通讯连接。如Modbus TCP,只要知道从站的IP和端口,网段内任何一台终端都可以发起Modbus TCP通讯连接。这无疑给恶意攻击者提供一个入侵的通道。
- 缺乏权限管理:Modbus没有提供基于角色的访问控制机制,导致通讯连接后,任何人都可以执行任何功能,从而控制设备。
- 缺乏加密:modbus协议报文采用明文机制,报文被截取后,可被阅读,或直接篡改后发送给设备,达到控制设备的目的。
- 缺乏完整性检测:攻击者可以通过伪造一个超长的报文、请求不存在的功能、请求不存在的数据导致响应异常,这样频繁的攻击将导致Modbus从站拒绝服务,导致设备失控。
鉴于以上的安全性问题,本文提出以下解决方案。
1. 工控网络与其他网络之间采用网闸、防火墙等安全设备进行物理隔离,切断恶意攻击者从外部网路入侵工控网的通道。
2. 安全审计:在工控网络上部署安全审计系统,对Modbus协议数据进行分析,记录操作的时间和操作行为等关键信息,形成审计日志记录,从而提供安全事件的可追溯性。
3. 网络安全设备:在Modbus主从设备间部署具备协议深度分析功能的网络安全设备,实现以下功能:
- 授权特定的MAC地址、IP地址的报文通过
- 通过报文规则设置,限制报文长度、限制请求功能、限制请求数据的地址及长度、设置数据值的范围。