首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 62 毫秒
1.
针对以太坊中智能合约遭受重入漏洞攻击的问题,文章提出一种基于局部图匹配的智能合约重入漏洞检测方法。该方法首先将智能合约源代码转化为包含基本结构信息的抽象语法树,并根据重入漏洞的特点裁剪抽象语法树;然后从抽象语法树中提取更加丰富的控制流和数据流,进而生成包含语法和语义信息的局部抽象语义图数据。文章利用图匹配神经网络对局部抽象语义图进行模型训练和测试,使用开源智能合约漏洞样本数据集生成测试数据并对方案进行评估。实验结果表明,该方法能够有效检测智能合约中的重入漏洞。  相似文献   

2.
以太坊虚拟机是以太坊区块链中关键组成部分, 其缺陷会导致交易的执行结果出现偏差, 给以太坊生态带来严重问题. 现有的以太坊虚拟机缺陷检测工作仅将虚拟机视为独立的智能合约执行工具, 没有完整测试其工作流程, 从而导致缺陷检测存在盲点. 针对上述问题, 提出了一种以太坊虚拟机运行全过程的缺陷检测方法(ETHCOV). ETHCOV首先结合权重策略指导智能合约、合约接口参数输入和交易序列按不同粒度变异, 然后将其与区块状态以及世界状态打包作为测试用例, 最后将测试用例输入到以太坊虚拟机中触发运行并对比检验运行结果, 以此来检测以太坊虚拟机的漏洞缺陷. 基于上述方法实现了一个原型系统, 并以2万多个真实智能合约作为为输入对以太坊虚拟机进行缺陷检测测试. 实验结果表明, 相较于现有工具EVMFuzzer, ETHCOV的测试效率提升了339%, 代码覆盖率提升了125%, 并检测出3组用例的不一致输出. 这些结果表明ETHCOV能有效检测以太坊虚拟机的缺陷.  相似文献   

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

4.
主流区块链平台以太坊上频繁发现由不安全编程引起的智能合约安全漏洞。为了提高模糊测试对合约代码的覆盖率,以更全面地检测安全漏洞,提出了一种智能合约模糊测试方法。首先构造智能合约交易序列数据集,再基于深度学习构建智能合约交易生成模型以生成模糊测试初始种子;然后根据覆盖率和分支距离信息,对智能合约进行信息反馈引导的模糊测试,提出了特定的测试用例染色体编码方式,并设计实现了相应的交叉和变异算子。所提方法能有效覆盖智能合约的深层次状态以及严格条件守卫的分支代码。在500个智能合约上进行实验,结果表明,所提方法的代码覆盖率为93.73%,漏洞检测率为93.93%,与ILF,sFuzz, Echidna方法相比,所提方法的代码覆盖率提高了3.80%~25.49%,漏洞检测率提高了4.64%~24.02%。所提方法有助于提升以太坊智能合约安全测试的有效性,具有参考价值。  相似文献   

5.
以太坊等公链上的智能合约可以实现各种去中心化应用,但频发的安全事件导致用户的财产遭受威胁。智能合约安全问题极大地影响用户对去中心化应用的信任度,且链上信息具有不可篡改的特性,使得智能合约在部署前的安全审计和漏洞修复过程必不可少,但当前的安全研究大多聚焦于智能合约漏洞检测技术。文章首先介绍了智能合约相关背景并比较了其与传统应用程序的差异,提出了包含漏洞识别和补丁生成两大关键步骤的智能合约部署前漏洞自动化修复流程,然后分析并阐述了常见的漏洞类型和漏洞检测技术,深入讨论了基于字节码和源码生成智能合约常见漏洞补丁的研究进展,最后对智能合约漏洞补丁生成技术面临的有效性、成本、可扩展性等性能问题以及漏洞自动修复技术的未来方向进行了展望。  相似文献   

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

7.
以太坊智能合约本质上是一种在网络上由相互间没有信任关系的节点共同执行的已被双方认证程序。目前,大量的智能合约被用于管理数字资产,使智能合约成为黑客的重要攻击对象。常见的攻击方法是通过利用智能合约的漏洞来实现特定操作的入侵攻击。ContractGuard 是首次提出面向以太坊区块链智能合约的入侵检测系统,它能检测智能合约的潜在攻击行为。ContractGuard 的入侵检测主要依赖检测潜在攻击可能引发的异常控制流来实现。由于智能合约运行在去中心化的环境以及在高度受限的环境中运行,现有的IDS技术或者工具等以外部拦截形式的部署架构不适合于以太坊智能合约。为了解决这些问题,通过设计一个嵌入式的架构,实现了把 ContractGuard 直接嵌入智能合约的执行代码中,作为智能合约的一部分。在运行时刻,ContractGuard通过相应的context-tagged无环路径来实现入侵检测,从而保护智能合约。由于嵌入了额外的代码,ContractGuard一定程度上会增加智能合约的部署开销与运行开销,为了降低这两方面的开销,基于以太坊智能合约的特性对 ContractGuard 进行优化。实验结果显示,可有效地检测 83%的异常行为,其部署开销仅增加了36.14%,运行开销仅增加了28.17%。  相似文献   

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

