计算机科学
智能合约
计算机安全
安全编码
坚固性
代表(政治)
编码(集合论)
匹配(统计)
静态分析
程序设计语言
块链
信息安全
软件安全保证
数学
保安服务
政治
统计
集合(抽象数据类型)
法学
政治学
作者
Jiajia Fei,Xiaohan Chen,Xiangfu Zhao
出处
期刊:Applied sciences
[Multidisciplinary Digital Publishing Institute]
日期:2023-01-29
卷期号:13 (3): 1733-1733
被引量:14
摘要
As is well known, smart contracts on the blockchain store plenty of digital assets, and these contracts deployed on the blockchain are difficult to be modified. For this reason, the analysis and detection of smart contract vulnerabilities have received extensive attention. Smartcheck, a typical Java-implemented static analysis tool of smart contracts, is capable of converting Solidity source code into path diagrams based on the lexical and syntactic analysis, and finds smart contract vulnerabilities by path matching. Although Smartcheck can analyze most of the real-world vulnerabilities, some imperceptible vulnerabilities may be ignored, causing huge economic losses. In order to address these issues, we develop a new tool named MSmart to analyze the vulnerabilities of high risk such as timestamp dependence vulnerabilities, integer overflow vulnerabilities, self-destruct vulnerabilities, etc. MSmart converts the smart contract source code into an intermediate representation, and looks for smart contract vulnerabilities based on intermediate representation and XPath rules. We add new intermediate representation rules of Smartcheck to detect more kinds of vulnerabilities and optimize existing rules to suit the complexity of smart contract. We also implemented smart contract batch detection to shorten the time it takes to find vulnerabilities. To analysis the performance of MSmart, we collect 6000 real-world contracts from Etherscan and design some comparative experiments with other tools. The results of experiment show that MSmart is able to analyze related vulnerabilities better, and false positives and false negatives have been reduced due to our improvements.
科研通智能强力驱动
Strongly Powered by AbleSci AI