首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 140 毫秒
1.
近年来,以智能合约为代表的第二代区块链平台及应用出现了爆发性的增长,但频发的智能合约漏洞事件严重威胁着区块链生态安全。针对当前主要依靠基于专家经验的代码审计效率低下的问题,提出开发通用的自动化工具来挖掘智能合约漏洞的重要性。首先,调研并分析了智能合约面临的安全威胁问题,总结了代码重入、访问控制、整数溢出等10种出现频率最高的智能合约漏洞类型和攻击方式;其次,讨论了主流的智能合约漏洞的检测手段,并梳理了智能合约漏洞检测的研究现状;然后,通过实验验证了3种现有符号执行工具的检测效果。对于单一漏洞类型,漏报率最高达0.48,误报率最高达0.38。实验结果表明,现有研究涵盖的漏洞类型不完整,误报及漏报多,并且依赖人工复核;最后,针对这些不足展望了未来研究方向,并提出一种符号执行辅助的模糊测试框架,能够缓解模糊测试代码覆盖率不足和符号执行路径爆炸问题,从而提高大中型规模智能合约的漏洞挖掘效率。  相似文献   

2.
随着区块链的不断发展,基于以太坊的智能合约越发受到各界的广泛关注,但随之而来的是其面临着更多的安全威胁。针对以太坊智能合约的安全问题,出现了各种漏洞检测方法,如符号执行、形式化验证、深度学习等,但现有的检测方法能检测到的漏洞类型大多不全面,缺乏可解释性。针对这些问题,设计并实现了针对Solidity高级语言层面的基于本体推理的智能合约漏洞检测系统。该系统先把智能合约源码解析为抽象语法树,再进行合约信息抽取,利用抽取到的数据信息构建智能合约漏洞检测本体,并使用推理机进行本体推理。实验选取了其他检测工具与本系统进行对比,并使用这几种工具对100份智能合约样本进行检测。实验结果表明,所提系统的检测效果良好,能检测多种类型的智能合约漏洞,并能给出其漏洞的相关信息。  相似文献   

3.
由于区块链不可窜改的特性,部署到区块链上的智能合约不可更改.为了提高合约的安全性,防止智能合约出现整数溢出、短地址攻击、伪随机等问题,在合约部署之前需对合约进行漏洞检测.针对智能合约的整数溢出漏洞利用符号执行进行分析研究,对现有符号执行方法进行调查发现检测速度较慢,从而提出一种自底向上求解约束的改进符号执行方法,并结合深度优先与广度优先进行路径选择从而提高符号执行的代码覆盖率.实验结果表明,改进符号执行在选取的100份含溢出漏洞的智能合约中检测正确率达84%,平均检测效率提高了20%,在中等规模智能合约中检测效率提升显著,检测结果正确率较高.  相似文献   

4.
随着区块链技术的应用推广,智能合约的数量呈现爆发式增长,而智能合约的漏洞将给用户带来巨大损失。但目前研究侧重于以太坊智能合约的语义分析、符号执行的建模与优化等,没有详细描述利用符号执行技术检测智能合约漏洞流程,以及如何检测智能合约常见漏洞。为此,在分析以太坊智能合约的运行机制和常见漏洞原理的基础上,利用符号执行技术检测智能合约漏洞。首先基于以太坊字节码构建智能合约执行控制流图,再根据智能合约漏洞特点设计相应的约束条件,利用约束求解器生成软件测试用例,检测常见的整型溢出、权限控制、Call注入、重入攻击等智能合约漏洞。实验结果表明,所提检测方案具有良好的检测效果,对Awesome-Buggy-ERC20-Tokens漏洞库中70份含漏洞的智能合约的漏洞检测正确率达85%。  相似文献   