9.
曹迪迪  陈伟 《计算机应用》2019,39(4):1073-1080
针对以太坊平台提供的数据管理功能简单且存在低吞吐率和高延迟的问题,提出一种基于智能合约的以太坊可信存证机制。首先针对以太坊平台暴露的数据管理问题提出一个基于智能合约的以太坊可信存证框架,然后通过集中化数据统一处理、认证数据分布式存储以及高效动态取证这几个方面阐述所提机制的框架和实现,最后通过基于智能合约的系统开发表明了该机制的可实现性。实验及分析结果表明,该方法与传统关系数据库存证相比,增加了处理可信性、存储可信性和访问可信性;与区块链存证相比,丰富了数据管理功能、降低了区块存储成本、提高了存证效率。  相似文献   

10.
针对传统智能合约漏洞检测方案的检测准确率低以及采用深度学习的方案检测漏洞类型单一等问题,文章提出基于双向长短期记忆(Bi-Directional Long Short-Term Memory,BiLSTM)网络和注意力机制的智能合约漏洞检测方案。首先,利用Word2vec词嵌入技术对数据进行训练,通过训练获得操作码词向量表示;然后,通过将词向量传入BiLSTM来提取序列特征,并利用注意力机制为不同的特征赋予不同的权重以突出关键特征;最后,通过激活函数进行归一化处理,实现智能合约漏洞的检测与识别。文章在以太坊上收集了3000个智能合约,并利用这些合约对模型进行实验和评估。实验结果表明,与深度学习模型和传统工具相比,文章所提方案的精确率、召回率和F1分数均有一定提升,能够准确识别出4种类型的智能合约漏洞,准确率达86.34%。  相似文献   

11.
智能合约是一种被大量部署在区块链上的去中心化的应用. 由于其具有经济属性, 智能合约漏洞会造成潜在的巨大经济和财产损失, 并破坏以太坊的稳定生态. 因此, 智能合约的漏洞检测具有十分重要的意义. 当前主流的智能合约漏洞检测方法(诸如Oyente和Securify)采用基于人工设计的启发式算法, 在不同应用场景下的复用性较弱且耗时高, 准确率也不高. 为了提升漏洞检测效果, 针对智能合约的时间戳漏洞, 提出基于数据流传播路径学习的智能合约漏洞检测方法Scruple. 所提方法首先获取时间戳漏洞的潜在的数据传播路径, 然后对其进行裁剪并利用融入图结构的预训练模型对传播路径进行学习, 最后对智能合约是否具有时间戳漏洞进行检测. 相比而言, Scruple具有更强的漏洞捕捉能力和泛化能力, 传播路径学习的针对性强, 避免了对程序整体依赖图学习时造成的层次太深而无法聚焦漏洞的问题. 为了验证Scruple的有效性, 在真实智能合约的数据集上, 开展Scruple方法与13种主流智能合约漏洞检测方法的对比实验. 实验结果表明, Scruple在检测时间戳漏洞上的准确率, 召回率和F1值分别可以达到0.96, 0.90和0.93, 与13种当前主流方法相比, 平均相对提升59%, 46%和57%, 从而大幅提升时间戳漏洞的检测能力.  相似文献   

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

13.
运行在区块链平台之上的智能合约,完成了不同参与者之间协议的达成和自动执行,同时也管理了大量的数字资产,智能合约漏洞的频繁爆出,造成了难以估量的经济损失。模糊测试是一种有效的动态漏洞检测技术,已经被应用于智能合约安全研究。文中分析了现有综述工作对智能合约模糊测试的总结不足的问题,并提出了智能合约模糊测试的基本框架;以目前智能合约安全研究中最广泛的以太坊智能合约为例,介绍了与智能合约紧密相关的账户机制和交易结构,总结了智能合约区别于传统程序的特点;阐述了智能合约的漏洞,并对这些智能合约模糊测试技术覆盖的漏洞进行了比较;进一步地,从单交易和交易序列两个方面对已有智能合约模糊测试技术的输入生成进行了分析;从函数层面、交易层面和交易序列层面对测试输入变异进行了总结;对已有智能合约模糊测试技术的测试预言使用进行了简述;另外,还总结了智能合约模糊测试的技术评价指标。最后,提出了当前智能合约模糊测试技术研究面临的问题,并对未来的研究方向进行了展望。  相似文献   

