工业控制系统
协议相关的安全问题为了增强工控系统的整体安全性
,有必要改善工业控制系统协议的安全特征。对协议进 行基本的分析将有助于暴露协议中存在的安全问题,进而能够指导安全机制的开发,并最终 合并到协议描述中。当前的工控协议基本都有已经完成的国际标准,且有行业和专业组织管理。向这些已经建立的标准中合并变化不仅过程耗时,而且基本上都会遭受因管理组织不愿 改变成文标准而引起延迟。在合并任何新的安全特征到标准之前,理解安全问题将使得将变 更合并进标准需要的复审次数更少。另外,理解协议相关的安全问题还将有助于 IDS/IPS 规 则的开发。为每一个潜在的利用开发攻击签名是可能的,且工控网络管理
员将发现这些签名 对于监控其网络的安全是非常有用的。分析任何协议时,区分安全问题的种类是非常有用的:一类是协议自身的设计和描述引 起的,另一类是协议的不正确实现引起的。发现协议设计和描述中的安全问题较协议实现中 的安全问题可能要容易的多,也可能要难得多,但修复源于不正确的协议实现的安全问题相 对要容易一些。虽然两种类型的安全问题都需要解决以改善网络的整体安全性,但本节仅关 注协议自身设计和描述引起的安全问题,关于协议实现所引起的安全问题可参考 3.3 节。
绝大多数工控协议在设计之初,仅关注于效率以支持经济需求、关注于实时性以支持精 确需求、关注于可靠性以支持操作需求,并且通常在专用计算机和私有的操作系统上实现。 不幸的是,绝大多数工控协议会为了这些需求而放弃一些并不是绝对必需的特征或功能。更 不幸的是,诸如认证、授权和加密等需要附加开销的安全特征和功能也包括在内。再进一步
让事情复杂的是,目前很多工控协议已经演化或扩展为在通用计算机和通用操作系统上实现, 并运行在以太网(甚至互联网)之上以满足商业发展需要,潜在地将这些有漏洞的协议暴露 给攻击者。本文将与工控协议相关的安全问题分为两类:一类是工控协议自身特点所造成的 固有安全问题;另一类是演化到基于通用计算机、通用操作系统和 TCP/IP后继承的安全问题。
1. 固有的问题
目前广泛使用的工控协议在设计之初,大多定位使用于与其它计算机网络隔离的工业控 制网络,因此安全不是一个重要的功能需求,并且目前也没有任何合并安全特征到这些协议 的尝试。除了缺乏必要的安全防护机制外,工控协议的另一个特点是针对其的攻击主要集中 在应用层数据。
下面,我们对这几种典型的工控协议中出现的安全问题进行分析,提供一些针对可能威 胁的反制措施,并简单列举一些应该引起 IDS/IPS 开发人员高度关注的异常行为。限于篇幅, 本文仅就 MODBUS、PROFIBUS、DNP3、ICCP 这 4 种协议进行详细分析。
MODBUS 中存在的主要安全问题的根源在于缺乏认证、授权和加密等安全防护机制。与 MODBUS 协议相关的几个典型的安全问题如
表格 3 所示:
表格 3 与 MODBUS 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 仅需要使用一个合法的 Modbus 地址和合法的功能码即可以建立一个 Modbus
会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
MODBUS 相对其它工控协议来说最为简单,因此针对 MODBUS 协议的安全建议除了增 加必要的认证、授权和加密功能外,也可以考虑使用白环境。
针对 MODBUS 应用层数据分析结果显示:功能码滥用是导致 MODBUS 网络异常的一个 主要因素。需要引起 IDS/IPS 开发人员高度关注的 MODBUS 消息如表格 4 所示:
表格 4 MODBUS 协议典型异常行为
||序号** |||异常行为描述||
||1 |||强制从站进入只听模式(08-04) ||
||2 |||重启通讯会话(08-01) ||
||3 |||重置诊断信息(例如计数器或诊断寄存器等)(08-0A) ||
||4 |||请求从站标志信息(43-14) ||
||5 |||请求从站附加信息(17) ||
||6 |||不合法的报文长度(2 个字节表示长度),潜在拒绝服务攻击||
||7 |||非 Modbus 协议运行在 TCP 的 502 端口 ||
||