4. 工业日志源梳理
工业日志关联分析的第一步不是写规则,而是把“谁在什么位置、以什么方式、产生什么格式的日志”梳理清楚。工业现场与 IT 环境最大的差异在于:大量设备以专有协议运行,日志字段不统一、时间源不统一、采集接口不统一。若日志源清单缺失或字段理解错误,后续关联规则会建立在错误前提上。本节按设备类型逐类梳理日志特征,并给出可落地的采集与归一化思路。
一、核心原理:日志源分层与“三要素”
工业控制系统通常呈分层结构:现场层(PLC、RTU、变频器)、监控层(DCS、SCADA、HMI)、网络层(工业防火墙、交换机)、信息层(服务器、数据库、安全设备)。不同层级日志的“价值密度”不同:现场层日志偏状态与故障,监控层日志偏操作与工艺,网络层日志偏连接与流量,信息层日志偏账户与访问。
梳理每个日志源时,必须确认三个要素:时间源(是否 NTP 同步、时区是否一致)、传输方式(Syslog、SNMP Trap、OPC、文件、API、镜像流量)、关键字段(设备标识、点位/变量、操作者、结果、源 IP)。这三要素决定了日志能否被关联,而不是仅仅被存储。
二、各类日志源特征逐项梳理
PLC:多数 PLC 本身不产生“审计日志”,只提供诊断缓冲区(Diagnostic Buffer)、CPU 状态、模块故障、通信错误等事件。西门子 S7 可通过诊断缓冲区读取事件,罗克韦尔可通过控制器属性与故障例程获取。其日志特征是:事件稀疏、以故障码为主、无用户身份、时间精度依赖 CPU 时钟。因此 PLC 日志更适合做“状态佐证”,而非操作审计。
DCS:DCS 是工业日志的“富矿”。操作员站、工程师站、控制器、历史站都会产生日志,包括:操作记录(谁改了哪个回路、设定值、输出值)、报警与事件(SOE 序列事件)、系统诊断、登录登出。DCS 日志通常有明确的操作者账号与工位信息,时间戳精度可达毫秒,是关联 HMI 操作与工艺变化的核心数据源。
SCADA:SCADA 日志集中在数据采集与遥控环节,典型包括:遥测越限、遥信变位、遥控操作、通道中断、前置机通信状态。其特点是事件与“点号”强绑定,且常带质量码(Quality)。SCADA 日志与 DCS 日志的差异在于:SCADA 更偏广域与通信,DCS 更偏本地回路与操作。
HMI:HMI 日志主要记录画面操作、按钮点击、参数下发、报警确认、用户登录与权限变更。HMI 是“人”与“控制系统”之间的直接接口,因此是识别异常操作行为的关键。需注意:部分 HMI 只记录本地文件,需通过文件采集或数据库读取方式获取。
工业防火墙:日志包括会话建立/拒绝、规则命中、协议识别(Modbus、S7、OPC)、入侵检测告警、配置变更。其价值在于提供“网络侧证据”,可与 DCS/HMI 的操作日志做时间对齐,判断某次异常操作是否伴随异常连接。
交换机:工业交换机日志包括端口 Up/Down、链路抖动、STP 拓扑变化、MAC 地址学习、端口镜像状态、SNMP Trap。交换机日志能揭示“物理层异常”,例如某台 HMI 断网重连,可能与后续异常登录相关。
服务器:包括操作系统日志(Windows 事件日志、Linux syslog)、数据库日志、应用服务日志、OPC 服务器日志。特征是字段规范、可结构化程度高,但数据量大,需要过滤与聚合。
安全设备:防病毒、终端检测、堡垒机、漏洞扫描、日志审计系统。其日志偏“账户与访问”,可与工业设备日志做主体关联,例如堡垒机跳转记录与 DCS 操作记录对齐。
三、方法流程:从清单到可关联字段
- 建立日志源清单:按设备类型、IP、厂商、型号、固件版本、日志接口、日志格式逐项登记。
- 确认时间同步:检查各设备 NTP 配置,记录时区与时钟偏差,必要时在采集侧做时间校正。
- 确定采集方式:优先 Syslog/SNMP Trap,其次文件采集与数据库读取,最后考虑流量镜像解析。
- 字段映射:将不同厂商字段映射到统一模型,例如把“操作员”“User”“Operator”统一为 subject_user。
- 验证与回放:用历史日志回放验证关联规则,确认时间对齐与字段完整性。
四、案例场景:一次异常设定值修改的关联
某化工厂 DCS 记录到反应釜温度设定值在 02:13:07 被修改,操作员账号为 operator01。仅凭 DCS 日志无法判断是否为本人操作。关联分析发现:02:12:55 工业防火墙记录到来自 10.20.3.77 的 S7 连接;02:13:02 交换机记录到 HMI-03 端口 Up;02:13:05 堡垒机记录到 operator01 从 10.20.3.77 跳转登录;02:13:07 DCS 记录设定值修改。四条日志时间对齐后,可还原完整操作链,并确认操作来源与路径。
02:12:55 FW-01 session_allow src=10.20.3.77 dst=10.20.1.10 proto=S7
02:13:02 SW-02 port_up port=Gi1/0/3 dev=HMI-03
02:13:05 BASTION login_success user=operator01 src=10.20.3.77
02:13:07 DCS-01 setpoint_write tag=TT-101 old=85.0 new=92.0 user=operator01
五、常见误区与复盘
误区一:只采集服务器日志,忽略现场层。现场层日志虽稀疏,但能佐证故障与通信异常,缺失会导致关联链断裂。
误区二:认为所有设备都有审计日志。多数 PLC 没有用户级审计,需通过上层 HMI/DCS 与网络日志间接还原。
误区三:忽略时间源差异。DCS 与防火墙时间偏差 30 秒,就足以让关联规则误判。
误区四:字段未归一化就写规则。不同厂商字段名不同,规则会因字段缺失而失效。
六、日志源特征速查清单
| 日志源 | 典型日志内容 | 关键字段 | 采集方式 | 关联价值 |
|---|---|---|---|---|
| PLC | 诊断缓冲、CPU 故障、通信错误 | 故障码、模块、时间 | 诊断读取、OPC | 状态佐证 |
| DCS | 操作记录、SOE、报警、登录 | 用户、点位、旧值/新值 | 数据库、Syslog | 操作审计核心 |
| SCADA | 遥测越限、遥控、通道中断 | 点号、质量码、源站 | Syslog、API | 通信与广域关联 |
| HMI | 画面操作、按钮、报警确认 | 用户、画面、控件 | 文件、数据库 | 人机行为识别 |
| 工业防火墙 | 会话、规则命中、协议识别 | 源/目的 IP、端口、动作 | Syslog | 网络侧证据 |
| 交换机 | 端口 Up/Down、MAC、STP | 端口、MAC、状态 | SNMP Trap、Syslog | 物理层异常 |
| 服务器 | 系统、数据库、应用日志 | 账户、进程、结果 | Agent、Syslog | 账户与访问 |
| 安全设备 | 堡垒机、EDR、审计 | 用户、源 IP、命令 | API、Syslog | 主体关联 |
完成日志源梳理后,应形成一份可维护的“日志源台账”,并随设备变更同步更新。只有把每个日志源的接口、字段、时间与采集方式都落到台账中,后续的关联规则、告警降噪与溯源分析才有可靠的数据基础。