工业控制系统

协议相关的安全问题为了增强工控系统的整体安全性
,有必要改善工业控制系统协议的安全特征。对协议进 行基本的分析将有助于暴露协议中存在的安全问题,进而能够指导安全机制的开发,并最终 合并到协议描述中。当前的工控协议基本都有已经完成的国际标准,且有行业和专业组织管理。向这些已经建立的标准中合并变化不仅过程耗时,而且基本上都会遭受因管理组织不愿 改变成文标准而引起延迟。在合并任何新的安全特征到标准之前,理解安全问题将使得将变 更合并进标准需要的复审次数更少。另外,理解协议相关的安全问题还将有助于 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 端口 ||
||8 |||从设备忙异常代码延迟(异常码 06),潜在拒绝服务攻击||
||9 |||确认异常代码延迟(异常码 05),潜在拒绝服务攻击||
||10 |||不正确的报文长度(最大 253),潜在拒绝服务攻击||
||11 |||配置扫描(例如定义的点列及其值)(30 秒内 5 个异常码 02) ||
||12 |||可用功能码扫描(60 秒内 3 个异常码 01) ||
||13 |||修改分隔符(08-03) ||
||14 |||周期较短(实际阈值待定)的无意义命令,暴力拒绝服务||
||15 |||广播性质的报文或一个主站向多个从站的请求||
||16 |||包含在异常协议数据单元中的信息||
与 MODBUS 协议一样,PROFIBUS 协议起初也被设计用于与其它计算机网络网络隔离 的工业控制网络,未提供基本的安全防护机制。与 PROFIBUS 协议相关的几个典型的安全问 题如表格 5 所示:
表格 5 与 PROFIBUS 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 仅需要使用一个合法的 PROFIBUS 地址和合法的功能码即可以建立一个
PROFIBUS 会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
协议复杂性** 采用面向对象的思想设计协议提供的服务
针对 PROFIBUS 协议的首要安全建议是引入 PROFISAFE 安全设备。PROFIsafe 将安全 设备和标准设备的数据流完全整合在以 PROFIBUS 为平台的总线系统中,使标准设备和安全 设备能同时共用一条通信链路。
在 PROFIBUS 网上,所有结点连接到公用的通信介质上,每个源结点可以直接发送消息 到其目的结点。由于所有的结点直接连接到介质,因此攻击者并不能修改或删除从一个结点 发送到另一个结点的消息,但时能够非常容易地读取到网络上传输的消息,也可以冒充其它 的结点。
在 PROFIBUS 网上有 master 和 slave 两种不同类型的结点,每个 slave 仅能受一个 master 的控制。PROFIBUS 网络上的 master 结点形成一个根据其站地址升序排列的的逻辑 环。每个 master 结点维护一个 master 站列表(LMS),并追踪其在环中的前站和后站。站 地址与其后站地址的差异称为 GAP。每个 master 维护一个 GAP 更新定时器,并在每次定时 器到期时查询邻居 master 以更新自己的 LMS。当一个 master 结点收到令牌时,检测以确认 发送令牌的站是其在 LMS 中的前站。如果不是其前站,则令牌被丢掉。如果发送令牌的结点 坚持重新发送令牌,那么结点会认为网络拓扑发生了变化,并将发送令牌的站设置为其前站。 针对 PROFIBUS 的若干可能攻击场景如表格
表格 6 针对 PROFIBUS 的若干可能攻击场景 序号** 攻击场景 ****
1 伪装为 master 结点加入网络,并将其 slave 设置为初始配置 2 通过保持对所有 slave 的控制,造成拒绝服务
3 通过时钟同步功能向网络中的某些结点发送错误的时钟同步值,扰乱正常的网络操

