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

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

3.
针对智能合约的DoS漏洞可能在拍卖退款交易中造成资源耗尽问题进行了研究,设计了拍卖退款交易中智能合约DoS漏洞优化方案。首先构造可能存在DoS漏洞的智能合约,然后采用增加映射以及压栈出栈方法完成漏洞优化,最后通过形式化验证运行优化后的智能合约,检测其是否存在逻辑错误或不一致性。实验结果表明,采用该方法优化的智能合约能够避免因资源耗尽产生的拒绝服务,与带有漏洞智能合约相比,优化后的智能合的等效内存使用量减少了约62.8%,运行时间也有缩短。  相似文献   

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

5.
针对已部署到区块链上的智能合约无法实现升级的问题,结合以太坊技术提出了一种松耦合的新型智能合约模型。该模型将传统的智能合约拆分为接口合约集、逻辑合约集、数据合约集三个子集。以此松耦合智能合约模型为基础,设计了一个客户实名转账获取代币的业务场景,通过部署代币合约、接口合约、逻辑合约和数据合约,实现了基本的实名转账功能。最后通过以太坊平台进行系统测试,分析了实名转账场景的功能性、可升级性及成本花销。结果表明基于该模型设计的智能合约,在实现基本功能的同时,能够允许在上链之后对其合约子集进行升级,且能有效降低升级成本,相比传统的链下升级方案,松耦合模型合约的升级成本降低了32.43%,部署成本仅增加了24.16%。  相似文献   

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

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

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

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

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

11.
The creative introduction of the smart contracts in Ethereum, which are Turing-complete programs, boosted blockchain to the second generation. Meantime, the specifically designed young and fast-evolving programming languages, such as Solidity, become the key factors behind smart contracts being the breeding ground of ubiquitous defects. As many contract defects occur within certain compiler versions, knowing the specific compiler version used to generate the contract's bytecode, facilitates the design of more targeted defect detection approaches, and provides ways to estimate the risks faced of invoking it. To this end, we propose VSmart (compiler Version identification for Smart contract), which takes in the bytecode of the smart contract to be analyzed and outputs the major compiler version used to produce it. The basic idea is to leverage deep neural networks to grasp version-indicative features from contracts' normalized opcode sequences, and train classifiers on a data set consisting of 131,546 smart contracts with ground-truth labels we collected from Etherscan. The performance evaluation conducted shows that VSmart achieves nearly 98% accuracy in identifying major Solidity compiler versions. Further, on the basis of VSmart, we perform an empirical study on the distribution of the Solidity compiler versions on a wild data set consisting of 15,326,672 nontrivial smart contracts actually deployed on the Ethereum blockchain. The landscape estimation results show that the Solidity version distribution is rather imbalanced, with Solidity 0.4 being the most popular one; and the developers' Solidity usage practices conflict with the official's suggestion of always using the latest version, while they tend to gradually switch to newer versions.  相似文献   

12.
基于语义嵌入模型与交易信息的智能合约自动分类系统   总被引:1,自引:0,他引:1  
作为区块链技术的一个突破性扩展,智能合约允许用户在区块链上实现个性化的代码逻辑从而使得区块链技术更加的简单易用.在智能合约代码信息迅速增长的背景下,如何管理和组织海量智能合约代码变得更具挑战性.基于人工智能技术的代码分类系统能根据代码的文本信息自动分门别类,从而更好地帮助人们管理和组织代码的信息.本文以Ethereum平台上的智能合约为例,鉴于词嵌入模型可以捕获代码的语义信息,提出一种基于词嵌入模型的智能合约分类系统.另外,每一个智能合约都关联着一系列交易,我们又通过智能合约的交易信息来更深入地了解智能合约的逻辑行为.据我们所知,本文是对智能合约代码自动分类问题的首次研究尝试.测试结果显示该系统具有较为令人满意的分类性能.  相似文献   

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

14.
张建国  胡晓辉 《计算机工程》2021,47(4):32-39,47
当前物联网设备节点动态性强且计算能力弱,导致物联网中的传统访问控制机制存在策略判决与策略权限管理效率较低、安全性不足等问题。提出基于以太坊区块链的物联网设备访问控制机制,结合基于角色的访问控制(RBAC)模型设计智能合约。对以太坊相关特性进行分析,建立结合用户组的改进RBAC模型。设计基于以太坊区块链技术的物联网设备访问控制架构及算法,通过编写图灵完备的智能合约实现物联网设备访问控制,融合以太坊区块链MPT树存储结构与星际文件系统对访问控制策略进行存储管理。在以太坊测试链上的实验结果表明,该机制具有较高的策略判决性能与安全性。  相似文献   

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

16.
Contemporary Cloud Manufacturing-as-a-Service (CMaaS) platforms now promise customers instant pricing and access to a large capacity of manufacturing nodes. However, many of the CMaaS platforms are centralized with data flowing through an intermediary agent connecting clients with service providers. This paper reports the design, implementation and validation of middleware software architectures which aim to directly connect client users with manufacturing service providers while improving transparency, data integrity, data provenance and retaining data ownership to its creators. In the first middleware, clients have the ability to directly customize and configure parts parametrically, leading to an instant generation of downstream manufacturing process plan codes. In the second middleware, clients can track the data provenance generated in a blockchain based decentralized architecture across a manufacturing system. The design of digital assets across a distributed manufacturing system infrastructure controlled by autonomous smart contracts through Ethereum based ERC-721 non-fungible tokens is proposed to enable communication and collaboration across decentralized CMaaS platform architectures. The performance of the smart contracts was evaluated on three different global Ethereum blockchain test networks with the centrality and dispersion statistics on their performance provided as a reference benchmark for future smart contract implementations.  相似文献   

17.
智能合约是实现各类区块链应用的核心软件程序.近期,以太坊区块链平台(Ethereum)上的智能合约暴露出大量错误和安全隐患,在国际上引发了智能合约形式化验证的研究热潮.为提供高可信度的验证结果,智能合约程序语言的形式化必不可少.本工作对以太坊中间语言Yul进行形式化,首次给出了其类型系统和小步操作语义的形式化定义.该语义为可执行语义(executable semantics),由120个Yul语言程序组成的测试集进行测试.本工作在Isabelle/HOL证明辅助工具中完成,为基于定理证明的智能合约正确性、安全性验证奠定了基础.  相似文献   

18.
近年来预付费消费模式倍受商家和消费者的青睐,在娱乐健身、教育培训、商超零售等服务业中得到广泛应用。现有预付卡管理中存在商家欺诈高发、商家违约频发、监管不善等诸多问题,难以保障消费者的权益。当前,基于区块链的智能合约技术具有去中心化、安全性高、可验证等特性,可用来有效管理预付卡,为解决预付卡管理存在的问题提供了新思路。因此提出了一种基于区块链的公平预付卡管理方案,消费者和商家通过与智能合约的交互完成交易,利用智能合约的暂存价值完成预付款的管理。消费者和商家共同确认消费成功后,由智能合约自动结算本次消费费用给商家。当商家存在违约时,消费者可以通过申诉追回已支付的预付款,维护自己的权益,从而保证交易的公平性。基于以太坊实验环境实现了预付卡管理方案,对预付卡发售、消费与退款等功能进行了详细测试。通过实验测试和安全性分析,验证了该方案的有效性和可行性。  相似文献   

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

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

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

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