安全威胁与风险:针对工控系统的攻击类型、攻击面分析与风险建模方法

工控系统(ICS/SCADA)从封闭的专用网络走向开放互联的IT/OT融合架构后,其面临的威胁已从早期的偶然性故障演变为国家级、组织化的定向攻击。震网病毒摧毁伊朗离心机、勒索软件瘫痪 Colonial Pipeline 输油管道、APT 组织长期潜伏篡改工艺参数——这些事件表明,工控安全的核心命题已从“防病毒”转向“防攻击者完成其攻击链”。本章将系统梳理针对工控系统的典型攻击类型、攻击面构成,并重点讲解 STRIDE 与攻击树两种风险建模方法,帮助安全工程师建立“从威胁视角看风险”的实战能力。

工控系统攻击类型与风险建模全景图 攻击类型 震网(Stuxnet) 勒索软件(Ransomware) APT 高级持续性威胁 攻击面 IT/OT 边界(防火墙、DMZ) 现场设备(PLC/RTU/DCS) 人机接口(HMI/工程站) 无线/远程维护/供应链 风险建模方法 STRIDE 威胁分类 Spoofing / Tampering / Repudiation Info Disclosure / DoS / Elevation 攻击树(Attack Tree) 根目标 → 子目标 → 叶子攻击 AND/OR 逻辑组合 工控攻击链(Cyber Kill Chain for ICS) 1. 侦察 网络扫描/社工 2. 武器化 构造恶意载荷 3. 投递 USB/钓鱼/供应链 4. 利用 漏洞利用/提权 5. 控制 篡改工艺参数 目标:破坏物理过程 / 数据窃取 / 勒索 防护核心:分区隔离 + 纵深防御 + 白名单 + 持续监控 + 快速响应 每个攻击链环节都应有检测与阻断措施

3.1 针对工控系统的典型攻击类型

3.1.1 核心原理:从 IT 攻击到 OT 攻击的演变

工控系统攻击与普通 IT 攻击的本质区别在于攻击目标——IT 攻击追求数据泄露或系统瘫痪,而 OT 攻击追求对物理过程的操纵与破坏。这种差异导致攻击手法、检测难度和影响后果完全不同。典型攻击类型包括:

  • 震网(Stuxnet):首个以破坏物理设施为目标的网络武器。利用 Windows 零日漏洞(MS10-046 打印后台漏洞、MS10-061 任务计划程序漏洞)传播,通过 USB 摆渡进入隔离的核设施网络,最终篡改西门子 S7-300 PLC 的离心机转速控制逻辑,同时向监控系统回放正常数据,实现“物理破坏+感知欺骗”双重效果。
  • 勒索软件(Ransomware):近年来针对工控系统最猖獗的攻击类型。攻击者通过钓鱼邮件或 RDP 爆破进入 IT 网络,横向移动到 OT 网络后加密工程站、HMI 和历史数据库。典型案例:2021 年 Colonial Pipeline 遭 DarkSide 勒索攻击,被迫关闭 5500 英里输油管道;2023 年 Clop 勒索组织利用 MOVEit 漏洞攻击多家工业巨头。
  • APT(高级持续性威胁):国家级或组织级攻击者实施的长期潜伏、定向攻击。典型如 Dragonfly(蜻蜓)组织针对欧美能源行业,入侵工控软件供应链植入后门;APT33 针对沙特石化设施;还有针对乌克兰电网的 BlackEnergy 和 Industroyer 攻击,直接导致大范围停电。

3.1.2 判断方法:攻击类型识别特征

攻击类型主要目标典型特征检测难点
震网破坏物理设备利用零日漏洞、USB摆渡、篡改PLC逻辑回放正常数据,监控系统无法感知
勒索软件经济勒索文件加密、勒索信、RDP爆破、钓鱼加密行为与正常文件操作难以区分
APT长期情报窃取/蓄意破坏潜伏期长、多阶段攻击、定制化工具攻击行为分散,单点检测难以发现
实战经验:在工控安全监测中,不要只关注病毒特征码。应重点监控 OT 协议(Modbus、OPC UA、S7comm)的异常行为,如非预期的写操作、轮询频率突变、工程站与 PLC 之间的异常连接等。这些行为指标(Behavior Indicator)往往比恶意文件特征更早暴露攻击。

3.1.3 案例拆解:震网病毒攻击链复盘

震网攻击是理解工控攻击链的经典教材。其攻击过程可分为四个阶段:

  1. 初始渗透:通过 5 个 Windows 零日漏洞和 2 个西门子漏洞,借助 U 盘摆渡进入纳坦兹核设施内部网络。攻击者事先收集了工程师的社会工程学信息,制作了伪装成离心机图纸的 LNK 文件。
  2. 内网扩散:利用 MS08-067 等漏洞在内网横向移动,同时通过 SMB 共享和打印后台服务传播。感染了约 20 万台计算机,但只有特定配置的离心机控制系统才会触发最终载荷。
  3. 物理破坏:向 S7-300 PLC 上传恶意组态代码,修改离心机转速控制逻辑。攻击者劫持了 OB1 主循环,在特定条件下将转速提升至共振频率,同时向 HMI 回放正常转速数据。
  4. 痕迹清理:恶意代码在完成破坏后自动删除自身,并利用 PLC 的故障自恢复机制掩盖异常。

