SuperAPI AI 工具集

detecting-modbus-command-injection-attacks

部署与运维

查看项目

更新于 10-16 01:30

技能介绍

用途:在 Modbus TCP(502 端口)或 Modbus RTU 环境中部署入侵检测,识别对 PLC 寄存器/线圈的未授权修改,构建面向 OT SOC 的检测分析,响应 FrostyGoop 类利用 Modbus TCP 的攻击,以及在被怀疑主站被入侵后做基线校验。不适用于非 Modbus 协议(如 DNP3)、通用 IT 网络入侵检测或 Modbus 设备配置。

主要能力:技能提供 Python 检测脚本框架,解析 Modbus TCP MBAP 头和 PDU,依据基线检测六类异常:未授权主站、未授权写操作(写单线圈/单寄存器/多线圈/多寄存器)、写入速率泛滥、异常功能码、广播写入(单元 ID 0)、越界寄存器访问以及诊断类命令。检测结果按 CRITICAL/HIGH 等严重级分类,并关联 MITRE ATT&CK for ICS 技术编号,最后输出汇总与明细报告。同时给出 Suricata 规则示例,用于未授权写、广播写和过高写入速率告警。

使用方式:需要 Modbus TCP 流量段的 SPAN/TAP、正常通信基线、启用 Modbus 解析的 Suricata/Zeek 或商用 OT IDS,并了解环境所用功能码及 PLC 编程文档。脚本用法为:python modbus_detector.py <interface> [baseline.json] 进行实时监控,或 python modbus_detector.py <capture.pcap> [baseline.json] 离线分析,依赖 scapy(pip install scapy)。Suricata 规则需定义 $MODBUS_AUTHORIZED_WRITERS、$OT_PLC_SUBNET 等变量后加载。

限制:资料未提供完整基线采集步骤、误报率评估、性能数据或与其他 OT 工具联动方式,部分规则片段在原文中被截断。部署前应确认基线完整性和环境适配。