用途:为缺乏入侵检测的 OT 环境部署持续监控,构建基于行为的检测以补充 OT 网络中的签名式 IDS,为确定性 SCADA 通信建立基线并发现偏离,将机器学习异常检测接入 OT 安全监控平台,或对 Nozomi Guardian、Dragos Platform 告警做深入分析。不适用于已知漏洞的签名检测、不含 OT 协议的 IT 网络异常检测,也不能替代过程安全系统(SIS)。
主要能力:从 OT 流量构建多维基线,覆盖时序、协议行为与网络拓扑;用统计与机器学习方法检测异常。核心检测包括:新通信对(拓扑基线外连接)、轮询间隔偏离(z-score 超过 4.0)、未授权功能码(Modbus/DNP3 等,写类功能码 5、6、15、16、8 判为 critical)。使用 Isolation Forest 无监督模型,特征含 interval_ms、payload_size、packets_per_window、unique_func_codes、new_connection_flag,contamination 默认 0.01。输出按 critical/high/medium/low 分级的报告。
使用方式:需在 OT 网络 SPAN/TAP 端口部署被动监控传感器,采集正常运营至少 2-4 周基线流量;Python 3.9+ 及 scikit-learn、numpy、pandas;需过程历史数据库访问权限;需了解班次切换、批处理与维护窗口等正常模式。流程为:解析 pcap 流记录构建通信画像与拓扑基线,计算时序统计,训练 Isolation Forest,再对实时流调用 analyze_flow() 逐条检测并生成报告。
限制:依赖足够长的干净基线,基线污染会影响效果;仅覆盖资料所述协议与检测维度;物理过程模型仅作概念说明,未提供实现细节;具体部署参数与阈值需按现场调整。