前言
据链闻消息,加密钱包ZenGo发布报告称其在Ledger、BRD和Edge等主流加密货币钱包中发现了一个漏洞(命名为「
BigSpender」)。该漏洞可能会使未确认的交易计入用户的总余额中,而此时,攻击者可在交易确认之前撤销该笔交易。攻击者利用了比特币协议中的一项费用替代「
Replace-by-Fee」功能。该功能可通过支付更高的手续费来替换此前的一笔交易。攻击者可以连续多次使用该功能进行BigSpender攻击。下面,
慢雾安全团队将基于此次事件分析比特币协议RBF特性对交易所和钱包所产生的影响。
慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:
1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。
2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。
3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。
综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]
什么是RBF
慢雾科技启富:去中心化钱包安全核心在于私钥、助记词的存储及加密:11月6日消息,慢雾科技合伙人启富在做客《HyperPay焦点》栏目时提及:去中心化钱包的安全涉及到很多方面,最核心的是对私钥、助记词的存储及加密。用户在选择钱包时尽量选择国际知名、一流的钱包,同时注意看钱包App的代码是否开源、代码是否经过安全审计、团队内是否有CSO或安全负责人,这些都可能影响到钱包不断迭代、升级过程中的安全是否有保障。同时,作为用户一定要从钱包的官网下载App,避免误入钓鱼网站下载到被植入了后门的钱包App。[2020/11/6 11:51:30]
RBF,全称?
Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易将未确认交易进行替换的方式,
声音 | 慢雾预警:DNS劫持静默攻击全球蔓延 一旦劫持 用户数字资产可被轻易窃取:慢雾安全团队注意到 FireEye 近日的情报披露《全球 DNS 劫持活动:大规模操纵 DNS 记录》。据悉,其中最关键的部分是明确指出有三种 DNS 劫持手法可以完成静默攻击(用户无法察觉访问的目标网站或 Web 服务是否已经被劫持)。如果数字货币交易所遭遇了DNS静默攻击,将导致交易所用户的数字资产可能被轻易盗取。慢雾安全团队进一步解释道,“这个攻击很高端,但也不难,迟早会有被这样手法攻击的数字货币相关平台。”不过,目前还未知是否已经有交易所遭遇类似攻击。[2019/1/11]
RBF?的方案主要有以下几种:
1、FullRBF?:使用更高的手续费替换前一笔交易
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、慢雾安全团队已支持该攻击的检测,如钱包或交易所不确定自己的入账方式是否存在问题,可联系慢雾安全团队进行检测。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。