4 通过向令牌帧引入错误可违背协议的访问控制机制
5 通过向数据帧引入错误可破坏数据完整性
6 强制定时器超时可使得设备进入自动睡眠模式,从而关闭设备的接收器。如果设备
是 slave,那么该设备会被标识为一个不可操作的设备。如果错误被引入 master 的 接受器,那么将造成其不停地重传令牌
7 通过修改 GAP 更新定时器的值可以潜在地阻止结点更新其 LMS
8 通过降低 GAP 更新定时器到一个非常低的值,造成结点在基本所有时间都忙于执
行更新而不是发送消息,从而阻塞低优先级的消息传输
9 攻击者通过伪造站地址欺骗另一个结点接受攻击者作为其前站,从而破坏令牌循环
DNP3 与 MODBUS 比较类似,缺乏认证、授权和加密等安全防护机制。除此之外,协议 的相对复杂性也是 DNP3 中存在的主要安全问题根源。与 DNP3 相关的几个典型的安全问题 如表格 7 所示:
表格 7 与 DNP3 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 使用定义良好功能码和数据类型可以非常容易地建立一个会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
协议复杂性 相对于 MODBUS 的请求相应模式,DNP3 增加了主动上送模式
针对 DNP3协议的首要安全建议是采用更安全的 DNP3替换目前存在安全问题的 DNP3。 如果条件受限,不能完全替换存在安全问题的 DNP3,其它可以考虑的措施包括:添加必要的 安全防护措施,使用任何 TCP/IP 安全最佳实践来保护 DNP3 数据,或者使用标准的纵深防御 最佳实践,如表
表格 8 针对 DNP3 协议的安全建议
措施** 举例 ****
替换 DNP3 使用 Security DNP3
必要的安全防护措施 隔离 DNP3 网络,增加验证和授权
TCP/IP 安全最佳实践 使用传输层安全(Transport Layer Security,TLS)保护 DNP3 数

采用纵深防御 防火墙、IDS 和 IPS
针对 DNP3 应用层数据分析结果显示:与 MODBUS 协议类似,功能码滥用也是 DNP3 协议异常的一个主要因素。需要引起 IDS/IPS开发人员高度关注的 DNP3消息如表格 9所示:
表格 9 DNP3 协议典型异常行为
|序号** ||异常行为描述||
|1 ||关闭主动上送(21) ||
|2 ||在 DNP3 端口(TCP 和 UDP20000)上运行非 DNP3 通信 ||
|3 ||长时间多重主动上送(响应风暴)||
|4 ||授权客户冷重启(13) ||
|5 ||未授权客户冷重启(13) ||
|6 ||停止应用(18) ||
|7 ||热重启(14) ||
|8 ||授权客户的广播请求(根据 DigitalBond 中 IPS/IDS 规则) ||
|9 ||未授权客户的广播请求(根据 DigitalBond 中 IPS/IDS 规则) ||
|10 ||配置扫描(例如定义的点列及其值)(30 秒内检测到至少 5 个指示字的第 9 或 1 位设置为 1) |0|
|11 ||可用功能码扫描(60 秒内 3 个指示字的第 8 位设置为 1) ||
|12 ||更改时间(功能码 02,对象类型 50) ||
|13 ||校验和错误||
|14 ||认证失败 ||
|15 ||数据流控制标志(DFC)欺骗 ||
|16 ||重新初始化数据对象(15) ||
|17 ||重新初始化应用(16) ||
|18 ||冰冻并清除可能重要的状态信息(9) ||
|19 ||无通告冰冻并清除可能重要的状态信息(10) ||
|20 ||未授权的操作(4)、直接操作(5)、无通告直接操作(6) ||
|21 ||源自或到达非显式认证的 DNP3 设备的 DNP3 通信 ||
|22 ||配置崩溃(指示字的第 13 位设置) ||
|23 ||应用数据层 FIR/FIN 标记报文重组攻击||
|24 ||应用数据层传输序号报文重组攻击||
|25 ||伪传输层 FIR/FIN 标记报文重组攻击||
|26 ||伪传输层传输序号报文重组攻击||
|27 ||服务不可用或未实现(数据链路层功能码 14 或 15) ||
28 重置用户进程(数据链路层功能码 1)
29 伪造数据链路层广播地址(0XFFFF)并向所有的从站发送错误请求
现实中针对 DNP3 的攻击包括使用中间人攻击捕获特定系统的地址,并使用捕获的地址
对该系统进行操纵,具体的攻击场景如表格 所示:
表格 10 针对 DNP3 协议的典型攻击场景
||序号** |||攻击场景** ||
||1 |||关闭主动上送||
||2 |||向主站发送伪造的主动上送消息,欺骗操作员做出不合适的操作||
||3 |||通过向整个 DNP3 网络注入广播数据来制造风暴行为以达到拒绝服务||
||4 |||操纵时间同步数据,导致同步失败并引起随后的通信错误||
||5 |||操纵或清除确认消息以迫使系统进入连续的重传状态||
||6 |||发起未授权的停止、重新启动或者其它能引起崩溃的功能||
与上述三种协议类似,ICCP 缺乏认证和加密机制。与上述三种协议不同的是,ICCP 通 常用于不同的控制中心之间的对等通信,而其它三种协议典型地用于 PLC / RTU和 HMI / MTU / SCADA主机之间的服务器-客户端通信;ICCP虽然使用双边表提供了基本的访问控制机制, 但是显式定义的可信关系可能会危害到 ICCP 结点之间的安全;ICCP 是一种广域网协议,这 使得其很容易被接触并遭受包括拒绝服务在内的多种攻击。与 ICCP 相关的几个典型的安全问 题如表格 11 所示:
表格 11 与 ICCP 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏验证** 可以很容易地建立会话
缺乏加密** 报文明文传输,可以很容易地捕获和解析
显式地定义可信关系** 通过利用双边表能够直接地损坏 ICCP 服务器和客户端的安全 可访问** 广域网协议使得其高度可访问并其极容易遭受很多种攻击 ICS-CERT报告过多个 ICCP的漏洞,且互联网上曾出现过针对 ICCP的利用代码。因此,
非常有必要对 ICCP 网络执行适当的渗透测试并对服务器和客户端打补丁。除此之外,针对 ICCP 协议的首要安全建议是采用更安全的 ICCP 替换目前存在安全问题的 ICCP。如果条件 受限,不能完全替换存在安全问题的 ICCP,其它可以考虑的措施包括:添加必要的安全防护 措施,谨慎定义双边表,使用任何 TCP/IP 安全最佳实践来保护 DNP3 数据,或者使用标准的 纵深防御最佳实践,如表格 12 所示:
表格 12 针对 ICCP 协议的安全建议
措施** 举例 ****
确认与修复 ICS-CERT 报告过多个 ICCP 的漏洞,且互联网上曾出现过针对
ICCP 的利用代码,因此非常有必要对 ICCP 网络执行适当的渗透 测试并对服务器和客户端打补丁
替换 ICCP 使用 Security ICCP
必要的安全防护措施 使用专用且隔离的 ICCP 网络,增加验证
谨慎定于双边表 双边表是控制中心间的主要的保证和许可措施,通过 ICCP 发起的
恶意命令能够直接改变或影响控制中心的操作
TCP/IP 安全最佳实践 使用传输层安全(Transport Layer Security,TLS)保护 ICCP 数

