首页> 外文会议>IEEE/ACM International Conference on Program Comprehension >Enabling Clone Detection For Ethereum Via Smart Contract Birthmarks
【24h】

Enabling Clone Detection For Ethereum Via Smart Contract Birthmarks

机译:通过智能合约出生标记启用以太坊克隆检测

获取原文

摘要

The Ethereum ecosystem has introduced a pervasive blockchain platform with programmable transactions. Everyone is allowed to develop and deploy smart contracts. Such flexibility can lead to a large collection of similar contracts, i.e., clones, especially when Ethereum applications are highly domain-specific and may share similar functionalities within the same domain, e.g., token contracts often provide interfaces for money transfer and balance inquiry. While smart contract clones have a wide range of impact across different applications, e.g., security, they are relatively little studied. Although clone detection has been a long-standing research topic, blockchain smart contracts introduce new challenges, e.g., syntactic diversity due to trade-off between storage and execution, understanding high-level business logic etc.. In this paper, we highlighted the very first attempt to clone detection of Ethereum smart contracts. To overcome the new challenges, we introduce the concept of smart contract birthmark, i.e., a semantic-preserving and computable representation for smart contract bytecode. The birthmark captures high-level semantics by effectively sketching symbolic execution traces (e.g., data access dependencies, path conditions) and maintain syntactic regularities (e.g., type and number of instructions) as well. Then, the clone detection problem is reduced to a computation of statistical similarity between two contract birthmarks. We have implemented a clone detector called EClone and evaluated it on Ethereum. The empirical results demonstrated the potential of EClone in accurately identifying clones. We have also extended EClone for vulnerability search and managed to detect CVE-2018-10376 instances.
机译:以太坊生态系统引入了具有可编程交易的无处不在的区块链平台。每个人都可以开发和部署智能合约。这种灵活性可能导致大量类似合同(即克隆)的集合,特别是当以太坊应用程序是高度特定于域的并且可能在同一域内共享类似功能时,例如令牌合同通常为汇款和余额查询提供接口。尽管智能合约克隆在不同应用程序(例如安全性)中具有广泛的影响,但对它们的研究相对较少。尽管克隆检测一直是一个长期的研究主题,但是区块链智能合约带来了新的挑战,例如由于存储和执行之间的权衡,理解高级业务逻辑等带来的语法多样性。在本文中,我们着重强调了首次尝试克隆以太坊智能合约的检测。为了克服新的挑战,我们引入了智能合约胎记的概念,即智能合约字节码的语义保留和可计算表示。胎记通过有效地勾画符号执行轨迹(例如,数据访问依赖关系,路径条件)并保持语法规则性(例如,指令的类型和数量)来捕获高级语义。然后,将克隆检测问题简化为两个合同胎记之间统计相似度的计算。我们已经实现了一个名为EClone的克隆检测器,并在以太坊上对其进行了评估。实验结果证明了EClone在准确识别克隆中的潜力。我们还扩展了EClone的漏洞搜索功能,并设法检测CVE-2018-10376实例。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号