5.
智能合约是区块链技术最成功的应用之一,已经被广泛集成到应用程序中,成为应用去中心化的常见实现方案.然而,智能合约由于其独有的金融特性,一直以来饱受安全攻击,各种新的恶意攻击类型层出不穷.现有的研究工作提出了多种有效检测合约漏洞的方法,但在实际应用中都存在着各种局限:仅针对已知的漏洞类型,需要修改合约代码来消除漏洞,链上开销过大.由于智能合约部署到链上后的不可修改性,这些针对特定漏洞类型的检测防御手段无法对原有的合约进行修复,因此很难及时地应对新型的漏洞和攻击.为此,提出了一种基于运行时信息的智能合约可升级防御技术,通过引入运行时的各种信息,为链下对攻击和漏洞的检测提供实时的数据.同时,设计了一套部署在合约上的访问控制机制,基于动态检测的结果,对合约的访问进行限制,从而在不需要修改合约代码的情况下实现动态的防御.由于以太坊本身的机制无法对实时攻击进行识别和拦截,为了减小这一影响,利用竞争(race condition)的机制来增强防御的效果.实验结果分析表明:该防御技术可以有效地检测并防御攻击,对于后续的攻击交易,可以实现100%的拦截成功率,对于首次检测到的实时攻击,利用竞争可以达到97.5%的成功率.  相似文献   

6.
智能合约是区块链技术最成功的应用之一,为实现各式各样的区块链现实应用提供了基础,在区块链生态系统中处于至关重要的地位.然而,频发的智能合约安全事件不仅造成了巨大的经济损失,而且破坏了基于区块链的信用体系,智能合约的安全性和可靠性成为国内外研究的新关注点.首先从Solidity代码层、EVM执行层、区块链系统层这3个层面介绍了智能合约常见的漏洞类型和典型案例;继而,从形式化验证法、符号执行法、模糊测试法、中间表示法、深度学习法这5类方法综述了智能合约漏洞检测技术的研究进展,针对现有漏洞检测方法的可检测漏洞类型、准确率、时间消耗等方面进行了详细的对比分析,并讨论了它们的局限性和改进思路;最后,根据对现有研究工作的总结,探讨了智能合约漏洞检测领域面临的挑战,并结合深度学习技术展望了未来的研究方向.  相似文献   

7.
智能合约是一种基于区块链平台运行,为缔约的多方提供安全可信赖能力的去中心化应用程序。智能合约在去中心化应用场景中扮演着重要的角色,被广泛地应用于股权众筹、游戏、保险、物联网等多个领域,但同时也面临着严重的安全风险。相比于普通程序而言,智能合约的安全性不仅影响合约参与多方的公平性,还影响合约所管理的庞大数字资产的安全性。因此,对智能合约的安全性及相关安全漏洞开展研究显得尤为重要。本文系统分析了智能合约的特性及其带来的全新安全风险;提出了智能合约安全的三层威胁模型,即来自于高级语言、虚拟机、区块链三个层面的安全威胁;并以世界上最大的智能合约平台——以太坊为例,详细介绍了15类主要漏洞;并总结了智能合约安全研究在漏洞方面的进展和挑战,包括自动漏洞挖掘、自动漏洞利用和安全防御三个方面的研究内容;最后,本文对智能合约未来安全研究进行了展望,提出了两个潜在的发展方向。  相似文献   

8.
智能合约具有去中心化、不可篡改、可溯源以及自动化执行等特点,能有效适应军事领域无人机集群作战需求,受到了学术界和工业界的广泛关注和高度重视。本文探讨了智能合约在无人机集群作战领域的应用,从高级语言层、区块链层、虚拟机层三个方面重点分析了智能合约在应用无人机集群作战领域中典型的潜在漏洞;针对潜在漏洞详细介绍了模糊测试、符号执行、形式化验证、深度学习四种检测技术,在此基础上提出了四种相应的检测算法。研究智能合约在无人机集群作战中的应用及其漏洞检测技术和检测算法对于提高军事领域无人机集群建设安全系数具有一定的实践意义。  相似文献   

9.
针对应用层未知攻击的蜜罐系统框架的研究与实现   总被引:1,自引:2,他引:1  
随着网络攻击事件越来越多,特别是新的漏洞以及其攻击的不断发布,网络安全受到严重的威胁。传统的安全技术如防火墙、入侵检测等都不能很好地对新的漏洞和攻击进行检测,所以未知攻击的检测问题已成为难点。利用蜜罐技术来解决未知攻击的检测问题,简要概述了现有的蜜罐技术,提出并实现了一种针对应用层未知攻击的蜜罐系统框架。最后进行了测试并给出了结论。  相似文献   

