主流钱包服务界面漏洞曝光:用户可能被误导"已收到比特币"
最新披露的一项研究表明,主流钱包服务Ledger Live、BRD和Edge的用户界面存在一个安全漏洞,攻击者可能利用该漏洞欺骗用户,使其误以为已收到比特币转账,而实际上交易并未完成。这一发现由钱包服务商ZenGo在其最新报告中披露。
漏洞详情与披露过程
ZenGo在发现该漏洞后,按照正式披露流程,向相关供应商进行了通报,并同意将其保密90天。保密期已于7月1日结束。ZenGo将这一攻击称为"双花漏洞",但各钱包提供商对此说法表示异议。
漏洞成因:Replace-by-Fee机制
该漏洞源于比特币的"Replace-by-Fee"(替换交易手续费)功能。简单来说,该功能允许用户用另一笔使用相同币但手续费更高的交易,替换尚未确认的交易。这有助于解决交易卡在内存池(未确认交易的等待区)的问题,因为更高的手续费理论上会促使矿工更快确认交易。
据ZenGo介绍,由于这些存在漏洞的钱包设计方式,攻击者可能利用"Replace-by-Fee"功能,在支付交易仍处于待确认状态时,欺骗受害者(如商家)提供商品或服务,然后在网络确认交易前取消该交易。ZenGo团队将这一漏洞命名为"BigSpender"。
用户界面显示问题
ZenGo安全研究经理Tal Be'ery表示,该团队发现的问题主要与用户界面有关。较脆弱的钱包往往未能向用户明确显示交易仍处于待确认状态或被取消,而是过早地更新用户余额,使其看起来像是已经收到新付款。
根据ZenGo的报告,该漏洞还可能导致用户遭受某种拒绝服务攻击,这可能源于钱包余额的"错误计算"。
漏洞发现与验证过程
Be'ery表示,他的团队在进行钱包研发的"Replace-by-Fee"实验时"偶然发现"了这个漏洞。他们随后决定验证该漏洞是否存在于其他钱包中,结果发现Ledger Live、BRD和Edge均未正确实施"Replace-by-Fee"。
钱包提供商的回应
三家涉事钱包提供商均向The Block确认,ZenGo已就"Replace-by-Fee"相关潜在风险与他们联系,但都对使用"双花"一词描述该漏洞表示异议。
BRD首席技术官Samuel Sutch表示,该漏洞在BRD钱包中表现为一种拒绝服务攻击,"可能使用户无法访问其钱包资金长达数天"。虽然该攻击"仅在精心设计的场景中才可能实现",但BRD已修复该漏洞并向ZenGo支付了漏洞赏金。
Ledger首席技术官Charles Guillemet将该问题称为"一个简单的用户体验漏洞",并表示潜在的攻击利用更像是"一个巧妙的骗局"。Ledger Live已发布更新,包括添加待确认交易警告和新标识。Guillemet强调,Ledger硬件钱包不受此用户界面漏洞影响,用户资金安全。
Edge的情况则更为微妙。ZenGo表示,在某些情况下,钱包可能会错误计算用户余额,但可以通过点击"重新同步"按钮来解决。Edge首席执行官Paul Puey表示,该公司正在修复钱包未能及时清除网络中已取消的交易的问题。