Smart Contract Vulnerability Detection via Symbolic Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Smart contracts, due to their complexity and immutability after deployment, pose challenges in detecting and verifying vulnerabilities, leading to potential property damage and increased costs in manual code audits, which are often inefficient and prone to human error.
Innovation Solution
An apparatus and method that uses symbolic execution and cost functions to automatically detect and validate vulnerable transaction sequences in smart contracts, allowing for quick and accurate identification of vulnerabilities through a processor and storage system, thereby reducing the risk of human mistakes and audit time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual code audit is performed for smart contract vulnerability detection, then detection thoroughness may be improved, but time consumption and cost increase significantly
Solution Approach 1:
The system performs preliminary symbolic execution and generates verification conditions before final vulnerability confirmation. By pre-computing possible execution paths and identifying potential vulnerability patterns early in the analysis process, the system reduces the time required for thorough vulnerability detection while maintaining high detection accuracy.
Solution Approach 2:
The patent introduces an automated verification condition generation mechanism as an intermediary between manual code review and final vulnerability detection. This intermediary system uses symbolic execution to translate smart contract code into verifiable conditions, enabling automated analysis that maintains thoroughness while significantly reducing time consumption compared to purely manual auditing.
2Measurement precision
If manual code audit is used for vulnerability detection, then detailed analysis may be achieved, but human errors and mistakes frequently occur
Solution Approach 1:
The system implements self-service through automated symbolic execution and verification condition checking. The smart contract analysis is performed autonomously by the system itself without human intervention in the critical verification steps, eliminating human errors while maintaining high detection accuracy through mathematically rigorous verification methods.
Solution Approach 2:
The patent replaces the mechanical human review process with an automated computational verification system. By substituting human analysts with symbolic execution engines and automated solvers, the system eliminates human mistakes while maintaining or improving detection accuracy through systematic and consistent automated analysis.
3Reliability
If comprehensive vulnerability checking is performed on smart contract code, then security may be improved, but complexity of analysis increases
Solution Approach 1:
The patent segments the vulnerability analysis process into distinct phases: symbolic execution, verification condition generation, and satisfiability checking. By dividing the complex analysis into manageable segments, the system achieves comprehensive security verification while reducing the apparent complexity through structured, modular processing steps.
Solution Approach 2:
The system changes the analysis parameters by transforming smart contract code into symbolic representations and verification conditions. This parameter transformation simplifies the analysis complexity by converting complex control flow and state management into formal logical conditions that can be systematically verified for security properties.
4Productivity
If smart contract code is deployed, then operational functionality is achieved, but modification becomes almost impossible
Solution Approach 1:
The system performs preliminary vulnerability verification through symbolic execution and formal verification before smart contract deployment. By conducting comprehensive security analysis and obtaining verification results in advance, the system ensures that no modifications are needed after deployment, thus maintaining deployment efficiency while preventing future modification requirements.
Solution Approach 2:
The patent applies preliminary anti-action by proactively identifying and eliminating vulnerabilities before deployment through automated verification. By preventing security issues in advance rather than correcting them after deployment, the system maintains the immutability advantage of blockchain while ensuring security through prior verification.
Data Source
AI summary
Provided is an apparatus and method for obtaining a vulnerable transaction sequence. A vulnerable transaction sequence obtaining apparatus may include a storage configured to transitorily or non-transitorily store at least one program; and a processor configured to receive the at least one program, to select a vulnerable transaction sequence candidate in the at least one program using a cost function, to obtain a verification condition by performing symbolic execution over the transaction sequence candidate, and to check whether the verification condition is satisfiable when the vulnerable transaction sequence is unfound as a verification result about the verification condition, and to determine the vulnerable transaction sequence candidate as the vulnerable transaction sequence when the verification condition is satisfiable.


