arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1911.00570cs.CR
收藏

MPro:结合静态和符号分析进行智能合约的可扩展测试

MPro: Combining Static and Symbolic Analysis for Scalable Testing of Smart Contract

William Zhang, Sebastian Banescu, Leonardo Passos, Steven Stewart, Vijay Ganesh

摘要:

智能合约是一种可执行程序,可以在多个实体之间建立可编程的信任机制,而无需可信的第三方。在过去的几年里,研究人员开发了几种安全扫描仪。然而,这些分析器中的许多分析器要么不能很好地扩展,要么即使扩展,也会产生许多误报。当bug仅在与被测契约的函数进行一系列交互之后才被触发时,这个问题会变得更加严重。深度n漏洞,指的是需要调用特定序列的n个函数来触发的漏洞。深度n漏洞通过现有的自动化分析仪检测是耗时的,因为可以在智能合约上执行的功能序列的组合爆炸。在本文中,我们提出了一种技术,分析深度-n漏洞,在一个有效的和可扩展的方式结合符号执行和数据依赖分析。将符号分析与静态分析相结合的一个显著优点是,它比单独使用符号分析更好地扩展,并且不存在静态分析工具通常存在的误报问题。我们已经在一个名为MPro的工具中实现了我们的技术,这是一个可扩展的自动化智能合约分析器,基于现有的符号分析工具Mythril-Classic和静态分析工具Slither。我们分析了MPro上随机选择的100个智能合约,我们的评估表明,MPro在检测深度n漏洞方面比Mythril-Classic快n倍,同时保留了Mythril-Classic的所有检测功能。

英文摘要:

Smart contracts are executable programs that enable the building of a programmable trust mechanism between multiple entities without the need of a trusted third-party. Researchers have developed several security scanners in the past couple of years. However, many of these analyzers either do not scale well, or if they do, produce many false positives. This issue is exacerbated when bugs are triggered only after a series of interactions with the functions of the contract-under-test. A depth-n vulnerability, refers to a vulnerability that requires invoking a specific sequence of n functions to trigger. Depth-n vulnerabilities are time-consuming to detect by existing automated analyzers, because of the combinatorial explosion of sequences of functions that could be executed on smart contracts. In this paper, we present a technique to analyze depth-n vulnerabilities in an efficient and scalable way by combining symbolic execution and data dependency analysis. A significant advantage of combining symbolic with static analysis is that it scales much better than symbolic alone and does not have the problem of false positive that static analysis tools typically have. We have implemented our technique in a tool called MPro, a scalable and automated smart contract analyzer based on the existing symbolic analysis tool Mythril-Classic and the static analysis tool Slither. We analyzed 100 randomly chosen smart contracts on MPro and our evaluation shows that MPro is about n-times faster than Mythril-Classic for detecting depth-n vulnerabilities, while preserving all the detection capabilities of Mythril-Classic.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