客服QQ:872490018

BCH 挖矿程序 Bitcoin-ABC 分叉漏洞剖析

BCH 挖矿程序 Bitcoin-ABC 分叉漏洞剖析-1分快3计划


背景

Bitcoin-ABC 官方网站在 5 月 7 日发文称:

Bitcoin-ABC 开发团队在 4 月 26 日得到匿名人士报告,比特现金矿工使用的 Bitcoin-ABC 0.17.0 及以下版本客户端存在一个严重漏洞。开发团队对漏洞进行分析后,更新了补丁并发布客户端 0.17.1 版本并把软件发给了 BCH 矿池。

漏洞分析

慢雾安全团队通过分析 Bitcoin-ABC commit 修复代码(https://reviews.bitcoinabc.org/D1313)得出结论:

BCH 挖矿程序 Bitcoin-ABC 分叉漏洞剖析-1分快3计划

在 src/script/sighashtype.h 文件第 70 行开始,官方修改了函数名并对 baseType 参数值进行了调整,由 BaseSigHashType(sigHash & 0x1f) 更新为 BaseSigHashType(sigHash & ~(SIGHASH_FORKID | SIGHASH_ANYONECANPAY))。

BCH 挖矿程序 Bitcoin-ABC 分叉漏洞剖析-1分快3计划

在 src/script/sighashtype.h 头文件里定义了常量 SIGHASH_FORKIDSIGHASH_ANYONECANPAY 的值为 0x40 和 0x80。

所以 ~(SIGHASH_FORKID | SIGHASH_ANYONECANPAY) 结果是 0x3f。

假设 sigHash 是 0x21,换算成二进制:0x1f = 0b00011111、0x21 = 0b00100001、0x3f = 0b00111111。

0.17.0 版本时,校验位是 0x1f,在 0.17.1 版本更新为 0x3f。baseType 计算过程 0x21 & 0x1f = 1, 0x01 & 0x1f 也是 1;在 0.17.1 版本校验位更新为 0x3f 后,baseType 为 0x21 & 0x3f = 21,就不在有效范围内而被过滤掉,所以修复了 0x20 的问题。

漏洞影响

据 Bitcoin-ABC 开发者透露,这个漏洞可以在无意中引发比特现金网络分叉。攻击者可以构建一笔恶意的交易,这笔交易可以被 Bitcoin-ABC 0.17.0 及以下版本的矿工接受并打包到区块中。但是,其他兼容比特现金的挖矿应用例如 Bitcoin Unlimited 客户端会拒绝接受这个区块。

“BUCash 和 Bitcoin-ABC 客户端 0.17.0 以前的版本都可能从主链上分裂出去 —— 分析漏洞时只包括 Bitcoin-ABC 和 BUCash 节点。”开发团队介绍说道。

“Bitcoin ABC 处理问题非常专业和负责——他们迅速修复了漏洞并(把软件)私下发给了矿工,从而降低了区块链分叉的风险。” Bitcoin.com 矿池的首席执行官 Shaun Chong 说道。

致谢

冰山,隶属 Meowww Security,比特大陆安全风控技术负责人。


BCH 挖矿程序 Bitcoin-ABC 分叉漏洞剖析-1分快3计划

*文章为作者独立观点,不代表1分快3计划立场
本文由 慢雾科技 授权 1分快3计划 发表,并经1分快3计划编辑。转载此文章须经作者同意,并请附上出处(1分快3计划)及本页链接。原文链接http://88-25.com/chainnews/1043.html
发表评论
坐等沙发
相关文章
慢雾:IOTA 重大被盗币事件的分析与安全建议
慢雾:IOTA 重大被盗币事件的分析与安全…
一文了解杨作兴与比特大陆间的“恩怨情仇”
一文了解杨作兴与比特大陆间的“恩怨情仇”
疫情封锁期,区块链打了一场漂亮的“突围战”
疫情封锁期,区块链打了一场漂亮的“突围…
RenrenBit 联合慢雾区发布 RRWallet 开源代码漏洞赏金计划
RenrenBit 联合慢雾区发布 RRWallet 开…
慢雾:详解 DeFi 协议 bZx 二次被黑
慢雾:详解 DeFi 协议 bZx 二次被黑
一文看懂近期矿业热点——挖矿是门好生意?| 一周问答热议
一文看懂近期矿业热点——挖矿是门好生意…
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    106

  • 评论

    0

广告赞助

复制代码