攻破与防御去中心化系统的艺术 – ImmuneBytes

本文深入探讨了区块链安全,指出其不仅仅是代码层面的问题,更是一场策略性的对抗游戏。攻击者总是先行动,通过信息不对称、信号传递和多轮攻击等手段,利用防御者的盲点和激励机制漏洞。文章强调,成功的防御需要理解攻击者的策略,并设计能够打破其游戏规则的防御机制。

2025年6月10日

我过去认为区块链安全是一场代码之战;在 DeFi 或 NFT 智能合约的业务逻辑中寻找漏洞,在密码学中创建和破解安全通信和加密协议,或者使用形式化验证以数学方式找到不成立的属性和规范。但是,我越深入研究,就越意识到区块链安全不仅仅是代码。而是关于游戏,战略性的、对抗性的、不断发展的游戏。在这些游戏中,攻击者 总是先行动。

例如,想象一下:如果你是一名攻击者,你会如何破坏区块链系统?只是利用一个漏洞?还是胜过整个安全模型?

如果我告诉你,一次攻击不仅仅是一次单一的攻击,而是一场多步骤、多回合的交战,其中攻击者 针对一个防御不完善的系统采取完美的策略?这就是对抗性博弈论的意义所在。这就是为什么区块链安全本质上是一场关于谁玩得更好的竞赛。

破坏系统:攻击者 如何行动

对抗性博弈论,以其最简单的形式,描述了两个理性的代理(一个攻击者和一个防御者)如何以相反的动机进行竞争。但有趣的地方在于:大多数对区块链协议的攻击都不是一次性的攻击。相反,它们像多回合战略游戏一样展开,其中攻击者 利用可预测的防御者 行为、激励不匹配和信息不对称。让我们看看它的实际运作。

第一步:侦察阶段 (攻击者 的信息优势)

每一个好的对抗性游戏都始于信息不对称——一方比另一方知道得更多。攻击者 总是拥有先发制人的优势,因为他们可以选择何时、何地以及如何攻击。

  • MEV 机器人 vs. 未受保护的交易 → 当用户向去中心化交易所 (DEX) 提交大额交易时,他们认为自己是安全的。但是一个攻击者(在这种情况下,一个 MEV 机器人)在交易执行之前在 mempool 中看到了它,并抢先交易,提取价值。
  • 跨链桥漏洞 → 攻击者 监控桥交易,寻找状态同步中的微小不一致。一旦他们发现了一个,他们不会立即攻击。相反,他们会用小的、增量的交易来测试系统——观察验证者如何响应。
需要记住的关键点:每一次攻击都始于对防御者 盲点的深刻理解。协议行为的可预测性越高,就越容易玩游戏。

第二步:信号和欺骗 (游戏之前的游戏)

这就是博弈论真正发光的地方——攻击者 不仅仅是行动;他们发出信号、虚张声势和误导。

想象一下施塔克尔伯格博弈,这是对抗性博弈论中的一个基本模型,其中一个玩家(攻击者)先行动,第二个玩家(防御者)做出反应。

  • Nomad 桥漏洞 (2022) → 我见过的最令人着迷的对抗性行动之一。攻击者 没有立即耗尽桥,而是通过进行一个看起来很奇怪的交易来巧妙地发出一个漏洞信号,这个交易模仿了一个合法的交易。
  • 其他攻击者 看到了这个信号并涌入,导致了一场疯狂的公开攻击,超过 1.9 亿美元被耗尽——不是被一个攻击者 耗尽的,而是被数百个攻击者 耗尽的。

第一个攻击者 操纵了网络的感知,通过利用人们对可见漏洞的反应方式,引发了一场灾难性事件。

需要记住的关键点:在对抗性游戏中,有时最好的行动不是直接攻击——而是让其他人为你做。

第三步:多回合攻击 (为什么简单的防御会失败)

在大多数情况下,防御是为单回合攻击设计的——智能合约错误被利用,补丁被部署,问题得到“解决”。

但是当一个攻击在多个回合中展开时会发生什么?

  • 治理攻击剧本 → 攻击者 从一个小型的、看起来无辜的治理提案开始。
  • 一旦它通过,他们就提交一个后续提案,稍微改变激励机制。
  • 只有经过多次迭代,他们才会引入恶意的改变,慢慢地耗尽国库资金。

这种多步骤的对抗性策略就是我为什么认为区块链安全不是关于修补代码——而是关于修补博弈机制。

需要记住的关键点:如果你的协议可以在多个阶段被利用,假设攻击者 会慢慢来。快速攻击很花哨。缓慢攻击是致命的。

黑暗森林 & 沉默的杀手

这里我们谈谈在阴影中进行的游戏。

如果你在区块链安全领域待了足够长的时间,你可能听说过黑暗森林理论。Dan Robinson 和 Georgios Konstantopoulos 在 2020 年写了关于它的文章,当时他们试图对一个有漏洞的以太坊合约进行白帽救援。

事情是这样的:

  • 他们看到一个钱包暴露了私钥。
  • 他们试图通过发送一笔交易来转移资产来挽回资金,赶在攻击者 行动之前。
  • 在他们的交易被确认之前,一个 MEV 机器人抢先交易并偷走了所有东西。

教训是?如果你的交易是可见的,那就已经太晚了。mempool 是一个战场,每一步行动都会被预测和反击。

需要记住的关键点:每一个广播到 mempool 的交易都是对攻击者 优化你的公开邀请。

最后的行动:为什么这个游戏永远不会结束

区块链安全不是关于预防所有攻击——这是不可能的。而是关于理解攻击者 正在玩的游戏,并设计出在他们破坏你的协议之前就打破他们策略的防御。

这是我们最失败的地方:

❌ 我们假设攻击者 像我们一样思考。

❌ 我们假设安全是一个技术问题,而不是一个激励问题。

❌ 我们假设一次性的补丁可以永久解决问题。

但是攻击者 从未停止游戏。他们分析你的激励,预测你的对策,并调整他们的策略。

需要记住的关键点:每一个防御都会创造一个新的游戏。每一个游戏都有新的规则。而那些最了解这些规则的人——获胜。

你应该比现在更担心的事

我会留下一些应该让你夜不能寐的事情:

🚨 单次防御不起作用——如果你的安全模型假设攻击者 会尝试一次就离开,那么你已经输了。

🚨 区块链中的一切都是非对称信息游戏——攻击者 总是比防御者 看到更多。

🚨 如果一个攻击看起来太简单,你就错过了更深层次的行动——大多数表面上看起来很基础的漏洞实际上是伪装成低成本攻击的多步骤攻击。

🚨 如果激励不一致,最终会有人利用它们——无论你审计代码多少——如果有钱可赚,就会有人玩游戏。

结束语:这就是我热爱这个领域的原因

区块链安全不仅仅是关于代码。而是关于预测对抗条件下的人类行为。是关于像攻击者 一样思考,同时像防御者 一样设计。最重要的是——是关于始终保持领先一步。

🚀 轮到你了。你认为我们会在野外看到下一个对抗性策略是什么?

  • 原文链接: blog.immunebytes.com/the...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ImmuneBytes
ImmuneBytes
Stay Ahead of the Security Curve.