常见 ICS 协议与风险
Modbus、DNP3 及其弱点。
常见 ICS 协议与风险 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
协议为何重要
工业协议是控制器、SCADA 和现场设备用来交换数据和命令的语言。大多数协议都是为隔离且受信任的网络设计的,因此缺少我们在 IT 中所期待的身份验证和加密。
了解它们的弱点,您就能确切知道 OT 网络上的攻击者可以做什么,以及需要哪些补偿性控制措施。
Modbus
Modbus是最古老且应用最广泛的工业协议之一,简单易于实现。Modbus/TCP 通过以太网传输 Modbus。
- 主站读取和写入从站设备中的寄存器/线圈
- 没有身份验证:任何能够访问从站的设备都可以向它发送命令
- 没有加密:流量是明文,很容易被读取或伪造
- 没有防止恶意发送者的完整性校验
网段上的攻击者只需写入一个线圈,就能驱动设备。
# a Modbus function code 5 writes a single coil (e.g. open/close a relay)
# request fields are minimal: address, function, data, CRC
# nothing in the protocol proves WHO sent itDNP3
DNP3(分布式网络协议)常用于电力和供水公用事业,专为不可靠的长距离链路设计,并提供时间戳和按变更上报等功能。
- 它比 Modbus 更丰富,但基础协议仍然缺少内置安全机制
- 在开放网络上容易受到欺骗和重放攻击
- 虽然存在安全身份验证(DNP3-SA)扩展,但并不总是会部署
如果不支持 DNP3-SA,就必须通过网络控制措施进行补偿。
其他常见协议
OT 领域包含许多协议,您会经常遇到其中几种:
- EtherNet/IP (CIP) — 在制造自动化中广泛使用
- PROFINET / PROFIBUS — 欧洲工业环境中常见
- IEC 60870-5-104 — 用于电力公用事业,作用类似于 DNP3
- IEC 61850 — 用于变电站自动化
- OPC / OPC-UA — 数据交换标准;OPC-UA 尤其支持安全功能
OPC-UA 的突出之处在于,它在设计时就将身份验证和加密作为可选项。
无身份验证
传统协议最严重的普遍弱点,是缺少身份验证。协议无法区分合法主站和攻击者。
- 网络上的任何主机都可以发出看似有效的命令
- 消息中没有凭据或授权的概念
- 设备会信任接收到的任何内容
这就是网络访问控制成为第一道防线的原因:如果攻击者无法访问该协议,就无法滥用它。
无加密:嗅探与篡改
明文协议会将流程暴露给任何被动监听通信链路的人。
- 攻击者可以根据观察到的读取和写入操作推断流程
- 设定值、报警和命令都清晰可见
- 如果处于通信链路中间,就可以在传输过程中修改流量
捕获此类流量进行分析必须谨慎,并且只能在您获准评估的系统上进行;被动分流器可以避免干扰正在运行的流程。
重放与注入攻击
在缺少身份验证或时效性保证的情况下,记录下来的流量可以被重复使用。
- 重放 — 捕获合法命令,稍后重新发送以重复某项操作
- 命令注入 — 构造有效的协议消息来驱动设备动作
- 虚假数据注入 — 向 HMI 提供伪造的传感器数值
虚假数据注入尤其危险:操作员可能看到正常读数,而流程却逐渐进入不安全状态。
OT 中的中间人攻击
位于 SCADA 和控制器之间的攻击者可以同时读取并重写两者之间的通信。
- 向操作员显示安全数值,同时向 PLC 发送有害命令
- 抑制报警,使故障未被察觉
- 在操作员不知情的情况下更改设定值
这种在破坏流程的同时蒙蔽操作员的做法,是复杂 ICS 攻击的典型特征,也促使人们在网络层面进行完整性监控。
安全协议变体
如果设备支持,应优先选择能够增强安全性的协议选项。
- 启用安全策略的 OPC-UA 可提供身份验证、签名和加密
- DNP3-SA 为 DNP3 增加质询—响应身份验证
- TLS 封装层或安全网关可以保护区域之间的传统流量
旧设备并不普遍支持这些功能,因此架构设计应假定许多端点仍然不安全,并在网络边界保护它们。
被动监控与深度检查
由于您通常无法修复协议本身,因此应转而检测滥用行为。具备 OT 感知能力的监控可以理解这些协议,并在不注入流量的情况下标记异常。
- 建立正常主站、从站和命令模式的基线
- 针对意外的写入命令或新设备发出警报
- 检测超出范围的设定值,或来自未授权主机的命令
- 使用被动分流器,确保监控不会干扰流程
协议与网络防御
由于传统协议无法自我防护,网络必须保护它们。
- 对网络进行分段,使只有获授权的主机可以使用该协议与控制器通信
- 使用协议感知防火墙,仅允许预期的功能码
- 部署针对 ICS 协议调优的被动入侵检测
- 在条件允许时,迁移到安全变体
这为最后一课中的架构防御作了铺垫。
快速检查:协议弱点
思考传统 ICS 协议的核心风险。
回顾:ICS 协议与风险
您已了解这些协议及其固有弱点。
- Modbus、DNP3 及同类协议是为受信任网络构建的,缺少身份验证和加密
- 这使得攻击者能够进行嗅探、重放、命令注入、虚假数据注入和 MITM
- 攻击者可以在破坏流程的同时蒙蔽操作员
- 在支持的情况下,优先使用安全变体(OPC-UA、DNP3-SA)
- 否则,应通过分段、协议感知防火墙和被动监控进行防护
下一步:为关键基础设施设计防护架构。
常见问题解答
「常见 ICS 协议与风险」课时是免费的吗?
是的 — 「常见 ICS 协议与风险」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「常见 ICS 协议与风险」这节课中我会学到什么?
Modbus、DNP3 及其弱点。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「常见 ICS 协议与风险」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 工业控制系统基础
- OT 与 IT 安全差异
- 常见 ICS 协议与风险
- 保护关键基础设施