游客发表
某石油炼化厂的基于DCS系统被攻破,攻击者没有触碰任何物理阀门,攻击工控只是系统性量篡改了PID控制器的参数——温度曲线在十二小时内缓慢偏移了3.8度,直到换热器管壁出现微裂纹才被巡检员发现。脆弱这类案例正在变多,化方而传统的基于漏洞扫描报告对此毫无解释力。它们只告诉你哪个端口开着,攻击工控哪个补丁没打,系统性量却说不清攻击者究竟能沿着哪条路径,脆弱从一台打印机摸到反应釜的化方紧急停车系统。
攻击图的基于价值恰恰在于把这种“摸到”的过程显性化。节点是攻击工控设备或服务,边是系统性量权限提升或网络跳转,一个完整的脆弱攻击路径就是一张有向图。但问题来了——图只是化方拓扑,不是度量。你知道有三百条路径可达核心控制器,可哪条最危险?哪条最该先堵?这就是脆弱性量化要回答的。
我见过最粗糙的做法是给每条边赋一个CVSS分数,然后算路径上分数的平均值。这很荒谬,因为CVSS是静态的,它不关心你的工程师是否把工程站和办公网做了物理隔离,也不关心PLC的固件是否三年没更新。真正的量化必须把环境因素拉进来。比如同一台Windows工控机,在允许U盘直插的车间和部署了USB管控的车间,其被利用难度完全是两个量级。
更务实的做法是引入贝叶斯网络。把每个节点的“被攻破概率”当成条件概率来算——攻击者已经拿下工程师站的前提下,拿下历史数据库的概率是多少?这需要历史告警数据、威胁情报和现场安全策略来共同校准。我去年调研过一家汽车焊装线,他们用这个方法跑出来的结果很有意思:最危险的路径根本不是从IT网段横向渗透,而是从一台暴露在外的远程运维网关直接跳到机器人控制柜,中间只隔了两层弱口令。
量化结果必须落到行动上,否则就是废纸。具体来说,我会建议把每条攻击路径的“预期损失”拆成三个因子:可达性(这条路径要跨几个安全域)、可利用性(需要什么权限级别、有没有现成EXP)、后果严重度(终端节点是SIS系统还是普通变频器)。算完之后,你得到的不是一个玄学的“风险值”,而是一张排序表——排第一的那条路径,多半就是最该优先做网络分段或补丁加固的地方。
有个细节值得注意:攻击图量化对数据质量极其敏感。如果你的资产台账里IP地址是错的,或者把停产的老旧PLC也画进拓扑里,算出来的图会漂亮得吓人,但实际攻击者根本碰不到那些节点。我见过某电厂拿着过期的网络拓扑图做分析,结果把一条已经废弃的MODBUS链路当成高危路径,白白浪费了两周的整改资源。所以,量化前先花力气把资产清单捋清楚,比任何高级算法都重要。
最后说句实在的——攻击图量化不是银弹。它擅长回答“哪条路最容易被走通”,但回答不了“攻击者会不会走这条路”。后者取决于攻击者的动机、耐心和随机性。可即便如此,能知道最脆弱的几条路径长什么样,已经比在黑暗里乱摸强太多了。工控安全不是做数学题,是在跟一群有耐心的对手下棋。你至少得先看清棋盘上哪些格子是塌的。
友情链接