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

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

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

4.
陈胜  方明哲  蒋步云  李春晓  左春  李玉成  梁赓 《软件学报》2023,34(10):4681-4704
区块链上运行的智能合约具有一经部署难以修改、调用执行需经过共识等特点, 现有的需要修改智能合约代码或打断其执行过程的调试方法难以直接应用到智能合约上. 由于智能合约的运行过程由区块链交易顺序执行过程组成, 实现对区块链交易执行过程的追溯是提升智能合约可调试性的一个有效途径. 对区块链交易执行过程进行追溯主要目标是找出一条已经出块的区块链交易是如何得到当前的执行结果的. 区块链交易的执行依赖于区块链内部状态, 且该状态取决于之前区块链交易的执行结果, 因此存在着传递性依赖. 区块链交易的依赖性和区块链所提供的执行环境的特点给区块链交易执行追溯带来了挑战. 区块链交易执行追溯面临的挑战主要有3方面, 即如何从智能合约部署的生产环境中获取足够追溯的信息、如何获取区块链交易之间的依赖关系, 以及如何保证追溯结果与实际在线执行过程一致. 提出了一种基于录制重放的区块链交易执行追溯方法, 在合约容器中建立录制重放机制, 无需修改合约代码即可支持交易执行中对状态读写操作的录制, 并且不会打断智能合约运行; 提出了基于状态读写的交易依赖分析算法, 支持对存在依赖关系的前序交易进行按需回溯; 此外, 设计了录制读写操作记录的验证机制, 确保重放的执行过程与真实执行过程之间的一致性可被验证. 所提出的方法能够追溯区块链交易调用智能合约的执行过程, 可用于智能合约调试, 并且当智能合约异常造成损失时可用于举证. 在实验中对比了将录制的读写操作记录存储于链上和存储于链下之间的性能差异, 通过案例研究展示了所提方法在追溯区块链交易执行方面的有效性和优点.  相似文献   

5.
施建锋  吴恒  高赫然  张文博 《软件学报》2022,33(11):4084-4106
以太坊等区块链采用串行方式执行区块中的智能合约交易,虽能严格保障执行后节点间区块链状态的一致性,但这已成为目前制约区块链吞吐率的一个重要瓶颈.因此,采用并行方法优化智能合约交易的执行逐渐成为工业界和学术界关注的重点.总结了区块链智能合约并行执行方法的研究进展,提出了一个研究框架,该框架以智能合约并行执行的阶段为视角,凝练出4种智能合约并行执行模型,即基于静态分析的并行执行模型、基于动态分析的并行执行模型、节点间并行执行模型和分治并行执行模型,然后描述了每种模型下典型的并行执行方法.最后,对交易依赖图和并发控制策略等影响并行执行的因素进行了讨论,并提出了未来可研究的方向.  相似文献   

6.
以太坊Solidity智能合约基于区块链技术,作为一种旨在以信息化方式传播、验证或执行的计算机协议,为各类分布式应用服务提供了基础.虽然落地还不足6年,但因其安全漏洞事件频繁爆发,且造成了巨大的经济损失,使得其安全性检查方面的研究备受关注.首先基于以太坊相关技术对智能合约的一些特殊机制和运行原理进行介绍,并根据智能合约...  相似文献   

7.
分析和研究以太坊上的区块、交易、账户和智能合约数据具有巨大价值,但是以太坊数据量大、数据种类多、存储结构各异,当前数据获取方法的获取速度慢而且获取的数据不全,因此充分利用这些数据非常困难。文中提出了基于区块并行的以太坊数据快速导出工具Geth-query,通过分析以太坊内部机制,利用区块世界状态快照消除区块之间的依赖关系,优化本机资源利用效率并行重放区块,实现了快速而全面地提取以太坊链上数据。实验证明,Geth-query提取的数据种类丰富,数据导出速度相比传统方法提升了10倍左右。为了使用方便,文中同时对导出的数据进行存储优化,并在前端页面进行数据展示,从而为分析和研究以太坊提供了数据基础。  相似文献   

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

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