10.
智能合约是区块链平台实现交易的重要组件,为多方交易间信任问题提供了一种有效的解决方案.智能合约不仅管理高价值代币还具有不可更改等特性,导致近年来智能合约多次遭受安全威胁.目前出现了大量关于智能合约安全性的研究,其中智能合约漏洞检测成为主要关注点.文中系统分析了智能合约安全问题,从是否执行合约的角度将漏洞检测工具分为静态检测工具和动态检测工具,并对检测工具进行对比分析,重点分析现有检测工具的漏洞检测能力,介绍了 16种检测技术的原理及优缺点;最后,对如何提高智能合约安全性进行展望,提出了 3个可能提高智能合约安全性的研究方向.  相似文献   

11.
近年来,区块链技术已在金融、医疗和政务等领域得到了广泛应用和关注。然而,由于智能合约的不易篡改性和运行环境的特殊性,各类安全问题频繁出现。一方面是合约开发者在编写合约时出现的代码安全问题,另一方面是以太坊出现不少高风险智能合约,普通用户很容易被高风险合约提供的高回报所吸引,但对合约的风险却无从知晓。然而,关于智能合约安全的研究主要集中于代码安全方面,对合约功能识别的研究相对较少。假如能对智能合约功能进行准确分类,将有助于人们更好地理解智能合约的行为,同时保障智能合约生态安全,减少或挽回用户的损失。已有的智能合约分类方法通常依赖于对智能合约开源代码的分析,但以太坊发布的合约仅强制要求部署字节码,且只有极少数合约公布了其开源代码。因此,提出了一种基于字节码的以太坊智能合约分类方法。收集以太坊智能合约字节码和对应类别标签,然后提取操作码频率特征以及控制流图特征;通过实验对特征重要性进行分析,获取适合的图向量维度及最优的分类模型;在交易所、金融、赌博、游戏和高风险5个类别的智能合约多分类任务中进行实验验证,使用XGBoost分类器时的F1值达到0.9138。实验结果表明所提方法能较好地完成以太坊智能合约的分类任务,并且能够应用于现实中的智能合约类别预测。  相似文献   

12.
本文研究区块链智能合约的缺陷检测问题,即检测合约中是否存在部分合约方无论选择什么动作,均无法避免损失的状态.将智能合约问题转换成合约状态迁移图上的博弈策略选择问题,提出了基于纳什均衡理论的合约缺陷自动检测方法,以及为了提高检测效率,提出了针对合约状态变迁图和博弈策略形式的一系列化简方法.最后,实现了一个智能合约建模、分析和部署工具.针对一组真实合同的实验表明,该工具能自动发现部分合同缺陷,化简方法提升缺陷检测效率的效果明显.  相似文献   

13.
一种高级智能合约转化方法及竞买合约设计与实现   总被引:3,自引:0,他引:3  
智能合约是运行在区块链上的数字协议,智能合约的开发涉及计算机、金融、法律等多个领域,近年来高级智能合约语言已被提出用于解决不同领域人员阅读、交流与协同开发难的问题,然而上述语言与可执行智能合约语言之间仍缺少有效的转化方法.针对这一问题,本文设计了一种SPESC到目标程序语言(Solidity)的转化规则,并提出了一种包括高级智能合约层、智能合约层和机器代码执行层的三层智能合约系统框架.首先,转化规则给出了根据SPESC合约当事人定义生成目标语言当事人子合约、以及SPESC其余部分生成目标语言主体子合约之间的对应关系;其次,除程序框架与存储结构外,目标语言程序还包含当事人人员管理、程序时序控制、异常检测等机制,这些机制能辅助编程人员半自动化地编写智能合约程序;进而,通过两个实验验证了上述高级智能合约框架的易读性以及转换的正确性,第一个实验邀请了计算机与非计算机人员分组阅读Solidity和SPESC的智能合约并回答问卷,结果表明阅读SPESC的速度约为阅读Solidity两倍,准确率也更高.然后以竞买合约为实例,给出了根据上述转化规则从SPESC合约转化到可执行Solidity合约语言程序,并通过以太坊私链部署运行来验证转化过程的正确性.实例表明上述转化规则和系统框架可简化智能合约的编写、规范智能合约的程序结构、辅助编程人员验证代码的正确性.  相似文献   

