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

文章探讨了区块链安全不仅仅是代码层面的问题,更是一场战略性的对抗游戏。攻击者总是先行一步,通过信息优势、信号传递和多轮攻击等手段,利用防御者的盲点和激励机制的漏洞来突破系统。因此,区块链安全的关键在于理解攻击者的策略,并设计能够打破这些策略的防御机制。

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

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

如果我告诉你,一次攻击不仅仅是一次单一的利用,而是一场多步骤、多回合的交锋,攻击者针对一个防御不完善的系统采取完美的策略呢?这就是对抗博弈论的意义所在。而这就是为什么区块链安全从根本上来说,是一场关于谁能玩好游戏的竞赛。

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

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

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

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

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

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

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

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

  • Nomad Bridge 漏洞利用 (2022) → 我见过的最引人入胜的对抗行为之一。攻击者没有立即耗尽桥的资金——相反,他们通过进行一笔看起来很奇怪的交易(类似于合法的交易)来巧妙地发出一个漏洞的信号。
  • 其他攻击者看到了这个信号并蜂拥而至,导致了一场疯狂的公开攻击,超过 1.9 亿美元被耗尽——不是由一个攻击者,而是由数百个攻击者。

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

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

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

在大多数情况下,防御是为单回合攻击而设计的——一个智能合约漏洞被利用,一个补丁被部署,问题就“解决了”。

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

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

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

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

黑暗森林 & 沉默的杀手

在这里我们将讨论在阴影中进行的游戏。

如果你在区块链安全领域待了足够长的时间,你可能听说过 黑暗森林理论(Dark Forest Theory)。Dan Robinson 和 Georgios Konstantopoulos 在 2020 年写了这篇文章,当时他们试图对一个易受攻击的以太坊合约进行 白帽(white-hat) 救援。

以下是发生的事情:

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

教训?如果你的交易是可见的,那就已经太晚了。内存池(mempool) 是一个战场,每一个行动都会被预料到并被反击。

记住的关键点:每一个广播到 内存池(mempool) 的交易都是对攻击者的公开邀请,他们可以优化你的交易。

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

区块链安全不是为了阻止所有的攻击——这是不可能的。而是要了解攻击者正在进行的游戏,并设计出在他们攻破你的协议之前就能打破他们策略的防御措施。

这是我们最失败的地方:

❌ 我们假设攻击者的想法和我们一样。

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

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

但是攻击者永远不会停止游戏。他们会分析你的激励机制,预测你的对策,并调整他们的策略。

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

你应该比现在更担心的事情

最后,我想给你留下一些应该让你夜不能寐的事情:

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

🚨 区块链中的一切都是一场非对称信息博弈——攻击者总是比防御者看得更多。

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

🚨 如果激励机制没有对齐,最终会有人利用它们——无论你如何审计代码,如果有利可图,就会有人参与这场游戏。

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

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

🚀 轮到你了。你认为我们接下来会在野外看到什么样的对抗策略?

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

0 条评论

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