刷屏的区块链 想知路的都在这里! ——区块链智能合约节造流识此外大规模尝试钻研

颁布功夫 2019-11-01
中共中央政治局10月24日下午就区块链技术发展示状和趋向进行第十八次集体进建,会议强调区块链技术的集成利用在新的技术改革和产业刷新中起着沉要作用,要把区块链作为主题技术自主创新的沉要突破口,明确主攻方向,加大投入力度,着力攻克一批关键主题技术,加快推动区块链技术和产业创新发展 。


多年来,宝运莱官方网站持续关注区块链技术安全问题,在区块链自身安全以及区块链利用安全方面,都有相应的钻研和实际索求 。

宝运莱官方网站ADLab结合电子科技大学推算机学院(网络空间安全学院)陈厅副教授初次对以太坊区块链智能合约节造流的鉴别进行了大规模钻研 。该成就《A Large-Scale Empirical Study on Control FlowIdentification of Smart  Contracts》于2019年颁发在中国推算机学会(CCF)推荐的B类学术会议International Symposium on Empirical SoftwareEngineering and Measurement 。

该钻研分析了当前6个主流的智能合约静态分析工具,通过对以太坊区块链上已部署的全数合约(约500万)执行执行跟踪来评估他们的静态节造流鉴别能力 。尝试证明,一些典型的问题会导致上述盛行工具都无法鉴别全数的节造流(如不完整的代码模式) 。同时,尝试发现通过执行跟踪能够有效加强这些工具对节造流的鉴别 。通过在OYENTE中引入执行跟踪,实现了把静态节造流分析误报率降低百分之三十 。同时,该钻研获得了最佳论文提名奖 。

宝运莱·(中国区)最新官方网站

钻研内容有哪些?

钻研选择了以下的六款主流面向字节码智能合约的分析工具:

宝运莱·(中国区)最新官方网站

上述六款工具中,蹊炯感的工具可能比蹊径不敏感的工具发现更多的节造转移蹊径,由于它们不会查抄在现实前提下的蹊径可达性 。其中OYENTE和MAIAN在处置某些合约时会触发异常,通过度析发现共有三类原因:恶意无效字节码、不支持的操作和求解器异常 。为了深刻比力,建复了这三类导致异常的软件缺点 。

通过对每个工具进行全数以太坊区块链智能合约的尝试,得出以下结论:


(1)由于选取的技术或者配置分歧,所以当前主流工具识此外智能合约节造流数量差距加大 ;线性反汇编比递归反汇编能鉴别更多节造流,由于递归分析在鉴别到犯法转移指标时就终场工作 。


(2)分歧分析工具在分析复杂智能合约节造流时能力差距较大,典型原因有蹊径爆炸、提前实现前提和不完整的代码模式 。


(3)上述的6款主流分析工具仅针对1.7%的智能合约能力鉴别出一样的节造流转移 。


(4)合约的复杂度越高,分歧分析工具得到一致了局越难题 。


为了提升合约分析工具的节造流分析能力,提出了基于执行trace的节造流鉴别加强 。智能合约执行trace的一种获取方式是通过尺度编程接口 web3.debug.traceTransaction(),但该接口必要提供合约执行的买卖哈希值 。同时,该接口的运行效能很低,通过度析源码发显熹在获取trace之前必要做运行环境初始化、构建正确状态和沉放买卖纪录,加上web3编程接口是RPC挪用过程,因而效能难以提升,最终选择了对以太坊区块链终端进行插桩,由于该终端能执行全数的汗青合约操作 。具体来说,通过对JUMP和JUMPI操作进行了插桩,最终得到了6300万的执行trace 。同时,也对这些trace进行了切割,由于合约的执行trace纪录会蕴含合约内的节造转移和合约间的节造转移 。通过对上述工具识此外节造流和执行trace获得的节造流进行了分析,发现执行trace能够提升上述工具的节造流鉴别能力,尤其是对于MAIAN和Miasm工具,提升能力皆超过百分之八十 ;即便是最优良的节造流发现工具Porosity,提升能力也有百分之十 。


为了验证基于执行trace的有效性,选择了OYENTE工具进行加强实现和验证,加强的具体算法如下图所示 。

宝运莱·(中国区)最新官方网站

钻研了局是什么?

尝试了局批注,执行trace能够有效提升上述工具的智能合约节造流鉴别能力,能发现这些工具不能发现的节造转移 。 

宝运莱·(中国区)最新官方网站

通过对OYENTE的源码进行了批改以嵌入加强算法,及对OYENTE能识此外四种合约缝隙进行了尝试,结论见下表 。针对买卖挨次依赖、功夫依赖和沉入类型的缝隙,加强OYENTE能检测更多的缝隙 。针对未处置异常缝隙,加强OYENTE未能提升检测能力 ;对OYENTE进行源码分析发现,这是由于这类缝隙是直接用合约字节码扫描来检测的,与节造流分析无关 。

宝运莱·(中国区)最新官方网站

这次针对以太坊区块链智能合约节造流识此外大规模深度钻研,获得了多项新的发现 。通过插桩以太坊客户端,网络了全数的智能合约并还原了全数的执行trace 。尝试证明,执行trace能够提升当前主流的智能合约分析工具的节造流鉴别能力,该发现将有助于以太坊用户、开发者和钻研分析人员发展更深刻的智能合约钻研 。

作为信息安全行业领军企业,宝运莱官方网站坚守初心及自主创新的心灵,始终器沉对区块链技术安全问题的钻研与索求,全力保险用户对区块链的安全需要 。