作者:yudan@慢雾安全团队
前言
据链闻消息,数字货币钱包 ZenGo 发布报告称,在 Ledger、BRD 和 Edge 等主流数字货币钱包中发现了一个漏洞(命名为“”)。该漏洞可能允许将未经确认的交易添加到用户的总余额中,此时攻击者可以在交易被确认之前撤销交易。攻击者利用比特币协议中的费用来替换“按费用替换”功能。此功能通过支付更高的费用来取代以前的交易。攻击者可以连续多次使用此功能进行攻击。下面,慢雾安全团队将根据此次事件分析比特币协议RBF特性对交易所和钱包的影响。
什么是 RBF
RBF,全称Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易来代替未确认的交易。主要的RBF方案如下:
1、完整的 RBF:用更高的费用替换之前的交易
2、First-seen-safe RBF:First-seen-safe RBF:First-seen ,即替换交易本身的输出量必须大于等于被替换交易
3、Opt-in RBF:选择性替换交易,用额外费用替换旧交易,节点可以选择启用或禁用此功能
4、延迟RBF:当网络中的节点首次接收到旧交易时,如果经过给定数量的块后旧交易仍然解包,则允许新交易无条件替换旧交易
p>
目前,Bitcoin Core 采用 Opt-in RBF 方案,即通过将一笔交易声明为可替换的形式,以后可以将该交易替换为其他交易。 Opt-in RBF的详细说明请参考Bitcoin Core的说明
如何使用RBF进行攻击
RBF主要针对0-确认交易,即替换内存池中未确认的交易。交易所或钱包在处理0-交易时,当交易相关状态处理不正确时,会导致双花和假充值的问题,具体攻击方法如下:
1、攻击者发送RBF交易,输出地址指向交易所或钱包,支付低手续费,防止交易打包过快;
2、交易所检索到这个0-确认交易后,攻击者立即发送替换交易,并将输出地址更改为攻击者可以控制的另一个地址,替换之前发送给交易所或钱包交易;
3、由于交易所或钱包在处理0-确认交易时出现问题,没有验证该交易是否为RBF交易以及交易的确认状态,RBF交易不经确认直接记录,导致交易全部或钱包被伪造充值、双花、欺诈攻击和对钱包的DoS攻击;
攻击流程图如下:
目前慢雾安全团队已经测试了市面上的多款去中心化钱包,在部分钱包中发现了此类问题,并已将问题同步到相应的项目方并帮助修复。
防御计划
2、如果需要记录0-交易,必须检查该交易不能是RBF交易。具体来说,交易Input中的字段值必须为比特币充值平台有哪些,任何未确认的包含非值的交易都应该被拒绝;
3、查看交易状态,比如查看比特币交易是否打包比特币充值平台有哪些,或者是否达到了对应的确认次数(比如3次);
4、钱包应显示相应的交易确认状态,防止欺诈攻击;
5、 安全团队已支持检测此攻击。如果钱包或交易所不确定自己的账号录入方式是否有问题,可以联系慢雾安全团队()进行检测。
过去的评论
慢雾导航
慢雾科技官网
慢雾官网
慢雾 GitHub
推特
@
中等
@
碧湖
知识星球
火星
挖矿网Ethos中文站简单易用的挖矿系统,为挖矿产业提供教程软件以及矿机测评交易信息等,挖矿网各种数字货币挖矿收益对比计算,挖矿网介绍挖矿的工具,以及矿场的最新消息等。http://www.ethospool.com/