消除安全漏洞

 人参与 | 时间:2026-10-17 07:24:26

去年某地一家三甲医院的消除信息系统被攻破,攻击者没用什么高深手段,安全只是漏洞利用了某个老版本组件里一个三年前就公开的漏洞。数据被锁,消除急诊停摆四小时。安全事后复盘,漏洞修复这个漏洞只需要打一个补丁,消除耗时不到二十分钟。安全

问题从来不是漏洞“能不能修”,而是消除“为什么没修”。

安全漏洞这件事,安全很多人第一反应是漏洞技术问题。代码写得烂,消除防火墙没配好,安全加密算法太弱。漏洞这些当然算,但真正让漏洞活下来的,往往是流程和人的惯性。一个系统上线时做了安全测试,之后三年没人再碰过它。开发团队换了两拨,运维只知道“别动它,动了会崩”。漏洞就在那里,像墙角松动的插座,大家都知道有问题,但没人愿意伸手去拧那颗螺丝。

我见过一个中小企业的内部系统,登录接口居然还允许SQL注入。问技术负责人,他说知道,但改代码要重新走测试流程,测试资源排期排到下季度。业务部门天天催新功能,安全修复永远排在需求列表的最后一行。这不是技术能力不够,是优先级的问题。漏洞被利用的概率看起来很低,修复的成本却实实在在摆在眼前。人脑天生对“可能发生”的坏事打折扣,对“马上要交”的活计给满分。

消除漏洞的第一步,不是买更贵的扫描工具,而是承认一个事实:漏洞不会自己消失,它只会被利用或者被修复。中间状态维持得越久,代价越大。上面那家医院后来算了一笔账,停摆四小时的损失,够养一个安全团队好几年。

具体怎么做?几个观察。

把安全修复纳入常规迭代,别搞“专项治理”。专项治理的意思是“平时可以烂,关键时刻擦一擦”。漏洞修复应该像还技术债一样,每个 sprint 留固定比例的时间。哪怕只有百分之十,持续做,比攒到年底突击强十倍。

让开发者为自己的代码安全负责。很多公司把安全测试外包给独立团队,开发写完代码就甩手。结果安全团队提一堆问题,开发觉得是找茬,改得敷衍。更好的做法是:安全团队提供工具和培训,开发自己在提交代码前跑一遍扫描。谁写的洞谁补,责任清晰。

还有一个容易被忽略的点:资产清单。你都不知道自己有哪些系统、哪些版本、哪些组件,谈何修复?见过一个团队用 Excel 管资产,最后发现漏了三台测试服务器,其中一台还开着公网访问。先把家底摸清楚,再谈漏洞管理。

最后说句实在的。没有零漏洞的系统,就像没有零故障的机器。目标不是消灭所有漏洞,而是把风险压到可接受的范围,并且保证修复速度比攻击速度跑得快。那个医院后来定了条规矩:高危漏洞四十八小时内必须闭环。做不到的,系统下线。狠是狠了点,但再没出过事。

安全这件事,技术是工具,流程是骨架,真正起作用的,是愿不愿意把“知道”变成“做到”。

顶: 515踩: 18