白名单建模的基本逻辑
白名单与黑名单的差别在于判断基准:黑名单列举已知的坏行为,白名单只承认已知的好行为,其余一律拒绝。这在工控场景里更合适,因为现场通信高度规律,正常行为可以枚举,而攻击手法难以穷举。建模过程是:用一段学习期采集真实流量,把通信关系聚合简化成允许清单,经工艺与运维评审后上线执行,之后持续维护。白名单的质量取决于学习期是否覆盖了全部运行工况,漏掉任何一类工况,都会在上线后表现为合法通信被阻断。
基本信息
| 建模输入 | 真实流量采集数据、设备通信矩阵、工艺操作规程、换型与检修计划 |
|---|---|
| 学习窗口 | 必须覆盖全部工况:正常生产、启停、换型、检修、季节差异、备用设备投运 |
| 聚合维度 | 通信双方、协议、方向、操作或服务类型、通信周期与频率 |
| 输出形式 | 允许清单加例外清单,例外项须写明原因与到期时间 |
| 维护触发 | 新增设备、工艺改造、软件升级、上新产品、设备更换之后 |
| 失效表现 | 拦到合法流量(影响生产)或放过异常流量(形同虚设),两者都要有反馈处理渠道 |
建模七步
- 明确范围:确定要对哪些区域之间的通信建模,避免一口吃成全厂
- 采集流量:在学习期用镜像或旁路方式记录通信,避免干扰生产
- 覆盖工况:把检修、换型、季节与备用设备启用等非常规工况纳入窗口
- 聚合建模:把海量会话聚合成可读的允许条目,保留周期特征作为辅助判据
- 评审清单:由工艺、设备管理与安全共同确认每条允许关系的业务依据
- 上线执行:先只记录不放行观察窗口,再切到阻断模式,并保留快速回退手段
- 持续维护:把新出现的拒绝记录纳入定期评审,既不放过异常也不长期拦住合法业务
建模维度的代价与效果
| 维度 | 能约束什么 | 代价 |
|---|---|---|
| 地址与端口 | 哪些设备之间可以通信 | 约束最弱,未限制通信内容与范围 |
| 会话方向与频率 | 通信方向、周期是否符合规律 | 需要额外判据维护,异常判定可能出现误报 |
| 协议与服务类型 | 使用什么协议、什么服务 | 需要协议解析能力 |
| 协议语义与操作范围 | 读写哪类对象、允许什么操作 | 解析深度高,性能与维护成本最大 |
学习期最容易出的错是把异常流量一起学进基线:如果采集时已有异常通信或存在被感染的终端,白名单会把它固化成合法行为。因此采集前应确认现场状态正常,并在评审阶段人工核对清单里是否出现难以解释的通信关系。