缺陷来自设计假设
许多工业协议诞生于专网时代,设计目标是简单、确定、低开销,因此没有把身份认证与报文完整性纳入协议本身:客户端不需要证明自己是谁,服务端也不校验请求是否被篡改,报文通常以明文传输。这意味着只要某台主机能够在网络上到达目标设备,就可能发出合法格式的指令。协议本身很难被改造(现场设备成千上万且不允许升级),可行的路线是在协议之外建立控制:让不该到达的设备不可达、让不认识的通信被拒绝、让危险操作在传输路径上被拦下。新协议如同期出现的现代工业通信标准本身具备安全通道与认证能力,但能否启用取决于设备与版本,需以厂商文档为准。
基本信息
| 主要表现 | 无身份认证、无报文完整性保护、明文传输、无操作授权粒度 |
|---|---|
| 影响范围 | 传统工业协议与现场总线封装协议,具体支持与安全能力以厂商与标准文档为准 |
| 不能做的事 | 指望在现场升级或替换协议来获得认证能力,代价与风险通常不可接受 |
| 外部控制层次 | 网络不可达(隔离)、通信关系白名单、协议感知过滤、操作级限制 |
| 新协议的安全能力 | 部分较新的工业通信标准提供安全通道、证书与认证,需确认设备是否支持并实际启用 |
| 评估方法 | 按「谁能到达、到达后能做什么、做完能否发现」三个问题逐条推演 |
控制措施清单
- 收紧可达性:让能发出控制指令的主机范围尽可能小,非必要主机一条通路都不留
- 白名单通信:只允许已登记的源、目的、协议与操作类型,其余拒绝
- 协议感知过滤:在具备协议解析能力的边界设备上限制写操作与程序下载类指令
- 启用可用安全机制:新协议若支持安全通道与证书认证,按厂商指引启用并管理证书
- 运维流程控制:程序下载与参数修改走审批与留痕流程,事后可追溯
- 发现能力建设:即便不能阻止,也要能在监测点看到异常指令与异常客户端
- 老旧设备前置防护:对完全无认证能力的设备,加装前置过滤设备作为长期措施
控制层次与效果
| 控制层次 | 手段 | 效果 |
|---|---|---|
| 网络不可达 | 区域隔离与访问控制 | 最根本,但任何旁路都会使效果归零 |
| 通信白名单 | 只放行登记过的通信关系 | 限制攻击者可用的通路与目标 |
| 协议语义过滤 | 限制可执行的操作类型与访问范围 | 在允许的链路上进一步收窄能力 |
| 协议安全机制 | 启用安全通道与证书认证 | 取决于设备支持与版本,覆盖范围有限 |
| 监测与响应 | 发现异常指令并告警 | 不阻止但能缩短发现时间,是最后的兜底 |
「这是专网所以不用担心」这个前提需要定期验证:专网是否还真的封闭,是否有新增的远程接入、无线接入或数据上行走廊。协议无认证的代价会随可达路径数量上升而迅速放大,可达路径的清查本身就是一项持续性工作。