比特币钱包让人们被错误的余额欺骗
重要要点
- 钱包初创公司ZenGo在三个流行的比特币钱包中发现了一个漏洞,该漏洞利用了比特币的按需收费(RBF)功能
- 该错误将未确认的交易添加到用户的余额中,即使被取消也不会撤消它们
- 这使黑客可以双倍花费比特币并向人们发起DoS攻击
骗局中的三个主要数字货币包中的一个漏洞使诈骗者用双花的比特币欺骗人们,从而允许未经确认的交易计入用户的钱包总余额。
比特币钱包余额不可靠
技术差距使攻击者有可能欺骗易受攻击的比特币钱包用户,使他们相信他们已经收到了比特币,即使未确认交易也是如此。
在将比特币交易视为最终交易之前,有必要等待多达几个小时,然后才能将交易视为不可逆转。 交易获得的确认越多,就越难以较高的费用来覆盖该交易。
大多数比特币退伍军人会在最终确认交易之前检查交易确认的数量,但是看到人为膨胀的钱包余额后,新用户很容易被骗。
几个流行的比特币钱包,包括Ledger Live,BRD钱包和Edge,都容易受到此漏洞的影响。
比特币网络上的RBF(按费用替换)功能允许发件人将其未经确认的交易替换为另一笔交易,这将以较高的费用替换之前的交易。 然后,比特币矿工会选择费用较高的交易,从根本上取代了之前的交易。
一些钱包很难正确实施RBF,最终导致BigSpender的出现,BigSpender是一系列漏洞,包括双花和多花攻击。 因此,“ BigSpender”这个名字使攻击者花了很多钱来骗人。
Bitcoin Core 0.12版本实施了RBF,该功能明确地将验证的责任交给用户,以基于确认数来确认交易本身。
该漏洞使钱包可以通过未确认的交易来更新其余额。 结果-主要钱包上的余额不再是接收者的真实来源,而是代表等待处理的潜在交易。
比特币交易由一系列“状态”变化表示。 像其他任何交易一样,比特币交易是从初始状态到最终状态的中间步骤。
当用户发起交易时,这是初始阶段。 当事务花时间在内存矿池中等待确认时,它处于中间状态。 最后,在确认交易后,交易进入其最终状态。
当某人以更高的费用发起新交易时,交易状态将从中间状态变为第一笔交易的初始状态。 这些钱包在计算钱包余额时错误地将中间状态视为最终状态。
钱包中的RBF配置错误使恶意行为者可以执行BigBigender的多种攻击,例如双重支出攻击,放大攻击和拒绝服务(DoS)攻击。
放大攻击是诈骗者一遍又一遍地反复发送相同数量的比特币,以欺骗某人以为他们认为他们实际上已经收到了大量的比特币。 例如,100次失败的$5交易会使钱包中的余额增加$500。 这些技巧使欺骗新的比特币人变得容易。
钱包公司被警告解决此问题
这些漏洞是由以色列数字货币包ZenGo首先向这三个钱包公司披露的。 ZenGo说:“在某些脆弱的钱包中,这种攻击很难(甚至不可能)恢复。”
ZenGo在给予钱包90天的时间来纠正此问题后发布了该报告。 该公司从Ledger Live和BRD钱包获得了赏金,Edge承认了该漏洞,并表示计划在将来修复该漏洞。
ZenGo关于脆弱钱包的发现
BRD和Ledger已修补其代码,但Edge钱包尚未修复。 未来,数字货币包必须对比特币区块链的细微差别保持谨慎,以防止人们被利用。