针对以太坊智能合约代码的安全检测系统

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:woshishagua6
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,区块链技术受到了越来越多的关注与重视,而基于区块链技术的智能合约的设计与开发也成为了热门的研究方向。一段优秀的智能合约能够提供安全可靠的服务,从而高效地解决现实生活中的问题。然而由于开发人员的技术水平参差不齐,其编写的智能合约也可能会出现安全问题,不安全的智能合约的发布使用可能会对用户造成巨大损失。因此,在正式发布智能合约之前,对其进行安全检测是尤为重要的。本文设计并实现了一个针对以太坊平台的智能合约安全检测系统,通过对智能合约的检测来查找并修复其潜在的安全问题,提高其安全性。本论文主要设计并实现了针对以太坊智能合约代码的安全检测系统,首先对目前已经发现的智能合约的安全问题进行讨论和研究,然后使用多种技术手段来对不同形式的智能合约进行全方位地审计。针对拥有项目源代码的智能合约,系统将已知的漏洞特征抽象为语法树形式,然后利用ANTLR语法分析器,按照自定义的语法规约规则,对项目源码进行词法和语法分析,从而将代码转换为抽象语法树的形式,最后将其与漏洞语法树进行匹配,检查是否存在安全漏洞;此外,系统通过构建私有链,将该智能合约模拟发布,然后利用模糊测试技术对合约进行动态检测。动态检测主要针对智能合约中的函数部分,系统首先根据不同函数的输入参数和返回值的类型对函数进行分类,然后利用机器学习技术对不同类型的函数进行建模和评估,选择出最佳的算法来辅助测试,从而提高模糊测试的效率。针对只有二进制文件的智能合约,系统首先将二进制代码反汇编成EVM汇编码,然后根据智能合约的语法规则和内存结构将其反编译成简单的高级语言形式,供安全人员进一步检查;此外,系统将二进制代码转化成中间语言LLVM-IR的形式,并利用KLEE符号执行引擎对其进行漏洞挖掘。最终,系统将测试得到的智能合约的审计结果汇总并以报告形式展示。本论文的主要成果在于设计并实现了一个全面且可靠的针对以太坊平台上智能合约的安全检测系统。在系统中完成了漏洞的抽象建模;实现了对智能合约Solidity代码文件的语法树规约;研究了在进行模糊测试时,引入机器学习技术的有效性;完成了对智能合约的符号执行工作。最后,通过对真实场景下的上千个智能合约的测试,证明了系统的实用性和可靠性。
其他文献
目的:研究吡非尼酮治疗特发性肺纤维化的临床效果。方法选取48例特发性肺纤维化患者,随机分成观察组和对照组,每组24例,对照组采用吸氧、N-乙酰半胱氨酸等常规对症治疗,观察组在常
【正】2.9 人行确定1998年信贷重点,优先支持国有企业, 大中型企业、住房、科技及外贸企业。 国务院副总理李岚清强调未来三年中国基建投资 将7500亿美元。
存储资源管理系统能够实现存取数据的监控以及备份容灾。本文在明确存储资源管理系统设计思想的基础上,借助于C语言分析并实现了系统的存储阵列管理、存储调用以及快照的创建
贫困问题是全球经济发展面临的重大问题和主要障碍.合理使用扶贫资金,提高资金利用效率,对贫困地区来讲尤为重要。对扶贫资金使用效率方面进行定性和定量分析.发现不同来源的扶贫
党的十九大是在我国全面建成小康社会的决胜阶段、中国特色社会主义进入新时代的关键时期召开的一次具有里程碑意义的大会。大会报告提出了新时代中国特色社会主义思想和基本
目的了解东营市医疗卫生机构实验室生物安全状况,为实验室生物安全管理提出合理的建议。方法于2017年8~12月对全市42家医疗卫生机构的实验室生物安全现状进行调查。结果 42家
中国人民银行哈尔滨中心支行在灵活运用货币政策工具、加强和改进金融服务、大力推动金融知识宣传与普及、加强普惠金融品牌建设等方面积极作为,推动黑龙江省普惠金融发展,全
典当是通过以动产、房地产或财产权利作为当物进行质押或抵押借贷的特殊融资方式,具有短期、小额、便捷、灵活的特点,作为一种古老的融资方式,它将民间剩余资本集中,通过一定
<正>中英街是1898年中英《展拓香港界址专条》签订后划界的产物,要客观看待改革开放之初中英街"购物天堂"辉煌时期的特殊历史背景,要深刻认识中英街商业逐步衰败萧条的外在环
针对视频存在噪声干扰及现有算法实时性较差的问题,提出了一种新型的基于时域和梯度的运动目标识别跟踪算法.考虑时间域上视频的形成,用帧差法将图片中的区域划分为变化区域