C06
老旧 Modbus 设备的只读“安全保险丝”旁路盒
A Read-Only Safety Fuse for Legacy Modbus Equipment
1 · 创新命题
中 面向学校锅炉房、温室与小工厂中不能更换的 Modbus/TCP 控制器,做一只默认旁路、可回退的 协议保险丝:学习正常寄存器范围与写入节奏,对越界写、突发写和非维护时段写入进行阻断,同时保持 原 PLC 与 HMI 不改代码;相对企业级工控监测平台,把最小安全改造压到单设备可承担的硬件量级。 EN A fail-open, rollback-ready protocol fuse for legacy Modbus/TCP equipment that blocks out-of-range, burst and off-hours writes while leaving the PLC and HMI untouched—bringing a narrow slice of industrial protection to schools, greenhouses and small factories that cannot replace installed controls.
2 · 背景与空白
Modbus 缺少原生认证与加密。Suricata/Zeek 能识别部分协议,Nozomi Guardian、Claroty CTD 面向企业 做资产与异常检测;开源 modbus-proxy、pymodbus 可搭网关,但没有现成知识替代现场工艺边界。 空白在:为单一、低速、稳定工序提供“少规则、能解释、物理旁路可回退”的保险丝,并用功能回归 和故障注入证明它没有把安全风险换成停机风险。所有实验只在 ModbusPal/自有 PLC 台架进行,不连接真实 生产系统;商业主张也限定为附加保护层而非安全仪表系统。
3 · 可检验假设
H1 在三类公开/自建 Modbus 工序脚本中,保险丝对越界与突发写攻击召回 ≥ 0.95、每 24 小时误阻 ≤ 1 次,且正常控制周期 95 分位附加延迟 ≤ 20 ms。 H2(机制)加入“寄存器物理范围 + 状态机”比仅按流量频率检测将误阻率降低 ≥ 50%,说明工艺 语义而非复杂 ML 是小型稳定设备的关键。
4 · 量化验收标准
- 【方法学校验 · 硬门槛】 用自建代理复现 Modbus Organization 公开协议算例与 CISA/Idaho National Laboratory 公开靶场中的至少 20 条正常/异常事务;功能码、异常码与寄存器值判定一致率 100%,时序偏差 ≤ 5 ms。此条不过,后续全部结论无效。
- ≥ 72 小时正常工序回放、≥ 300 次授权故障注入,覆盖越界、重放、突发写、错误单元 ID 与维护窗口。
- 极不平衡检测报 PR-AUC、召回、精确率和每日误阻数,明确不报 accuracy;按完整工序周期划分, 禁止相邻报文跨集,并量化随机报文划分的高估。
- 断电、代理崩溃、网络环路三类故障必须验证具名旁路状态;不得把 fail-open 宣传成仍有保护。
- 报延迟中位数/IQR/95 分位、吞吐和 BOM;不以平均延迟隐藏长尾。
5 · 数据与工具
| 用途 | 来源 / 工具 |
|---|---|
| 台架 | Raspberry Pi/双网口小主机、受管交换机、二手支持 Modbus 的小 PLC;型号与当地价格 需核实 |
| 模拟 | ModbusPal、pymodbus、OpenPLC;模拟工艺不等同真实安全认证 |
| 观测 | Wireshark/TShark、Zeek 或 Suricata Modbus 解析能力按版本 需核实 |
| 校验 | Modbus Application Protocol、公开 ICS PCAP/靶场 —— 仅用于校验与对比,不计入数据贡献 |
| 安全 | 完全隔离实验网;无书面授权不得接入学校或工厂设备 |
能力边界:只看 Modbus 无法识别传感器本身撒谎。致命错误是让代理失效时把锅炉/温室控制链 一并切断;物理旁路、看门狗和明确 fail-open 状态必须实测。
规则来源必须可追溯到设备手册、工程师签字的范围或实验台物理限制,不能由流量模型凭空宣布安全。 每次阻断报告应含功能码、寄存器、当前值、许可范围和旁路状态;遇到未知功能码默认告警而不是擅自 改变真实过程。单位经济需把安装、调试和误停机时间计入,不能只报树莓派 BOM。 若现场工程师不愿批准自动阻断,告警模式不是失败;研究仍可比较它比普通端口日志提前提供了多少 可行动语义,但必须删去“自动保护”商业承诺。
6 · 赛季执行路径
- 第 1–2 周:隔离台架与协议算例,完成硬门槛。
- 第 3 周:定义三类工序、寄存器物理范围与维护窗口。
- 第 4–5 周:实现代理、规则解释和物理旁路。
- 第 6–7 周:72 小时正常回放;冻结阈值后再注入攻击。
- 第 8 周:300 次故障注入;第 9 周做语义/频率消融。
- 第 10 周:断电、崩溃、环路测试与 BOM;第 11–12 周访谈授权工程师、简述和演示。
7 · 新颖性边界
不声称:不发明 Modbus 防火墙;不取代安全 PLC/SIS;不证明真实工厂风险降低;不测试未授权设备。 已有工作:Nozomi Guardian、Claroty CTD、Dragos Platform 提供企业 OT 可见性;Suricata/Zeek 有 协议分析;OpenPLC/ModbusPal 提供实验环境。本项目贡献是针对单工序小业主的可旁路、语义最小规则 retrofit,并公开误阻—延迟—阻断三者曲线。护城河类型:存量改造(C)+ 极端具体(G); 特定设备寄存器语义模板与安装关系构成壁垒。
8 · go/no-go
第 3 周末:若无法取得安全的 PLC 台架,具名降级为 OpenPLC + ModbusPal 全虚拟保险丝, 保留协议和故障注入主结论,不声称硬件可靠性。 第 7 周末:正常回放误阻 > 5 次/日,降级为 只告警、人工确认后阻断;第 9 周若攻击召回 < 0.80, 限定为越界写单一故障模式,不扩张到“通用工控异常检测”。