14.
针对物联网(IoT)信息共享中存在缺乏信用保障机制以及信息孤岛问题,设计一种基于以太坊的物联网可伸缩的信息共享机制框架。提出基于智能合约机制的信息共享处理流程,采用设备管理器管理物联网设备,以增强机制的可伸缩性。实验基于以太坊平台,分别对机制的信息交易处理能力和可伸缩性进行验证。结果表明该共享机制具有良好的可伸缩性,信息共享的交易吞吐量达到10 000条/s,交易延时为毫秒级。  相似文献   

15.
近年来,智能合约中的漏洞检测任务已受到越来越多的关注。然而,缺少源代码和完备的检测特征限制了检测的效果。在本文中,我们提出了DC-Hunter:一种基于字节码匹配的智能合约漏洞检测方案。它可以通过已知的漏洞合约找到类似的漏洞合约,并且可以直接应用于现实世界中的智能合约,无需源码和预先定义的漏洞特征。为了让提出的方法更加切实可行,我们应用程序切片来降低无关代码的影响,通过规范化减少编译器版本带来的差异,并使用图嵌入算法来捕捉函数的结构信息,从而显著减少误报和漏报。此外,借助DC-Hunter我们揭露了一种新型的危险合约。我们发现有一些合约是伪漏洞合约,专门用于诱骗他人尝试进行攻击,从而窃取攻击者的以太币,这种合约称为"蜜罐合约"。我们实现了DC-Hunter的原型,并将其应用于现实世界的智能合约,共有183份危险的合约被报出并确认,其中包括160份漏洞合约和23份蜜罐合约。  相似文献   

16.
在软件销售场景中软件订阅和支持模式将成为主流,同时中心化授权在效率和安全性上受服务端限制。针对存储订阅信息的服务端可能遭受攻击导致盗版问题,提出基于非同质化代币的软件订阅模型,编写以太坊智能合约并利用去中心化方案保证订阅信息不可篡改。应用非同质化代币表示软件订阅,在区块链上映射软件订阅的生命周期,软件订阅流程依据代币原生操作完成,同时支持订阅购买者和销售商通过与智能合约交互实现安全的软件销售。根据订阅流程中智能合约调用的手续费开销,在模式设计层面选择发布-订阅区块链预言机,解决以太币汇率变化等相关问题,在系统设计层面设计链上存证和链下支付策略,使得订阅服务流程中的交易手续费不受以太坊主网行情的影响。实验结果表明,该模型通过非同质化代币完整映射软件订阅场景,并保障信息的可信、公开和不可篡改。  相似文献   

17.
随着共享经济的发展,对于高可信的分布式交易管理具有迫切的需求,然而,传统的中心化信息系统难以满足。区块链技术提供了一种共享账本机制,为构建可信的分布式交易管理奠定了基础。以支持智能合约的区块链2.0平台——以太坊平台作为基础框架,深入研究基于区块链技术的去中心化共享物品交易服务系统的运行机制与实现技术。设计了基于以太坊的去中心化物品共享交易服务系统框架,提出了基于智能合约机制的交易管理处理流程,详细描述了包括用户接口在内的系统实现技术,并对该系统在交易处理上的性能进行了实验测试。实验结果表明,基于以太坊的交易服务系统在保证交易数据可信性的基础上,平均交易处理速度为每秒21.7条,有索引查询速度为每秒117.6条,具有较高的运行效率。  相似文献   

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

19.
区块链技术的发展吸引了全球投资者的目光.目前,有数以万计的智能合约部署在以太坊上.在给金融、溯源等诸多行业带来颠覆性的创新之余,以太坊上的部分智能合约含有诸如庞氏骗局等欺诈形式,给全球投资者造成了数百万美元的损失.但是,目前针对互联网金融背景下庞氏骗局的定量识别方法较少,针对以太坊上庞氏骗局合约检测的研究较少,且检测精...  相似文献   

20.
作为当前最大的支持智能合约的区块链平台,数以百万计的智能合约被部署在以太坊上.由于即使发现包含bug也无法修改已部署的智能合约,因此对于开发人员而言,在部署合约前修复合约中的bug至关重要.当前研究人员已经提出了许多智能合约分析工具,用于检测合约中的bug.这些工具要么使用基于以太坊虚拟机字节码的符号执行来检测bug,要么将源代码转换为中间表示形式后再检测bug.然而,基于符号执行的工具通常无法覆盖合约中的大部分bug;将源代码转换为中间表示形式会对检测速度产生负面影响.此外,现有的工具都只能检测bug,而无法根据检测结果自动修复bug.为了解除以上限制,提出了一种名为SolidityCheck的方法,该方法通过使用正则表达式、程序插桩和语句替换等技术,实现快速检测合约中的bug并自动修复其中某些种类bug的目的.文中进行了 一系列实验来评估SolidityCheck,实验结果表明,与现有方法相比,SolidityCheck在多个指标上显示出了优异的性能.  相似文献   

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

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