复盘要点:震网的成功在于攻击者深刻理解了工控系统的“物理-逻辑”耦合关系。它不依赖单一漏洞,而是构建了完整的攻击链。防护启示是:即使网络隔离做得再好,也必须假设“摆渡攻击”可能发生,应在 OT 网络内部部署异常行为检测。

风险提示:不要认为“我们的系统没有连接互联网就安全”。震网、勒索软件等攻击均证明,USB 摆渡、供应链污染、内部人员误操作都可能突破物理隔离。OT 网络必须建立“假设失陷”的安全架构。

3.2 工控系统攻击面分析

3.2.1 核心原理:攻击面的构成与暴露

攻击面是指系统所有可被攻击者利用的入口和路径。工控系统的攻击面比传统 IT 系统更广泛,因为它不仅包含网络层,还包含物理层、协议层和人员层。完整的攻击面分析应覆盖以下维度:

  • 网络边界:IT/OT 之间的防火墙、DMZ 区、远程访问 VPN、无线接入点。这是最常见的攻击入口,Colonial Pipeline 攻击即通过 IT 网络 VPN 账号进入。
  • 现场设备:PLC、RTU、DCS 控制器、智能仪表、传感器。这些设备往往存在固件漏洞、硬编码凭据、未加密的调试接口。
  • 人机接口:HMI、工程站、操作员站。这些系统通常运行 Windows 操作系统,且因兼容性原因无法及时打补丁。
  • 通信协议:Modbus、DNP3、OPC UA、S7comm、EtherNet/IP 等。多数 OT 协议缺乏认证和加密机制,攻击者可伪造报文或实施中间人攻击。
  • 供应链:设备固件、组态软件、第三方库、维护笔记本。2020 年 SolarWinds 事件证明供应链攻击可影响大量下游用户。
  • 人员与流程:运维人员的社会工程学弱点、外包维护人员的访问权限、离职员工的账号残留。

3.2.2 判断方法:攻击面评估流程

  1. 资产盘点:建立完整的 OT 资产清单,包括硬件型号、固件版本、IP 地址、开放端口、运行的服务。使用主动扫描(Nmap、Shodan)和被动监听(流量分析)相结合。
  2. 网络拓扑映射:绘制 OT 网络拓扑图,标注所有边界设备、路由路径、防火墙规则。重点识别“隐形通道”——如维护拨号线路、无线桥接、未记录的 VPN。
  3. 协议分析:抓取 OT 网络流量,识别使用的协议类型、功能码、寄存器地址范围。检查是否存在未加密的明文协议。
  4. 漏洞评估:对每个资产进行漏洞扫描,结合 CVE 库和 ICS-CERT 公告。注意 OT 漏洞扫描需谨慎,避免触发设备故障。
  5. 威胁建模:基于攻击面分析结果,使用 STRIDE 或攻击树方法识别高风险路径。
实战工具推荐:使用 GRASSMARLIN 进行 OT 网络被动映射,Shodan 搜索暴露的工控设备,Nmap 的 modbus-discover 脚本识别 Modbus 设备,Wireshark 的 dissector 分析 S7comm 协议。

3.2.3 实战场景:某制造企业攻击面评估

某汽车零部件制造企业委托进行 OT 安全评估。初步信息:工厂有 3 条生产线,使用西门子 S7-1500 PLC 和 WinCC 组态软件,IT 与 OT 之间部署了防火墙。

评估发现:

  • 防火墙规则过于宽松,允许 IT 网段直接访问 OT 网段的 102 端口(S7comm)和 3389 端口(RDP)。
  • 工程站使用 Windows 7 系统,未安装补丁,且存在弱口令(admin/admin)。
  • PLC 的 CPU 密码为空,任何能访问网络的人都可以上传/下载程序。
  • 无线网络使用 WEP 加密,可被轻易破解。
  • 维护人员使用 TeamViewer 远程访问 HMI,但未启用双因素认证。

整改措施:

  1. 收紧防火墙规则,仅允许特定 IP 和端口通信,部署工业防火墙(如 Tofino、SISCO)进行深度协议检测。
  2. 升级工程站系统,部署白名单软件(如 Application Control),禁止非授权程序运行。
  3. 为 PLC 设置强密码,启用 CPU 访问保护。
  4. 升级无线网络为 WPA2-Enterprise,并启用 MAC 地址过滤。
  5. 远程访问改为堡垒机+双因素认证,并记录所有操作日志。

复盘经验:攻击面评估不是一次性的,应每季度或每次网络变更后进行。评估过程中要平衡安全与生产——某些扫描操作可能影响 PLC 运行,需在停产窗口期进行。

3.3 风险建模方法:STRIDE 与攻击树

3.3.1 核心原理:两种建模方法的定位

