2. 工控系统基础

工控网络入侵检测的第一步,不是急着抓包或写规则,而是先弄清楚“被保护对象长什么样”。工业控制系统(ICS)并不是单一设备,而是一组按控制层级组织、围绕生产过程持续运行的软硬件集合。只有理解 ICS、SCADA、DCS、PLC 之间的分工与边界,才能判断异常流量究竟来自正常工艺操作,还是攻击者的探测与破坏行为。

一、核心概念:从现场设备到监控中心

ICS(Industrial Control System,工业控制系统)是工业自动化与过程控制系统的总称,涵盖 SCADA、DCS、PLC、RTU、HMI、 historian 等。它强调“控制过程”,而不是“处理信息”。

  • PLC(可编程逻辑控制器):现场控制核心,执行梯形图、功能块或结构化文本程序,直接连接传感器与执行器,周期扫描输入、执行逻辑、刷新输出。常见品牌包括西门子 S7、罗克韦尔 ControlLogix、施耐德 M340 等。
  • RTU(远程终端单元):多用于地理分散的遥测遥控场景,如油气管道、水务管网,通信能力比 PLC 更强,常支持无线与低功耗链路。
  • DCS(分布式控制系统):面向连续过程工业(化工、电力、冶金),强调闭环控制、冗余、高可靠与集中监控,控制器与 I/O 常为专有总线连接。
  • SCADA(数据采集与监控系统):面向广域监视与调度,侧重数据采集、状态显示、报警、趋势与远程控制,常见于电网、供水、燃气。
  • HMI(人机界面):操作员与设备交互的窗口,显示工艺画面、报警与趋势,也是攻击者常瞄准的入口。

一句话区分:PLC 管“动作”,DCS 管“过程”,SCADA 管“广域监视与调度”,HMI 管“人看与操作”, historian 管“历史数据留存”。

二、典型架构:Purdue 模型与区域划分

工控系统通常按 Purdue 参考模型分层,从下到上依次为:Level 0 现场设备层(传感器、执行器)、Level 1 控制层(PLC、RTU、DCS 控制器)、Level 2 监控层(HMI、SCADA 服务器、工程师站)、Level 3 运营管理层( historian、MES、资产管理系统)、Level 4/5 企业层与外部网络。层与层之间通过工业以太网、现场总线或专有协议连接,并在边界部署防火墙、工业隔离网关或数据二极管。

IDS 部署时,最关键的观测点通常位于 Level 2 与 Level 3 之间、Level 1 与 Level 2 之间,以及 SCADA 与外部网络的边界。因为这里既有工艺控制流量,又有管理流量,异常行为最容易暴露。

工控系统 Purdue 分层架构与 IDS 观测点 Level 4/5 企业层与外部网络 ERP、邮件、互联网、远程运维 VPN、云平台 边界 IDS 观测点 A Level 3 运营管理层 Historian、MES、资产管理系统、补丁服务器 南北向 IDS 观测点 B Level 2 监控层 SCADA 服务器、HMI、工程师站、报警服务器 东西向 IDS 观测点 C Level 1 控制层 PLC、RTU、DCS 控制器、安全仪表系统 SIS 控制层 IDS 观测点 D Level 0 现场设备层 传感器、变送器、执行器、阀门、电机、变频器 典型通信协议 Modbus TCP/RTU · Profinet · EtherNet/IP · DNP3 · IEC 60870-5-104 · OPC UA · S7comm · BACnet 安全挑战:明文传输、无认证、无完整性校验、协议私有化、老旧设备无法升级、IT/OT 边界模糊

三、通信协议:工控流量的“语言”与弱点

工控协议大多诞生于“可信封闭网络”时代,设计目标是实时、简单、可靠,而非安全。常见协议包括:

协议 典型场景 端口/链路 主要安全弱点
Modbus TCP/RTU PLC、仪表、电力 502 / 串口 无认证、无加密、功能码可被滥用
Profinet 西门子自动化产线 以太网 实时通道缺乏访问控制,设备发现易被扫描
EtherNet/IP 罗克韦尔、离散制造 44818 / 2222 CIP 对象可被枚举,未授权写入风险高
DNP3 电力、水务 SCADA 20000 早期无认证,可重放或伪造遥测遥控
IEC 60870-5-104 电网调度 2404 明文传输,遥控命令可被篡改
OPC UA 跨平台数据交换 4840 配置不当会暴露匿名访问与证书信任问题

IDS 需要理解这些协议的“正常行为基线”。例如,Modbus 读操作频繁但写操作稀少;若短时间内出现大量写线圈或写寄存器,就可能是攻击者在篡改工艺参数。

四、安全挑战与 IDS 应对思路

工控安全挑战可归纳为四类:

  1. 协议原生缺陷:明文、无认证、无完整性保护,攻击者可轻易嗅探、重放、伪造。
  2. 设备生命周期长:PLC、RTU 常运行十年以上,无法打补丁或升级加密能力。
  3. IT/OT 融合:企业网与工控网打通后,勒索软件、横向移动可直达控制层。
  4. 可用性优先:工控系统不能随意停机做安全扫描,IDS 必须被动部署、低干扰。

IDS 应对思路:以“白名单 + 行为基线”为主,建立正常通信矩阵(谁与谁通信、用什么协议、读写哪些寄存器、周期多长),再对偏离基线的流量告警。例如,工程师站不应在凌晨 3 点向 PLC 写入配方参数;HMI 不应主动扫描全网设备。

五、案例与复盘:一次典型的 Modbus 异常写入

某水厂 SCADA 系统在夜间出现阀门频繁动作。IDS 捕获到一台工程师站向多个 PLC 的 40001 寄存器连续写入不同数值,写入频率远高于日常操作。进一步分析发现,该工程师站已被植入恶意脚本,攻击者试图通过篡改液位设定值造成溢流。复盘要点:

  • 未对 Modbus 写操作建立白名单,导致异常写入未被及时阻断。
  • 工程师站与 PLC 之间缺少最小权限隔离,一台主机可控制多个工艺段。
  • IDS 规则只关注端口和 IP,未深入解析功能码与寄存器地址。

常见误区:把工控 IDS 当成传统 IT IDS 使用,只匹配已知攻击签名。工控环境更依赖“正常行为建模”,因为很多攻击使用的是合法协议与合法功能码,只是时机、频率、目标或参数值异常。

理解 ICS/SCADA/DCS/PLC 的分层架构、协议特征与安全弱点,是后续设计检测规则、部署探针和建立基线的根基。只有先看清系统,才能让 IDS 真正“看懂”工控流量。