玩打地鼠游戏注定失败

Playing whack-a-mole is losing

玩打地鼠游戏注定失败

文章对比了安全领域的两种人:将安全视为身份认同的“黑客”和将安全视为系统鲁棒性的工程师。前者沉迷于发现漏洞的惊喜感,后者致力于构建在故障和攻击下仍能正常运行的系统。作者指出,过度依赖漏洞赏金计划(VRP)来修补漏洞,本质上是在玩“打地鼠”游戏,这虽然能制造出解决率上升的假象,却无法从根本上减少系统的不安全性。真正的胜利不是快速修复已知问题,而是通过架构优化和代码安全,让同类问题不再发生。如果安全团队只关注发现漏洞而忽视系统性修复,最终只会因无法承受压力而崩溃。

玩打地鼠游戏注定失败,因为每一个被打中的地鼠,都是攻击者的一次机会。
  1. matthewdgreen

    我观察到成为安全工程师有两个阶段。第一阶段是摆脱“我是一名工程师”的思维定式,那种思维的目标是构建符合特定设计约束的系统。你必须意识到,系统完全可以在这些设计约束之外运行。这对优秀的工程师来说,学起来难到令人震惊——我曾身处满是这类工程师的房间,亲眼见证他们恍然大悟的那一刻。

    第二阶段是工程师们意识到,仅仅逐个修补具体漏洞并不能终结 bug——你需要采取系统性措施,彻底关闭整类漏洞。形式化验证、沙箱、MTE 等技术正是由此而生。但在实践中,到目前为止,这并没有终结漏洞,反而引发了一堆更新、更刺激的漏洞。

    我希望能相信,只要足够努力,我们就能让 AI 完成这一切,从而实现无安全漏洞。但如果做不到,至少我们也能让新漏洞的利用成本再次变得高昂。

  2. h3lp

    我觉得“打地鼠式”的漏洞修补和系统性安全工程之间,界限并没有那么清晰。例如,他举了 Chromium 中反复出现的安全漏洞作为例子:DCHECK 违规一次又一次地发生。

    然而,DCHECK 是 Chromium 中用于防御性检查不变量的断言。换句话说,这恰恰是基于不变量的安全工程的例子,而他正是用这个来与“打地鼠”式的方法做对比。

    话说清楚一点,我认为他的观点有道理,我也读得很享受——但我们背负的问题,不会因为顿悟而瞬间消失。

  3. Animats

    “打补丁再发布”的安全模式已经死了。在补丁发布之前,AI 辅助的攻击者就已经入侵、窃取并撤离了。开发者必须认清这一点。

    “瑞士奶酪”式的安全防御也完了。AI 系统拥有足够的耐心和广泛的技术能力,能够层层突破薄弱的安全防线。过去需要资金充足的团队才能发起的攻击,现在个人就能搞定。

同日更多故事

2026-09-09