Dynamic and static combined software security test method

A security testing, dynamic and static technology, applied in the field of dynamic and static software security testing, can solve problems such as path space explosion, achieve the effect of changing blindness, improving vulnerability mining methods, and solving path state space explosion

Inactive Publication Date: 2012-02-22
THE PLA INFORMATION ENG UNIV
View PDF1 Cites 38 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0005] Aiming at the deficiencies of the current Fuzz dynamic testing technology, the present invention proposes a dynamic and static combined software security testing method, which

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
  • Dynamic and static combined software security test method
  • Dynamic and static combined software security test method
  • Dynamic and static combined software security test method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0027] Embodiment one: see Figure 4 , the software safety testing method of dynamic and static combination of the present invention, specifically comprises the following steps:

[0028] 1) Disassembling the executable program (software) under test to obtain assembly code;

[0029] 2) Convert the assembly code into a unified intermediate assembly language form, so as to shield the differences in the underlying specific languages;

[0030] 3) Generate the function call graph (CG) and control flow graph (CFG) of the file according to the intermediate assembly language form;

[0031] 4) Define the function characteristics of sensitive points, and find out the functions of system vulnerable points (ie, sensitive points) through static analysis of the function call graph (CG);

[0032] 5) Use dynamic analysis method to construct appropriate test cases, run the executable program under test, generate and record the execution path;

[0033] 6) According to the function call graph ...

Embodiment 2

[0036] Embodiment two: the software safety testing method of the dynamic and static combination of the present embodiment is different from embodiment one, in step 3), by writing IDA plug-in, realizes the program control flow graph (CFGs) and function call of the tested program Graph (CG) generation. The specific generation of the control flow graph is specific, because there are multiple CFGs, so the plural form CFGs). In step 4), two types of sensitive points are defined, namely: calling an unsafe function and looping memory write errors.

Embodiment 3

[0037] Embodiment three: the software security testing method of the dynamic and static combination of the present embodiment is different from embodiment two in that in step 5), a test case is randomly constructed to cover as many code tree branches as possible for Generate execution paths. In step 6), according to the principle of depth-first traversal, find the path from the sensitive point to a certain node of the generated path.

[0038] The software safety testing method of dynamic and static combination of the present invention only uses 12 intermediate assembly language statements, replaces more than 300 instructions (in step 2) of the CISC (Complex Instruction Set Computer) instruction set of X86), effectively improves the traditional Vulnerability mining method improves the efficiency of software security testing.

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

The invention relates to a computer software security test method, and in particular relates to a dynamic and static combined software security test method. The test method comprises the following steps: firstly carrying out disassembly and intermediate language transformation on an executable program so as to generate a function call graph (CG) and a control flow graph (CFG) of a file; finding out a vulnerable point of a system by means of static analysis of the function CG, and constructing a test case generation execution path by virtue of a dynamic analysis method; searching a called function based on the function CG, finding out a specific path for triggering the vulnerable point on a first-grade basic block according to the CFG if the function is located on the generated execution path, and then ending the loophole mining process corresponding to the sensitive point; and if the path can not be found, reconfiguring the test case generation execution path and then searching the called function in a cyclic manner. The dynamic and static combined software security test method has the advantages of better solving the problem of path state space blast caused by single Fuzz dynamic test, and greatly improving the path coverage hit rate and the software test analysis efficiency.

Description

technical field [0001] The invention relates to a computer software safety testing method, in particular to a dynamic and static combination software safety testing method. Background technique [0002] Software analysis is the basis for detecting security issues such as software vulnerabilities and software malicious behaviors. According to different analysis objectives, existing software analysis methods are generally divided into source code-oriented software analysis and executable program-oriented software analysis. The former is aimed at programs with source code, relatively speaking, the analysis accuracy is higher. However, most of the existing software does not provide source codes. At the same time, even if some software provides source codes, the correspondence between the executable programs used and the source codes cannot be guaranteed. For the latter, first disassemble the binary object code that needs to be analyzed to obtain the assembly code; then slice t...

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
IPC IPC(8): G06F11/36
Inventor 魏强王清贤曹琰彭建山尹中旭刘杰欧阳永基
Owner THE PLA INFORMATION ENG UNIV
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