采用纵深防御 防火墙、IDS 和 IPS
针对 ICCP 应用层数据分析结果显示,需要引起 IDS/IPS 开发人员高度关注的 ICCP 消息 如表格 13 所示(其中:最后 1 条针对增加了必要安全防护措施的情况):
表格 13 ICCP 协议典型异常行为
序号** 异常行为描述
1 功能“read”可用于泄露受保护的信息
2 功能“write”可用于操纵客户和服务器操作
3 在 ICCP 端口(TCP102)上运行非 ICCP 通信
4 任何源自或者到达非验证的 ICCP 设备的 ICCP 通信 现实中通过监视 ICCP 链路,检测到的具体攻击场景如表格 14 所示:
表格 14 ICCP 协议典型攻击场景
序号** 攻击场景 ****
1 侵入者通过被忽视的访问点(例如拨号、合作方或提供者的网络)获取对控制中心
网络的未授权访问
2 心怀怨恨的雇员访问和传输未授权的信息、更改安全配置以及其它可能损害控制中
心物理安全的恶意操作
3 源自重复信息请求(spamming)的拒绝服务攻击,消耗服务器的可用资源以阻止
合法的 ICCP 操作
4 ICCP 服务器或者其它设备感染恶意软件从而泄露敏感信息,例如盗窃可用于破坏
目的的命令功能码、改变用于交易的能源计量以崩溃财务运营以及其它各种恶意目 的
5 截获或者修改 ICCP 消息
2. 继承的问题
目前,基本所有广泛使用的工控协议都已经演化或扩展为在通用计算机和通用操作系统 上实现,并运行于 TCP/IP 之上以满足商业发展需要。TCP/IP 协议自身存在的安全问题不可 避免地会影响到运行于其上的应用层工控协议。本文从操作系统层、网际层和传输层三个层 次介绍 TCP/IP 之上的工控协议继承的安全问题。

  1. 操作系统层
  1. 网际层**
  1. 传输层**

参考资料

绿盟 2013年工业控制系统及其安全性研究报

友情链接

教育部 高等学校数字校园建设规范(试行)2021

