ACE:比特币 RBF 假充值风险分析_SPACEPI

前言

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

什么是RBF

聚币IEO Moonshot第二期HDS 上线一周涨幅40.8%:据官方消息,聚币Jubi IEO板块Mooshot 第二期项目HDS(Hades),自2020年11月10日(UTC+8)上线后,周内涨幅达40.8%。最高价格1.6942USDT,当前价格1.6926USDT。

Hades协议是一个基于双向借贷市场的轻量级去中心化稳定币协议,具有自动利率目标和流动性挖矿激励机制。HDS是Hades协议中的治理代币,其主要职责是作为社区成员对协议细节产生变更或进行重大决策的凭证。同时HDS也是Hades协议的激励令牌,用户可以通过提供资产、借贷资产或者抵押指定流动性证明获得奖励。[2020/11/17 21:04:40]

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

99Ex SpaceStation X 第二期项目DAC今日14:00开启认购:据99Ex官方消息,其打新销售平台“SpaceStation X”第二期项目 DAC 距离认购仅剩3小时,将于今日14:00开启认购。

本次DAC认购无门槛,无需持仓其他币种,销售时间为30分钟,届时使用USDT在Web端与App端即可进行认购,具体认购规则详见99Ex官网。

据悉,但丁密码DAC基于蚁群算法的启迪,采用改良优化而得的排序加权算法,作为共识算法的基本运行逻辑。

99Ex是一个基于区块链技术应用的多语言创新数字资产交易平台,由OK CAPITAL、科银资本、连接资本、链兴资本战略投资,累计注册用户近百万,日均交易用户突破20万。[2020/6/18]

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

金色讲堂第二期正式开讲 EOS引力区创始人廖洋阳将对EOS入门及价值展望进行探讨:5月10日晚八点,《金色讲堂》第二期正式开讲,全球最大EOS社群-EOS引力区创始人廖洋阳前来授课演讲。针对当前火爆的EOS廖洋阳将对EOS入门及价值展望进行探讨。本次课程将针对EOS是什么、EOS代币有什么用、EOS的未来等方面,由浅至深对EOS进行全面解读,让学员全方面了解的EOS的来龙去脉。[2018/5/10]

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

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

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

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

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

如何利用RBF进行攻击

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

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

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

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

攻击流程图如下:

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

防御方案

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

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

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

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

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

By:?慢雾安全团队

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

大币网

[0:15ms0-3:136ms