Skip to main content
QUICK REVIEW

[论文解读] {\AE}GIS: Shielding Vulnerable Smart Contracts Against Attacks

Christof Ferreira Torres, Mathis Baden|arXiv (Cornell University)|Mar 12, 2020
Blockchain Technology Applications and Security参考文献 29被引用 6
一句话总结

ÆGIS 是一种动态分析框架,通过使用领域特定语言编写的攻击模式,保护已部署的智能合约免受运行时攻击。它利用基于区块链的智能合约来存储和投票决定攻击模式,与现有最先进工具相比,在检测重入攻击等漏洞时实现了零误报,且精度更高。

ABSTRACT

In recent years, smart contracts have suffered major exploits, costing millions of dollars. Unlike traditional programs, smart contracts are deployed on a blockchain. As such, they cannot be modified once deployed. Though various tools have been proposed to detect vulnerable smart contracts, the majority fails to protect vulnerable contracts that have already been deployed on the blockchain. Only very few solutions have been proposed so far to tackle the issue of post-deployment. However, these solutions suffer from low precision and are not generic enough to prevent any type of attack. In this work, we introduce {\\AE}GIS, a dynamic analysis tool that protects smart contracts from being exploited during runtime. Its capability of detecting new vulnerabilities can easily be extended through so-called attack patterns. These patterns are written in a domain-specific language that is tailored to the execution model of Ethereum smart contracts. The language enables the description of malicious control and data flows. In addition, we propose a novel mechanism to streamline and speed up the process of managing attack patterns. Patterns are voted upon and stored via a smart contract, thus leveraging the benefits of tamper-resistance and transparency provided by the blockchain. We compare {\\AE}GIS to current state-of-the-art tools and demonstrate that our solution achieves higher precision in detecting attacks. Finally, we perform a large-scale analysis on the first 4.5 million blocks of the Ethereum blockchain, thereby confirming the occurrences of well reported and yet unreported attacks in the wild.

研究动机与目标

  • 为解决静态分析工具无法解决的已部署智能合约运行时攻击防护关键缺口。
  • 在不修改以太坊协议级别的前提下,实现对存在漏洞的智能合约的动态、运行时保护。
  • 通过区块链提供一种可扩展、透明且防篡改的机制,用于更新安全规则(攻击模式)。
  • 克服现有运行时保护工具的局限性,如精度低和可扩展性差。
  • 建立一个去中心化、社区驱动的系统,用于提议、投票和部署新的攻击检测模式。

提出的方法

  • 该系统使用一种针对以太坊执行模型定制的领域特定语言(DSL),描述智能合约中的恶意控制流和数据流。
  • 攻击模式以纯文本形式提交至专用智能合约,该合约通过专家小组或类似权益证明的机制实现投票和共识。
  • 每个交易由提取器实时分析,通过模拟执行并使用DSL定义的规则检查模式匹配。
  • 系统在检测到已知攻击模式时回滚交易,阻止状态变更的同时消耗Gas。
  • 自计票机制确保仅经批准的模式被激活,保障透明度和完整性。
  • 该框架通过支持在不修改核心系统的情况下添加和投票新模式,实现可扩展性。

实验结果

研究问题

  • RQ1一个原生基于区块链的动态系统能否在部署后以高精度和极低误报率检测并阻止智能合约漏洞?
  • RQ2攻击模式能否在去中心化方式下安全且透明地进行管理与更新?
  • RQ3社区驱动的投票机制在安全更新方面是否既能扩展又能抵抗操纵?
  • RQ4ÆGIS 的性能和检测准确率与现有最先进运行时检测工具相比如何?
  • RQ5ÆGIS 在实际生产环境中对已知和此前未报告的漏洞的检测能力有多强?

主要发现

  • ÆGIS 在检测重入攻击时实现了零误报,优于当前最先进工具中存在误报的情况。
  • 该系统成功检测到知名攻击(如DAO、Parity钱包)以及前450万个以太坊区块中此前未报告的漏洞。
  • 使用基于区块链的攻击模式投票机制,确保了透明性、不可篡改性以及抗篡改能力。
  • 领域特定语言能够精确建模恶意控制流和数据流,从而提高检测准确率。
  • 该系统的架构支持检测逻辑的增量更新,而无需修改以太坊客户端或共识协议。
  • 大规模分析证实,在生产环境智能合约中存在此前未记录的攻击模式,验证了该系统在现实世界中的相关性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。