5月15日BCH升级遭到攻击,慢雾安全团队及时跟进,并在社区里注意到相关分析工作,通过交流将此分析文完整转载于此。这是一场真实攻击,从行为上分析来看确实预谋已久,但BCH响应很及时,成功化解了一场安全危机。
BCH的5月15日升级遭到攻击,导致节点报出toomanysigops错误。经分析,攻击载荷为一个精确构造的P2SHTransaction,利用了BCH去年11月升级引入的OP_CHECKDATASIG操作码。
攻击导致了矿工节点无法打包,BCH方面通过类似于空块攻击的方式,紧急挖出十个空块以触发滚动检查点保证升级。攻击发生约1小时后,BCH矿池上线紧急修复后的代码成功继续出块。
Axelar Network即将支持开发者在BNBChain上构建跨链应用:5月28日消息,通用互操作性平台Axelar Network发推称,开发者即将可以在BNBChain上构建跨链应用。另外,根据Axelar Network更新的路线图,目前正在支持更多资产和区块链,将通用信息传递功能扩展到Cosmos,以及支持更多的跨链应用。5月初,Axelar Network在主网上启用通用消息传递(Genera lMessage Passing)功能,该功能可实现跨所有链的多对多通信,允许用户在多链间转移代币、NFT以及在多个DApp间执行多链调用。[2022/5/28 3:47:19]
不过同时也有人观察到,在582698区块高度,有矿工挖出了哈希结尾为6bf418af的区块,大小139369字节。但随后该区块被10分钟后BTC
BCH在2分钟内跌幅超过1.00%:据火币全球站数据显示,BCH/USDT在2分钟内出现剧烈波动,跌超1.00%,达到-1.08%。当前报价为 280.09 美元,行情波动较大,请注意风险控制。[2020/3/9]
补丁位置:https://reviews.bitcoinabc.org/D3053
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/f27da0752c0a3b7382df54a65ca3cf1c3629aad4/hide/validation.cpp#L592
金色晨讯 | BCH网络升级将增加两项新功能,ETC就支持PoW发起提案:1、比特币安全专家:比特币和以太坊只有在完全失败的情况下才会被取代
2、阿联酋社区发展部将为区块链竞赛拨款1.63万美元
3、BCH网络升级将增加两项新功能
4、Mark Yusko创始人:比特币是解决“通缩死亡螺旋”的良方
5、委内瑞拉最大的连锁百货公司开设首台比特币ATM
6、Cinnobe前加密货币主管:比特币供应可能会超过2100万
7、英国和欧盟进行结构性关系重建的最后冲刺可能以区块链为核心
8、媒体:韩国民主党议员提交的加密法规或在2020年6月前生效
9、ETC就支持PoW发起提案。[2019/10/7]
//原代码int64_tnSigOpsCount=GetTransactionSigOpCount(tx,view,STANDARD_SCRIPT_VERIFY_FLAGS);//补丁代码int64_tnSigOpsCount=GetTransactionSigOpCount(tx,view,STANDARD_CHECKDATASIG_VERIFY_FLAGS);
可见原代码组块过程中在计算Transaction中的SigOP数量时,错误地使用了STANDARD_SCRIPT_VERIFY_FLAGS,而非STANDARD_CHECKDATASIG_VERIFY_FLAGS。
在policy中我们可以找到他们。
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/f27da0752c0a3b7382df54a65ca3cf1c3629aad4/hide/policy/policy.h#L108
staticconstuint32_tSTANDARD_CHECKDATASIG_VERIFY_FLAGS=STANDARD_SCRIPT_VERIFY_FLAGS|SCRIPT_ENABLE_CHECKDATASIG;
所以我们可以见到,当仅使用了STANDARD_SCRIPT_VERIFY_FLAGS时,计算脚本中SigOP数量时,是不包含OP_CHECKDATASIG的。所以这个包含20010个SigOP的攻击载荷,在组块时,统计出来的SigOP数量为零。
总结
攻击者利用了BCH引入OP_CHECKDATASIG时产生的,又未完全修复的漏洞,巧妙地构造了攻击载荷。攻击者应该高度了解客户端代码,并熟悉OP_CHECKDATASIG漏洞。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。