作者: Aviv Yaish 编译:Cointime Lu Tian
区块提案者(proposers) 在创建区块时,可能会投机性地执行交易以最大化利润。然而,这个做法可能会带来安全隐患。
在“以太坊中的推测性拒绝服务攻击”一文中,我们揭示了投机性执行使攻击者能够以低成本对网络发起DoS攻击。
以下是本主题的详细解读:
以太坊的交易费用机制旨在保护节点免受DoS攻击:交易的操作预算有限,且创建者必须为每个操作支付费用,即使相关交易已被撤销。
然而,费用只能从包含在区块中的交易中收取,而聪明的攻击者可能会制作无法包含的交易。我们发现了三种基于这种洞察力的攻击。
第一种攻击,名为 ConditionalExhaust,需要创建“双面”交易,这些交易仅在由无法将其包含在区块中的区块创建者执行时才会消耗大量计算资源,而在其他情况下则简单且支付的费用较少。.
举例来说,如果已知即将到来的区块提议者会审查合法交易,攻击者可以发送 ConditionalExhaust 交易,最终与受制裁实体进行交互,从而使提议者无法合法地将其包含在区块中。
我们在本地测试网络上测试了 ConditionalExhaust,结果表明攻击者仅需发布140笔交易,花费不超过770美元,就能耗尽受害者的资源,使其无法在其区块中包含任何交易,从而严重影响系统的活跃度。
第二种攻击,名为 MemPurge,允许从受害者的内存池中驱逐诚实交易。区块链节点将交易保存在一个称为内存池的有限大小的数据库中。当达到容量限制时,现有交易可能被替换,以容纳新的、支付更高费用的交易。
节点并不执行所有传入的交易,因为这将消耗大量计算资源。相反,节点使用启发式方法来判断交易的盈利能力和有效性。MemPurge 攻击创建表面上有效,但实际上无效的交易,从而将支付较高费用的诚实交易驱逐出内存池。
MemPurge 攻击允许攻击者发送一个包含65个交易的链,但在最坏情况下仅需为单个交易付费,这意味着驱逐交易的成本相当低。
此外,MemPurge 和 ConditionalExhaust 可以结合使用,同时耗尽受害者的计算资源并阻塞其内存池。
第三种攻击,名为 GhostTX,利用交易验证过程中的不一致,创建交易迫使搜索者和构建者将其包含在捆绑包和区块中,即使这违反了他们的审查政策。
例如,受害者可能会审查 Tornado Cash,而 GhostTX 可以“欺骗”他们将 TC 交易包含在他们的区块中。在 PBS 生态系统中,搜索者的声誉取决于其发送的、最终落在链上的交易数量,因此 GhostTX 可能会损害他们的声誉。
我们的研究表明,执行成本低于1000美元的 GhostTX 攻击,可以使排名高于86%的搜索者的声誉降至最低40%。
本研究揭示了支持智能合约语言的区块链在安全性和弹性方面的重要问题。我们希望这些发现能够激励生态系统和研究人员采取措施保护这些平台免受潜在攻击者的侵害。
所有评论