网络通信¶
ICS · 知识域。工控网络通信攻防。标签:未加密通信、协议漏洞、中间人攻击、流量分析、通信劫持。
触发特征¶
- 工业协议普遍无认证无加密(设计假设:物理隔离);题目考"在通信层做什么"。
未加密通信¶
- Modbus/S7/DNP3/IEC104 明文:读寄存器/写线圈直接可见可改;凭据明文(工控协议多数无凭据)。
- 影响面:监听工艺参数、伪造指令、重放。
协议漏洞¶
- Modbus:无认证写(功能码 05/06/15/16 直写线圈与寄存器)、广播地址滥用、异常响应信息泄露(modbus-discover/fuzz 脚本)。
- S7comm:会话建立无认证(PUT/GET 写内存)、TZ 保护模块绕过历史(CVE-2015-5374 类)、s7comm-plus 新漏洞(CVE-2023-44487 面上的实现缺陷)。
- DNP3:SA 缺失(未开 secure authentication)、异常对象注入。
- EtherNet/IP、BACnet:写请求无认证、路由对象滥用(BACnet 全球地址伪造)。
- 协议 fuzz:boofuzz 框架对工控协议变形测试(崩溃 → 可用性攻击)。
中间人攻击¶
- ARP 欺骗置于 PLC 与 SCADA 之间:透明改写读写响应(值操纵而不中断通信,隐蔽篡改)。
- 代理式 MITM:pymodbus 自建代理桥(记录/篡改/延迟);S7 代理。
- PLC↔PLC 通信(Modbus TCP 从主)劫持同步信号。
流量分析¶
- 周期行为建模:轮询周期、值域基线(→ 异常检测,见 安全监控)。
- 功能码分布、寄存器访问频率 → 还原控制逻辑图。
- 从流量提取点表(地址 ↔ 物理量映射),为篡改攻击提供语义。
通信劫持¶
- 会话抢占:S7/Enip 会话资源耗尽后冒名;心跳/看门狗伪造保持"在线"假象。
- 指令注入时机:控制序列间隙注入单帧(写后立即恢复原值,横越逻辑检查)。
- 重放:记录合法"启动电机"帧择机重放。