Font Size: a A A

Research On Smart Contract Security Vulnerability Mining Technolog

Posted on:2024-08-18Degree:MasterType:Thesis
Country:ChinaCandidate:H W YangFull Text:PDF
GTID:2568307142451584Subject:Electronic information
Abstract/Summary:PDF Full Text Request
Smart contracts are computer programs that run on the blockchain,which can manage cryptocurrencies and data while achieving diverse business logic.They have been widely used in finance,the Internet of Things,healthcare,and other fields.However,due to the capability of smart contracts to store digital assets,they have attracted many attackers,who attempt to exploit security vulnerabilities for financial gains.In recent years,with the occurrence of several smart contract security incidents,security vulnerability mining techniques for smart contracts has become a research hotspot both domestically and internationally.Existing research works rely on traditional software vulnerability mining techniques,applying machine learning,static analysis,symbolic execution,and fuzz testing methods to smart contracts,and proposes various methods from the perspectives of vulnerability analysis,prediction,and detection.However,existing methods have limitations in terms of model performance,vulnerability detection efficiency and capability.For example,machine learning-based methods have not considered the features specific to smart contract code,resulting in low performance of vulnerability prediction models.Static analysis-based methods can achieve higher vulnerability analysis efficiency but are prone to false positives.Symbolic execution-based methods can achieve higher precision and generate test cases,but they suffer from issues such as path explosion and difficulty in constraint solving,resulting in low vulnerability detection efficiency.Moreover,existing methods struggle to analyze and detect smart contracts with cross-contract function calls,limiting detection capabilities.To address the above problems,this paper conducts research on security vulnerability mining techniques for smart contracts.First,a security vulnerability prediction method for smart contracts based on software measurement is proposed,which designs the SC-Sol metrics suite for smart contract code features and builds several machine learning models to predict whether the tested contract have vulnerabilities.Experimental results show that,compared to the COOP metrics suite,which only considers object-oriented program features,the prediction model combining the SC-Sol metrics suite is improved by 5.56% in F1-score.Secondly,Smart Target,a security vulnerability detection method for smart contracts based on target-guided symbolic execution is proposed,pruning basic blocks in the control flow graph that are irrelevant to the target statements,and optimizing the path exploration strategy of symbolic execution.Experimental results show that,compared to the non-target-guided symbolic execution method,Smart Target reduces the vulnerability detection time by 60.76%.Lastly,Cross Fuzz,a cross-contract vulnerability detection method based on fuzz testing is proposed,generating constructor parameters for deploying the tested contracts,while optimizing the transaction sequences mutation strategy through data flow information.Experimental results show that,compared to other fuzzer,Cross Fuzz improves bytecode coverage by 37.22% and detects 1.77 times more security vulnerabilities.
Keywords/Search Tags:blockchain smart contracts, security vulnerability mining, vulnerability analysis, vulnerability prediction, vulnerability detection
PDF Full Text Request
Related items