1. ATT&CK v18-ICS矩阵概述
ATT&CK v18-ICS矩阵是MITRE公司针对工业控制系统(Industrial Control Systems)安全威胁推出的战术技术框架。作为ATT&CK知识库的工业版分支,它专门映射了针对OT环境的攻击手法,与传统的企业IT版ATT&CK矩阵形成互补。2023年发布的v18版本新增了针对PLC、DCS等工业设备的14项战术技术,覆盖从初始访问到影响执行的完整攻击链。
这个框架的价值在于:它用攻击者视角系统化呈现了工业环境中的安全威胁,帮助防御者构建"以攻击为中心"的防御体系。不同于传统漏洞库的孤立描述,ATT&CK-ICS通过战术(Tactic)、技术(Technique)、子技术(Sub-technique)的三层结构,还原了攻击者的完整操作逻辑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. ICS环境特有的攻击技术解析
2.1 工业协议滥用(T0856)
Modbus、DNP3等工业协议普遍缺乏加密和认证机制。攻击者常通过协议逆向工程,构造恶意指令包直接操控设备。例如通过Modbus功能码6(写单个寄存器)篡改PLC的设定值。防御方案包括:
- 部署协议白名单设备(如Tofino防火墙)
- 启用OPC UA等支持加密的新一代协议
- 在网络层实施深度包检测(DPI)
2.2 工程工作站入侵(T0803)
攻击者通过钓鱼邮件获取HMI/SCADA工程站的访问权后,可进行以下操作:
- 修改Step7/TIA Portal项目文件
- 注入恶意逻辑块(如OB35循环中断组织块)
- 通过变更管理工具(如PCS7)将恶意程序下发到控制器
防护要点包括:
- 工程站实施应用白名单
- 项目文件进行数字签名验证
- 采用变更管理系统的审批工作流
3. 新版v18的核心更新内容
3.1 新增的战术技术
| 技术ID | 名称 | 攻击场景示例 |
|---|---|---|
| T0875 | 固件伪造 | 通过供应商软件漏洞植入恶意固件 |
| T0882 | I/O模块劫持 | 物理接入远程I/O模块实施中间人攻击 |
| T0891 | 安全仪表系统绕过 | 篡改SIS的触发阈值参数 |
3.2 增强的防御规避技术
v18特别强调了攻击者如何规避工业环境特有的防护措施:
- 利用PLC的"停止模式"绕过过程告警(T0849)
- 通过工程软件的后门账户隐藏恶意逻辑(T0863)
- 篡改审计日志的存储周期(T0886)
4. 实战化应用指南
4.1 威胁狩猎实践
针对T0861(未授权指令执行)的狩猎方案:
- 采集PLC通信流量(如通过Mirror端口)
- 解析Modbus/TCP报文中的功能码
- 建立合法指令基线(如仅允许FC3读保持寄存器)
- 告警异常功能码(如FC6写寄存器)
4.2 红蓝对抗演练
典型ICS攻击链复现步骤:
python复制# 模拟T0879(默认凭证利用)
from pyModbusTCP.client import ModbusClient
plc = ModbusClient(host='192.168.1.10', port=502)
plc.write_single_register(40001, 100) # 篡改温度设定值
关键提示:演练必须使用隔离测试环境,避免影响生产系统
5. 防御体系构建建议
5.1 分层防护策略
- 网络层:工业DMZ划分 + 单向光闸
- 主机层:工控终端加固(禁用USB/自动运行)
- 应用层:HMI二次认证 + 操作审计
- 设备层:PLC代码签名 + 运行时监测
5.2 持续监测方案
推荐部署以下检测手段组合:
- 网络流量分析(如Claroty)
- 控制器指纹识别(如aDolus)
- 过程异常检测(如Nozomi)
- 资产配置监控(如Tenable.ot)
6. 常见认知误区纠正
误区1:"工业隔离网络绝对安全"
事实:攻击者可通过维护笔记本、感染U盘等跳板突破气隙隔离
误区2:"协议加密就能万无一失"
事实:加密协议若实现不当(如硬编码密钥)仍可能被破解
误区3:"老旧系统无法防护"
事实:即使WinXP系统,通过主机防火墙、应用白名单仍可提升防护
7. 资源与工具推荐
7.1 官方资源
- MITRE ATT&CK-ICS官网:可交互式查看技术关系
- ICS威胁报告库:包含真实攻击案例映射
7.2 开源工具
- GRASSMARLIN:网络拓扑发现
- ICSpector:PLC代码静态分析
- LogixScan:罗克韦尔PLC配置审计
在实际应用中,建议先针对自身工业环境的高危技术(如T0861指令注入)制定专项检测规则,再逐步扩展覆盖范围。我们团队在实施某石化项目时,通过ATT&CK-ICS矩阵发现攻击者曾利用T0853(工程软件漏洞)试图篡改PID参数,最终通过添加DCS操作二次确认机制成功阻断。
