Static-analysis-assisted symbolic execution vulnerability detection method

A technology of symbolic execution and static analysis, which is applied in the field of identification and detection of software vulnerabilities, can solve the problems of wasting computing time and resources, increasing the false negative rate, limiting the efficiency of vulnerability detection, etc., and achieve the goal of reducing computing time and resources and improving efficiency Effect

Active Publication Date: 2015-07-22
JIANGSU BOZHI SOFTWARE TECH CO LTD
View PDF2 Cites 26 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, symbolic execution wastes a lot of computing time and resources on vulnerability-independent paths, limiting the efficiency of vulnerability detection.
Moreover, in the case of limited computing time or resources, the exploration of vulnerability-independent paths will also reduce the accuracy of vulnerability detection and increase the false negative rate.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Static-analysis-assisted symbolic execution vulnerability detection method
  • Static-analysis-assisted symbolic execution vulnerability detection method
  • Static-analysis-assisted symbolic execution vulnerability detection method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0028] figure 1Shown is the general flowchart of this method. The input of this method is divided into two parts: target program bytecode and configuration file. The bytecode of the target program is obtained by compiling the C / C++ source program with Clang, the front end of the LLVM 3.1 compiler system. Users can define sensitive operations that may cause software vulnerabilities in the configuration file as the target of this detection, and define corresponding security constraints for each sensitive operation. If the sensitive operation can violate the security constraints in the execution environment, the sensitive operation is considered as a triggerable program vulnerability. The output of this method is a test sample of the program input. By executing the test sample, the current execution environment can be reached and sensitive operations can be triggered to violate the security constraints.

[0029] First, the lightweight symbolic execution process uses the symbol...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A static-analysis-assisted symbolic execution vulnerability detection method includes the light-weight symbolic execution stage, the graph generation stage, the static analysis stage, the symbolic execution stage and the like. At the light-weight symbolic execution stage, symbolic execution is conducted on a target program byte code file under the small time expenditure through a simple symbolic strategy by means of a KLEE symbolic execution tool so as to obtain a bite code of a complete program after the linking process is completed; at the graph generation stage, on the basis of the bite code of the complete program, function calling graphs of the complete program and control flow graphs of the functions are generated through a concentrated opt tool of an LLVM3.1 tool; at the static analysis stage, the function calling graphs of the complete program, the control flow graphs of the functions and configuration files are used as input; at the symbolic execution stage, an effective skip table and a branch marking table are used for assisting in vulnerability detection symbolic execution.

Description

technical field [0001] The invention relates to the identification and detection of software loopholes, in particular to a method for identifying and detecting software loopholes based on static program analysis and symbolic execution of software to be detected. Background technique [0002] A software vulnerability is a program error by which an attacker can potentially violate the security policies of a victim's computer system. With the continuous increase of software scale and the continuous expansion of application scope, the harm of software vulnerabilities to people's life and work is also increasing. Therefore, how to efficiently detect and verify software vulnerabilities has become the focus of attention of software developers and testers. Symbolic execution technology is a commonly used vulnerability detection technology, which can traverse the entire target program and generate a test sample for each program path to verify the accessibility and security of the pa...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F21/57
CPCG06F21/577G06F2221/033
Inventor 曾庆凯王悦
Owner JIANGSU BOZHI SOFTWARE TECH CO LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products