工业控制系统协议相关的安全问题相关推荐

  1. 工业控制系统协议的安全性

    工业控制系统协议的安全性 工业控制系统 (ICS)广泛应用于电力.油气.市政.水利.铁路.化工.制造业等行业 的数据采集与监视控制.针对 ICS 的安全问题进行研究,要求我们对 ICS 的网络操作具有 ...

  2. 工业控制系统协议(Industrial Network Protocol)

    流行的工业控制系统主要有四个: ModBus :最早的工业系统通信协议,它的成功主要是因为使用简单,在通信过程中没有经过复杂的认证和过重的负载.它是应用层消息协议,采用请求/相应的方式,可以在低级设备 ...

  3. 工业控制系统面临的安全问题分析

    案例攻击者利用办公网窃取机密生产资料的攻击场景 案例起因** 工厂 B 得到那笔关键的订单后,一跃成为当地的明星企业.经过几年发展,不光拓展了 生产规模,还建立起一支初具规模的科研团队,开发出好几种新 ...

  4. 工业控制系统的安全建议

    案例攻击者利用办公网窃取机密生产资料的攻击场景 案例起因** 工厂 B 得到那笔关键的订单后,一跃成为当地的明星企业.经过几年发展,不光拓展了 生产规模,还建立起一支初具规模的科研团队,开发出好几种新 ...

  5. 国内工业控制系统标准概述

    国内工业控制系统 标准概述在国内,自 2010 年前后已陆续开展工业控制系统信息安全相关标准的研究制定工作.截至目前, 全国已有多个相关标委会开展了该领域标准执行工作.全国工业过程测量和控制标准化 技 ...

  6. 工业控制系统安全需求的变化

    工业控制系统 安全需求的变化图 1 对 2015 年发生的工控安全事件中,入侵工业控制系统所使用的关键技术 进行了统计,网络钓鱼仍然是被经常 使用的攻击方法,因为它是相对易于执行和有效的.通过弱身份验 ...

  7. 国外工业控制系统标准概述

    其他方面 除了几个明显的直接与工业控制系统安全 相关的影响因素或解决思路外,还有一些经常被忽的情 况,在此也将该部分内容引出 ,期望为用户带来缓解风险的更多思路.- 系统集成问题 安全是一个整体 , ...

  8. 工业控制系统的安全研究与实践引言

    引言 研究背景 工业控制系统的重要性.脆弱的安全状况以及日益严重的攻击威胁,已引起了世界各国的 高度重视,并在政策.标准.技术.方案等方面展开了积极应对[LYHC2012].进入 2013 年以来 工 ...

  9. 工业控制系统安全标准

    其他方面 除了几个明显的直接与工业控制系统安全 相关的影响因素或解决思路外,还有一些经常被忽的情 况,在此也将该部分内容引出 ,期望为用户带来缓解风险的更多思路.- 系统集成问题 安全是一个整体 , ...

最新文章

  1. pc端汽车obd软件下载?_常用的ERP软件电脑端下载
  2. pwnable input2 之 write up
  3. php 下载.csv,php 文件流的形式下载csv
  4. 学习进度条——第八周
  5. memcache 总结笔记
  6. python从基础到入门电子书_零基础如何学好python?一本python从入门到实践电子书籍赠送...
  7. 7-7 汉密尔顿回路 (25 分)(C语言实现)
  8. hadoop fs 运维常用的几个命令
  9. 键值数据库LevelDB的优缺点及性能分析
  10. PowerShell 操作 Azure Blob Storage
  11. JavaWeb:实现文件上传与下载
  12. 【原创】分享一个分析函数统计案例
  13. opencv 的norm_OpenCV:norm-范数求解函数
  14. 迅捷无线路由器虚拟服务器,迅捷无线路由器怎么设置 迅捷无线路由器设置步骤【详解】...
  15. android微信post提交表单,微信自带浏览器不支持form表单post提交方案解决
  16. 2021爱智先行者—人体存在感传感器
  17. 同款蓝牙耳机为什么会串联_大牌奢侈品同款TWS新蓝牙耳机体验
  18. Java-常用API、Lambda、常见算法
  19. SDNU-ACM第一次月赛地大武汉选拔赛
  20. Spring框架知识

热门文章

  1. MySQL导入mdx_浅谈MDX数据库
  2. 保护环境的画用计算机怎么画,保护环境的画简笔画
  3. daimayuan每日一题#812 互质
  4. 10 个不错 Web3 设计灵感网站
  5. python3实现批量修改图片名称
  6. spring mvc 附件上传至腾讯云qcloud
  7. 基于独立工作流引擎实现的SuperFlow工作流平台设计方案
  8. rpgmvp文件转换图片_干货|如何快速将图片转换成CAD文件格式
  9. 1.天池金融风控-贷款违约预测新人赛之预备知识
  10. 解决IndexError: Target 2 is out of bounds.