某些比特币钱包中的漏洞会导致双重支出攻击和夸大余额

2020-07-02 14:04:33

名为BigSpender的漏洞可能会导致您钱包上的余额不正确,因为您的总余额中会计入未经确认的交易。攻击者可能会在确认事务之前撤销该事务,这可能会导致一些混乱。

即使您不熟悉加密货币,这种类型的攻击在点对点市场上也很流行,比如Craigslist。比方说你想卖一部手机。有人可能会告诉你,他们想买你的设备,然后给你发一封假的贝宝交易电子邮件。如果你只看这封电子邮件,你可能会认为买家已经把钱寄给你了。但是如果你加载了你的PayPal账户,你可能会注意到买家从来没有给你发过任何东西--那是一封假的付款通知电子邮件。

BigSpender也可以以同样的方式使用,但与加密货币一起使用。潜在攻击者利用比特币协议中名为按费用替换的功能。此功能允许您发送一些交易费较低的比特币,然后发送相同的加密资产,但交易费较高。

原来的交易被取消,取而代之的是新的交易。这样一来,新的交易应该会得到更快的确认,因为矿商首先会处理交易费较高的交易。

但一些加密货币钱包将未经确认的交易视为理所当然,速度有点太快了。当你检查你的余额时,看起来你收到了一些比特币,但发送者可能已经取消了它,以将这笔交易替换为对另一个钱包的另一笔交易-他们控制的钱包。即使交易已经取消,余额仍然反映了那些虚假的交易。

如果攻击者试图假买一些非常昂贵的东西,他们可以多次使用BigSpender攻击,即使他们没有很多钱。例如,他们可以发起10笔交易,每个交易价值0.1BTC,即使他们收到0BTC,收件人也会看到1BTC的余额。

由于钱包计算错了余额,攻击者还可以利用BigSpender漏洞冻结您使用的加密资产,并进行“拒绝服务”攻击。当受害者在收到大量虚假交易后试图发送一些比特币时,钱包可能会试图发送从未到达的加密资产。交易失败。

需要说明的是,您现有的比特币仍然安全。通常,清除应用程序缓存并将钱包与比特币区块链重新同步可以解决这个问题。但你可能不明白为什么你不能使用你的加密资产。

BigSpender并不是比特币协议中的漏洞--因为它不允许你窃取比特币。但它可能会被用来迷惑用户。展望未来,钱包应该在不增加钱包余额的情况下,清楚地用一个大的“待定”标签标记未确认的交易。使用按费用替换的交易也应标识为失败。

Zengo在90天前已经通过Ledger,Edge和BRD披露了这个漏洞。Ledger和BRD已经向Zengo颁发了错误赏金奖。BRD已经发布了一个修复程序,而BRD和Ledger正在进行修复工作。Zengo还发布了一个开源工具,可以针对BigSpender测试您的钱包,以查看其行为。