区块链公链审计过程中遇到的Merkle Tree底层实现问题 前言 区块链项目态势汹涌,156在经历了比特币、6991以太坊时代之后,3780大量拥有着不同特点与优势的公链项目如雨后春笋般层出不穷,吸引着人们的眼球。 这些项目既拥有区块链1.0、2.0时代中,数字货币交易、去中心化、支持智能合约的特征,也通过更加巧妙的共识机制、更复杂的技术和金融模型,来解决现有的种种问题,助区块链技术步入我们的生活。 在此期间,区块链安全组也在关注着诸多公链项目,为这些公链项目的发展与上线保驾护航。在此前一项公链审计的项目过程中,我们发现了一个有意思的关于 Merkle Tree 底层实现漏洞。下面将分享发现该漏洞的前期技术积累,以及发现过程。 公链项目审计 回顾2018年,对于区块链安全从业人员而言,大部分人印象颇深的可能都是以太坊的诸多合约漏洞,EOS 公链上层出不穷的合约问题,以及少数公链漏洞信息。使用搜索引擎查找和区块链相关的审计类文章,也大多为智能合约的 checklist、智能合约的审计分析等,针对公链审计类的技术分享并无很多。这里推荐大家一份由编写的国内首发的《区块链安全生存指南》,其中介绍了当下区块链行业环境,以及近年来区块链业内的一些著名事件等。同时分享日前发布的《公链审计checklist》,以供公链项目开发者参考。 审计区块链公链项目,与通常的软件代码审计略有不同。通常的代码审计,我们会考虑语言特性以及该语言的 0day 或 1day 漏洞,结合常见业务场景,分析代码的实现。区块链公链项目,其本身代码量较多,在项目背后,还有严谨的金融货币模型以及共识模型,且无较为实用的审计工具,需要更多以来人工审计,审计的定制化程度高,难度及工作量大。依我理解,我们主要从以下方向入手: 语言特性及其已知漏洞 底层实现【密码学、序列化、大数运算等】 区块链基本元素的实现【区块、交易、链】 区块链行为的逻辑【生成一个区块、交易进入 tx_pool 等】 区块链的其他组件【p2p、rpc、钱包等】 共识算法合理性 金融模型合理性 历史公链漏洞 漏洞发现过程 我们在审计过程中发现的漏洞利用方式,源于该公链项目在实现 Merkle Tree 逻辑时,与常规实现方式有些许不同。在整理之前比特币区块链、以太坊区块链,出现过的漏洞时,发现了可能利用的漏洞点,经过确认发现可以影响不同节点间达成共识,进而造成分叉。 在发现问题后,立刻汇报给公链项目方,公链开发者响应迅速,非常重视此次安全问题,即刻完成了修复。 —- 编译者/作者:c15669913780 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
区块链公链审计过程中遇到的MerkleTree底层实现问题
2020-09-09 c15669913780 来源:区块链网络
LOADING...
相关阅读:
- 是时候收利一波流动资金池了:SpaceSwap如何使之成为可能?2020-09-09
- 天生说:9.9ETH晚间行情分析2020-09-09
- 09月09日比特币btc以太坊eth比特币现金bch柚子eos今夜世界发生什么轰动事2020-09-09
- 简一论币:9.9ETH日内行情插针大行情即将来临2020-09-09
- 韭月韭日的行情根本不韭2020-09-09