10.
智能合约是区块链生态环境的根基,以太坊区别于比特币的最显著特性就是支持"智能合约",也正因为这种特性使其可承载DeFi、NFT等上层应用,因此保障智能合约安全至关重要.然而,近年来兴起的智能合约蜜罐(Smart Contract Honeypot,以下简称合约蜜罐)已对以太坊生态环境造成显著污染,其具有的检测延迟大、攻...  相似文献   

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

12.
Blockchain is becoming popular as a distributed and reliable ledger which allows distrustful parties to transact safely without trusting third parties. Emerging blockchain systems like Ethereum support smart contracts where miners can run arbitrary user-defined programs. However, one of the biggest concerns about the blockchain and the smart contract is privacy, since all the transactions on the chain are exposed to the public. In this paper, we present ShadowEth, a system that leverages hardware enclave to ensure the confidentiality of smart contracts while keeping the integrity and availability based on existing public blockchains like Ethereum. ShadowEth establishes a confidential and secure platform protected by trusted execution environment (TEE) off the public blockchain for the execution and storage of private contracts. It only puts the process of verification on the blockchain. We provide a design of our system including a protocol of the cryptographic communication and verification and show the applicability and feasibility of ShadowEth by various case studies. We implement a prototype using the Intel SGX on the Ethereum network and analyze the security and availability of the system.  相似文献   

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

14.
Blockchain has recently emerged as a research trend, with potential applications in a broad range of industries and context. One particular successful Blockchain technology is smart contract, which is widely used in commercial settings (e.g., high value financial transactions). This, however, has security implications due to the potential to financially benefit froma security incident (e.g., identification and exploitation of a vulnerability in the smart contract or its implementation). Among, Ethereum is the most active and arresting. Hence, in this paper, we systematically review existing research efforts on Ethereum smart contract security, published between 2015 and 2019. Specifically, we focus on how smart contracts can be maliciously exploited and targeted, such as security issues of contract program model, vulnerabilities in the program and safety consideration introduced by program execution environment. We also identify potential research opportunities and future research agenda.  相似文献   

15.
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.  相似文献   

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

17.
自中本聪提出比特币以来,区块链技术得到了跨越式发展,特别是在数字资产转移及电子货币支付方面。以太坊引入智能合约代码,使其具备了同步及保存智能合约程序执行状态,自动执行交易条件并消除对中介机构需求,Web3.0 开发者可利用以太坊提供的通用可编程区块链平台构建更加强大的去中心化应用。公链系统具备的特点,如无须中央节点控制、通过智能合约保障交互数据公开透明、用户数据由用户个人控制等,使得它在区块链技术发展的过程中吸引了更多的用户关注。然而,随着区块链技术的普及和应用,越来越多的用户将自己的数字资产存储在区块链上。由于缺少权威机构的监管及治理,以太坊等公链系统正逐步成为黑客窃取数字资产的媒介。黑客利用区块链实施诈骗及钓鱼攻击,盗取用户所持有的数字资产来获取利益。帮助读者建立区块链资产安全的概念,从源头防范利用区块链实施的资产窃取攻击。通过整理总结黑客利用区块链环境实施的资产窃取攻击方案,抽象并归纳威胁模型的研究方法,有效研究了各类攻击的特征及实施场景。通过深入分析典型攻击方法,比较不同攻击的优缺点,回答了攻击能够成功实施的根本原因。在防御技术方面,针对性结合攻击案例及攻击实施场景介绍了钓鱼检测、代币授权检测、代币锁定、去中心化代币所属权仲裁、智能合约漏洞检测、资产隔离、供应链攻击检测、签名数据合法性检测等防御方案。对于每一类防御方案,给出其实施的基本流程及方案,明确了各防护方案能够在哪类攻击场景下为用户资产安全提供防护。  相似文献   

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

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

京公网安备 11010802026262号