研究人员在主要的比特币钱包中发现缺陷,可能欺骗用户以为他们收到了BTC
比特币钱包ZenGo披露了许多数字货币包中存在的“ BigSpender”漏洞,攻击者可以取消交易,但仍将资金显示在受害者的钱包中。
通过BigSpender攻击,黑客产生了一种幻觉,即受害者的钱包中有比特币,只是没有。 钱包也将被损坏,因此受害者将无法消费或使用里面剩下的任何东西。
ZenGo在通知容易受到这种攻击的钱包提供商后,披露了此漏洞。 该公司声称只有一些固定的钱包可以防止此类攻击,因此,他们在对裸露的比特币钱包发出习惯性通知的90天后,向公众披露了该漏洞。
比特币区块链具有一种称为“替换费用”(RBF)的中继策略,该策略可以向0-conf交易(确认为零的交易)发出信号,以供用户进行下一次交易替换。 为此,建议用户花费相同的硬币并提供更高的费用。 RBF要求用户和钱包应用将未确认的交易标识为不安全。
根据ZenGo的说法,许多钱包都没有做到这一点,从而使名为“ BigSpender”的漏洞成为可能。 ZenGo在其披露博客中说:“脆弱的钱包没有为可能取消交易的选择做好准备,并隐含地认为交易最终将得到确认。”
该漏洞将使用户的钱包看起来有更多的比特币,即使传入的交易仍未经确认。 此外,已取消的交易将不会出现在已取消的交易清单中,即使实际未发生交易,钱包应用程序仍可以选择UTXO。
由于使用了“ BigSpender”,攻击者可以用最低的费用进行基本的双花攻击,使其长时间待命。 攻击者基本上可以要求提供商品或服务,并且当提供商品或服务时,攻击者可以取消交易。 但是,受害者会相信这笔钱存在于他们的帐户中,因为他们使用的比特币钱包认为交易已完成。
攻击者可以通过反复发送少量的比特币,然后通过该漏洞将其取消来扩大这种情况。
最后,由于易受攻击的钱包将一笔交易指定为已完成,即使该交易尚未完成,因此试图撤回其资产的用户可能会遇到交易失败的情况,因为该钱包正在尝试选择实际上不在那的硬币。
ZenGo表示,这种攻击“很难或不可能恢复”。 易受攻击的钱包不会与网络重新同步以显示正确的余额,从而使其损坏。
ZenGo通知了提供商,其中包括Bread钱包和Ledger Live已解决了该问题。 Edge钱包确认了此漏洞,但尚未修复。 但是,ZenGo表示Edge的余额显示不正确的问题可以通过单击其选项中的“重新同步”来解决。
然而,正如ZenGo声称的那样,许多人都对“漏洞”表示怀疑。 Ledger指出这不是漏洞,而仅仅是UX错误或欺骗。 首先,它涉及一些社会工程学。 攻击者必须首先说服受害者,才能使攻击者利用“ BigSpender”,就像典型的加密货币骗局一样。