14.
基于黑盒测试思想的Fuzzing是漏洞分析的主要方法,但效率较低且不能分析未知格式.基于污点分析,提出一种针对文件型软件的漏洞发现新方法.利用污点分析寻找输入中能导致执行流到达脆弱点的字节,再改变这些字节产生新输入;同时根据污点信息产生特征码.利用插桩工具实现了原型系统,对三个真实漏洞进行了测试.实验结果表明该方法能有效发现漏洞,生成的测试用例远小于Fuzzing,且不依赖输入格式;特征码的误报率漏报率均较低.  相似文献   

15.
随着区块链技术的兴起,智能合约安全问题被越来越多的研究者和企业重视,目前已有一些针对智能合约缺陷检测技术的研究.软件缺陷预测技术是软件缺陷检测技术的有效补充,能够优化测试资源分配,提高软件测试效率.然而,目前还没有针对智能合约的软件缺陷预测研究.针对这一问题,提出了面向Solidity智能合约的缺陷预测方法.首先,设计了一组针对Solidity智能合约特有的变量、函数、结构和Solidity语言特性的度量元集(smart contract-Solidity, SC-Sol度量元集),并将其与重点考虑面向对象特征的度量元集(code complexity and features of object-oriented program, COOP度量元集)组合为COOP-SC-Sol度量元集.然后,从Solidity智能合约代码中提取相关度量元信息,并结合缺陷检测结果,构建Solidity智能合约缺陷数据集.在此基础上,应用了7种回归模型和6种分类模型进行Solidity智能合约的缺陷预测,以验证不同度量元集和不同模型在缺陷数量和倾向性预测上的性能差异.实验结果表明,相对于COOP度量元集...  相似文献   

16.
Ethereum blockchain is a new internetware with tens of millions of smart contracts running on it.Different from general programs,smart contracts are decentralized,tamper-resistant and permanently running.Moreover,to avoid resource abuse,Ethereum charges users for deploying and invoking smart contracts according to the size of contract and the operations executed by contracts.It is necessary to optimize smart contracts to save money.However,since developers are not familiar with the operating environment of smart contracts(i.e.,Ethereum virtual machine)or do not pay attention to resource consumption during development,there are many optimization opportunities for smart contracts.To fill this gap,this paper defines six gas-inefficient patterns from more than 25,000 posts and proposes an optimization approach at the source code level to let users know clearly where the contract is optimized.To evaluate the prevalence and economic benefits of gas-inefficient patterns,this paper conducts an empirical study on more than 160,000 real smart contracts.The promising experimental results demonstrate that 52.75%of contracts contain at least one gas-inefficient pattern proposed in this paper.If these patterns are removed from the contract,at least 0.30 can be saved per contract.  相似文献   

17.
区块链技术的发展吸引了全球投资者的目光。目前,有数以万计的智能合约部署在以太坊上。在给金融、溯源等诸多行业带来颠覆性的创新之余,以太坊上的部分智能合约含有诸如庞氏骗局等欺诈形式,给全球投资者造成了数百万美元的损失。但是,目前针对互联网金融背景下庞氏骗局的定量识别方法较少,针对以太坊上庞氏骗局合约检测的研究较少,且检测精度有进一步提高的空间,文中提出基于深度神经网络的庞氏骗局合约检测方法。该方法提取出智能合约中有助于识别庞氏骗局的特征,如智能合约的操作码特征和账户特征,形成数据集,而后在数据集上训练模型,在测试集上检测性能。实验结果表明,基于深度神经网络的庞氏骗局合约检测方法具有99.6%的查准率和96.3%的查全率,均优于现有方法。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号