风险建模是将攻击面分析结果转化为可量化、可决策的风险清单的过程。STRIDE 和攻击树是两种互补的方法:

  • STRIDE:由微软提出的威胁分类模型,从六个维度系统性地识别威胁。适用于系统设计阶段,帮助架构师在开发早期发现设计缺陷。
  • 攻击树:以树形结构描述攻击者的目标与达成路径。适用于已有系统的风险评估,帮助安全团队理解攻击者的具体手法和所需条件。
STRIDE 维度威胁描述工控场景示例
Spoofing(仿冒)冒充合法用户或设备伪造 Modbus 主站身份写入寄存器
Tampering(篡改)修改数据或代码篡改 PLC 组态逻辑
Repudiation(抵赖)否认已发生的操作操作员否认执行了危险操作
Info Disclosure(信息泄露)敏感数据被未授权访问工艺参数、配方数据被窃取
Denial of Service(拒绝服务)系统不可用DoS 攻击导致 HMI 无响应
Elevation of Privilege(提权)获得更高权限从操作员权限提升至管理员权限

3.3.2 操作流程:STRIDE 建模步骤

  1. 绘制数据流图(DFD):将系统分解为进程、数据存储、外部实体和数据流。对于工控系统,外部实体包括操作员、维护工程师、ERP 系统;进程包括 HMI、PLC、历史数据库;数据存储包括组态文件、报警记录。
  2. 逐元素应用 STRIDE:对 DFD 中的每个元素,逐一检查六类威胁。例如,对 PLC 与 HMI 之间的通信链路,检查是否存在仿冒(Spoofing)风险——攻击者能否伪造 HMI 发送写命令。
  3. 记录威胁场景:为每个威胁编写具体场景描述,包括攻击者位置、所需权限、攻击步骤、影响后果。
  4. 评估风险等级:使用 DREAD 模型(Damage 破坏性、Reproducibility 可复现性、Exploitability 可利用性、Affected Users 受影响用户、Discoverability 可发现性)或 CVSS 评分对威胁排序。
  5. 制定缓解措施:针对高风险威胁设计控制措施,如认证、加密、审计、冗余。

3.3.3 操作流程:攻击树建模步骤

  1. 定义根目标:攻击者最终想达成什么?例如“导致反应釜超压爆炸”或“窃取产品配方”。
  2. 分解子目标:将根目标分解为多个子目标,用 AND(所有子目标都必须达成)或 OR(任一子目标达成即可)逻辑连接。
  3. 递归分解至叶子节点:继续分解子目标,直到叶子节点为具体攻击动作,如“利用 CVE-2021-1234 漏洞”“暴力破解 HMI 密码”。
  4. 标注条件:为每个节点标注所需条件,如“需要物理接触”“需要网络可达”。
  5. 计算风险:根据叶子节点的可行性和所需成本,评估整体攻击路径的风险。
攻击树示例(简化):
根目标:导致 PLC 输出错误控制信号
├── OR 1: 篡改 PLC 组态逻辑
│   ├── AND 1.1: 获得 PLC 访问权限
│   │   ├── 1.1.1 利用空密码登录
│   │   └── 1.1.2 暴力破解密码
│   └── AND 1.2: 上传恶意组态
│       ├── 1.2.1 使用 TIA Portal 上传
│       └── 1.2.2 使用恶意脚本上传
├── OR 2: 篡改 HMI 显示数据
│   ├── 2.1 中间人攻击修改 HMI 与 PLC 通信
│   └── 2.2 直接修改 HMI 组态文件
└── OR 3: 物理攻击
    ├── 3.1 更换 PLC 模块
    └── 3.2 修改传感器信号

3.3.4 常见误区与总结复盘

常见误区:
  • 误区一:只关注 IT 层威胁。很多安全团队将 STRIDE 应用于 IT 网络,却忽略了 OT 协议和物理设备。实际上,OT 层的仿冒和篡改威胁往往更危险。
  • 误区二:攻击树过于复杂。攻击树应聚焦于高价值目标,不要试图穷举所有可能路径。建议控制在 3-5 层深度,重点关注可达性高、影响大的路径。
  • 误区三:建模后不更新。系统架构、设备型号、网络拓扑变化后,风险模型必须同步更新。建议将风险建模纳入变更管理流程。
  • 误区四:忽略人的因素。STRIDE 和攻击树主要关注技术威胁,但社会工程学攻击往往是最容易成功的路径。应在建模中考虑钓鱼、内部人员恶意行为等场景。

总结复盘:风险建模不是一次性的学术练习,而是安全决策的输入。STRIDE 帮助我们从攻击者视角系统性地审视系统设计缺陷,攻击树则帮助我们理解具体攻击路径和所需条件。两者结合使用,可以构建完整的风险视图。在实际项目中,建议先使用 STRIDE 进行初步威胁识别,再对高风险领域使用攻击树进行深入分析。最终输出应包含:威胁清单、风险等级、缓解措施、责任人和时间表。

落地建议:在工控安全项目中,风险建模结果应直接映射到安全分区方案。例如,STRIDE 识别出“仿冒”威胁高风险,则应在分区边界部署支持深度协议检测的工业防火墙,并启用设备指纹认证;攻击树显示“物理攻击”路径可行,则应加强机柜门禁和视频监控。风险建模的价值在于让安全投入有的放矢。