新的研究发现,可能会误用一种标准的比特币交易方式来实现双倍支出。
钱包初创公司ZenGo的区块链侦探发现了一个漏洞,该漏洞至少影响了三个主要的竞争加密钱包-LedgerLive,Edge和Breadwallet-甚至可能更多。
该漏洞被总部位于特拉维夫的公司称为BigSpender,它使黑客能够将用户的资金花费双倍,并可能阻止用户再次使用其钱包。它通过利用某些钱包的处理方式来处理比特币的按需收费功能,该功能具有故障保护功能,使用户能够将未经确认的交易与费用较高的交易进行交换。
ZenGo首席执行官OurielOhayon在一封电子邮件中说:“可能会导致重大的财务损失,并在某些情况下使受害者的钱包完全无法使用,而受害者无法保护自己。”“因此,这可以看作是严重程度很高的攻击。”
像其他具有相关漏洞的可选比特币功能一样,RBF功能已成为用户来回传递价值的标准方式。它被开发者社区推销并接受,作为比特币人通过支付更多费用来规避缓慢确认时间的一种方式。
匿名的比特币研究人员0xB10C表示,从一开始,人们就担心尽管RBF功能已集成在比特币系统的协议层中,但并未得到比特币钱包的充分支持。“ZenGo表明,用户可能被,以为他没有收到比特币。我相信这是新颖的。我至少以前没有听说过,”他说。
该公司测试了九种不同的钱包,包括LedgerLive,Trust钱包,Exodus,Edge,Bread,Coinbase,BlockstreamGreen,Blockchain和AtomicWallet。在测试的对象中,发现有三个很容易受到理论攻击。
Ohayon说:“我们还没有测试所有的钱包,但是如果涉及到其中三个最大的钱包,那么可能还会更多。”ZenGo将发现的结果通知了公司,并给了他们90天的时间修复漏洞。
EdgeCEOPaulPuey在一封电子邮件中说,Ledger和BRD已经发布了代码更改以防止攻击发生,并向ZenGo支付了未公开的bug赏金,而Edge正在进行“重大重构”以解决该问题,Edge首席执行官PaulPuey在一封电子邮件中表示。
前比特币开发商,RBF的建筑师彼得·托德说,这种黑客利用了某些钱包如何处理未经确认的交易的已知漏洞,包括但不限于RBF。
工作原理:攻击者将资金发送给预定的受害者,并将费用定得足够低,几乎可以保证交易不会收到确认。对于易受攻击的钱包,此未完成的交易将反映为收件人的帐户余额的增加,可能导致某些受害者错误地认为已确认了该未完成的交易。然后,攻击者通过使用RBF将接收者更改为他们控制的地址,以ZenGo的术语“取消”待处理的交易。当受害者意识到交易实际上已被取消时,他将交付货物。
需要明确的是:在RBF之前可能会发生类似的攻击,但是在钱包提供商没有采取适当预防措施的情况下,付款方式突显了这种风险。
恶意行为者可以利用受害人陈述的余额与实际余额之间的这种差异,诱使人们在不支付费用的情况下提供商品或服务,但所花的费用很少。从这个意义上讲,缺陷在于钱包的UX和UI设计。
双重麻烦?
ZenGo的研究人员说,如果黑客可以诱一个人相信他们已经收到付款,同时又保持对比特币的控制权,那么这就是双花。其他人对此术语的使用提出异议。
“您必须确定双重支出的定义是什么。多数不是巨魔的人会说,双倍支出是指您有一笔已确认的交易因某种原因而无效并花费在另一笔已确认的交易上,”保管公司Casa的首席技术官JamesonLopp说道。
本质上,这种攻击利用了钱包显示未确认交易的方式。从这个意义上讲,这种攻击并没有破坏比特币代码的运行方式。
洛普说:“区块链的全部目的是防止双重支出问题。”“它可以追溯到原始的Satoshi白皮书,该白皮书说,双花的解决方案是拥有许多人正在检查的分布式分类帐。”
您唯一可以依靠的是已开采的交易
0xB10C说,与比特币进行交易的一般经验法则是,永远不要信任少于六个确认的交易。包括Todd,Lopp和BRDCTOSamuelSutch在内的许多开发人员都重申了这一点。如果此漏洞利用得以实现,那么受害者至少应承担部分责任。
“您唯一可以依靠的是已经开采的交易,”托德说。
从这个意义上讲,Sutch将BigSpender称为“次要错误”和“人为的”,但也值得修复并为此付出赏金。Sutch说,BRD最近通过了500万用户。
洛普说:“更多的钱包开发人员需要知道他们的用户并不了解其内在区别。”从安全的角度来看,许多人甚至都不知道已确认和未确认之间的区别。因此,开发人员有责任建立更好的用户体验,这样他们就不会被诸如此类的事情所迷惑和。”
为此,Ledger更新了钱包显示待处理交易的方式。如果用户不确定使用块浏览器“检查交易状态”。Ledger的首席技术官CharlesGuillemet在电子邮件中说:“今天的银行无法进行这种验证。”
双重视野
更新钱包以清楚地显示RBF交易期间发生的事情对于每个参与人员都是一件好事。但是,ZenGo的研究人员发现,存在第二种攻击,该攻击遵循上述相同的方案,并且无论受害者是否知道交易,都可能永久禁用钱包。
在这种情况下,攻击者再次通过向受害者的钱包发送重复交易来人为地虚增受害者的余额。这可以在未经受害者同意的情况下完成。通过在确认交易之前重新路由交易,受害者的钱包余额和实际资金再次分离,从而使他们的钱包无法使用。更糟糕的是,攻击可能同时影响多个钱包。
从本质上讲,这是拒绝服务攻击,阻止人们使用钱包。
Ohayon说:“如果钱包的硬币选择算法从这笔不存在的交易中选择资金,这也会使其他种类的发送尝试失效。”用Sutch的话来说,这些钱包是“砖状的”。“这带来了极大的不便。”
Sutch说,BRD在收到警报后将漏洞作为公司的首要任务。他说,奇怪的是,它在解决一个不相关的问题时设法修复了该错误。
ZenGo的安全性研究提出的问题并未被团队测试的钱包所隔离。在绝大多数的Bitcoin钱包都能够接收RBF交易,其中许多人背后的公司是“资源约束”,Sutch说,并不能立即提供修补程序。
Lopp说,在Casa上启用RBF功能时,他将系统配置为在确认之前不显示这些类型的交易,这在行业中是非标准的。他说:“默认参数将显示这些交易。”
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。