比特币 RBF 假充值风险分析

前言

加密钱包 ZenGo 发布报告称其在 Ledger、BRD 和 Edge 等主流加密货币钱包中发现了一个漏洞(命名为「BigSpender」)。该漏洞可能会使未确认的交易计入用户的总余额中,而此时,攻击者可在交易确认之前撤销该笔交易。攻击者利用了比特币协议中的一项费用替代「Replace-by-Fee」功能。该功能可通过支付更高的手续费来替换此前的一笔交易。攻击者可以连续多次使用该功能进行 BigSpender 攻击。下面,慢雾安全团队将基于此次事件分析比特币协议 RBF 特性对交易所和钱包所产生的影响。

RBF,全称 Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易将未确认交易进行替换的方式,RBF 的方案主要有以下几种:

1、Full RBF :使用更高的手续费替换前一笔交易

2、First-seen-safe RBF:初见替换,即替换交易本身的输出金额必须大于等于被替换交易

LBank将于3月1日11:00启动135,200枚A5T(Alpha5)售卖:据官方消息,LBank将于3月1日11:00-18:00启动135,200枚A5T(Alpha5)代币售卖。本次售卖额度为等值的10万USDT的A5T,总售卖数量为135,200枚,售卖价格为0.74USDT/A5T。本次售卖分“LBK专场”和“USDT专场”两场,本次售卖认购模式为抽签认购,单签额度为74USDT(100 A5T)。完成售卖后预计将于3月1日20:00上线交易。

Alpha5(A5T)是一站式加密货币衍生交易平台,借鉴芝加哥期货商品交易所[隐含订单],可根据期货价格曲线的价差帮助用户找到不同的产品间的套利空间。快速撮合,聚合深度为风险对冲提供专业的产品和流动性。[2021/2/26 17:56:58]

3、Opt-in RBF:选择性替换交易,通过追加手续费的形式将旧交易替换,节点可选择开启或关闭此功能

4、Delayed RBF:当旧交易首次被网络中节点接收,如果在给定数量的区块数之后,旧交易仍然未被打包,则允许新交易无条件地替换旧交易

目前 Bitcoin Core 采用的是 Opt-in RBF 的方案,即通过声明一笔交易为可替换的形式,后续可使用其他交易替换这笔交易。关于 Opt-in RBF 的详细说明可参考 Bitcoin Core 的说明

https://bitcoincore.org/en/faq/optin_rbf/

RBF 主要针对的是 0 确认交易,即对内存池中的未确认交易进行替换,当交易所或钱包在处理 0 确认的交易时,没有正确处理交易相关的状态时,就会导致双花和假充值的问题,具体攻击手法如下:

1、攻击者发送一笔 RBF 交易,输出地址指向交易所或钱包,并支付低额手续费,防止交易过快被打包;

2、在交易所检索到这笔 0 确认的交易后,攻击者立刻发送一笔替换交易,并将输出地址改为攻击者可控的其他地址,替换先前的发送给交易所或钱包的交易;

3、由于交易所或钱包在对 0 确认交易的处理存在问题,没有校验交易是否为 RBF 交易和交易的确认状态,直接在未确认的情况下入账 RBF 交易,导致交易所或钱包被假充值、双花、欺诈攻击及对钱包进行 DoS 攻击;

攻击流程图如下:

目前,慢雾安全团队对市面上的几款去中心化的钱包进行测试,已在部分钱包中发现此类问题,并将问题同步给相应的项目方以及协助修复。

1、交易所或钱包应禁止采用 0 确认的方式对比特币充值进行入账;

2、如需要对 0 确认交易进行入账,必须检测该交易不能为 RBF 交易,具体为交易 Input 中的 nSequence 字段值必须为 0xffffff,任意未确认交易中包含非 0xffffff 值的 nSequence 应拒绝入账;

3、检查交易状态,如检查比特币交易是否被打包,或已达到相应的确认数(如 3 个);

4、钱包应展示对应的交易确认状态,防止欺诈攻击;

5、慢雾安全团队已支持该攻击的检测,如钱包或交易所不确定自己的入账方式是否存在问题,可联系慢雾安全团队进行检测。

By : yudan@慢雾安全团队

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链杂谈

比特币最新价格“区块链+数字身份” 道路坎坷前途光明

中国已全面进入建设数字经济的新时代,数字身份认证与管理及用户隐私保护已成为数字经济发展不可回避的核心问题之一。近日,在“2020可信区块链峰会”上,由部第一研究所、中国信通院、北京中盾安信科技发展有限公司牵头编写的《基于可信数字身份的区块链应用服务》白皮书正式发布。

火币交易所比特币矿工的喜与忧:矿机价格与币价齐飞 担心暴跌再来

2017年冬天,内蒙古的夜很冷,室外温度低于零下20摄氏度。 在一座荒凉的“矿场”里,由于没有什么娱乐活动,来自浙江杭州的比特币矿工冯胜在“上下铺式,能睡七八个人”的大房间里早早睡去。 “那个场地很偏,离最近的小县城有大半天车程,跟戈壁滩一样。除了场地和一条路外,什么都没有。”他对澎湃新闻记者说道,那是一望无际的荒原。

[0:15ms0-0:516ms