Method for discovering software vulnerabilities

A software vulnerability and conditional jump technology, applied in the field of software engineering and information security, can solve problems such as difficulty in finding different data with the same verification value, difficulty in mining dynamic vulnerabilities in verification software, and damage to data integrity

Inactive Publication Date: 2010-09-29
PEKING UNIV
View PDF4 Cites 15 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0008] Checksums bring many difficulties to software dynamic vulnerability mining methods, especially when the file format and protocol format are not publicly available
Random modification of normal data will lead to the destruction of the integrity of the entire data, and the input data can be found to be damaged through checksum detection inside the target program, which makes it difficult for the malformed data generated by traditional dynamic vulnerability mining techniques to target program to test effectively
In particular, when t

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
  • Method for discovering software vulnerabilities
  • Method for discovering software vulnerabilities

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0067] Attached below figure 1 , to describe the specific embodiment of the present invention in more detail. This implementation example uses Intel's binary implant platform PIN and Microsoft's constraint solver Z3 to give a detailed implementation and operation process, but the scope of protection of the present invention is not limited to this embodiment.

[0068] Step 1. Run normally to input data and collect sensitive information when the target program is running.

[0069] 1.a) Hijack system calls for operating system file operations and network data operations. Based on the API interfaces PIN_AddSyscallEntryFunction and PIN_AddSyscallExitFunction of the PIN platform, hijack the parameters and return values ​​of the corresponding system calls. By hijacking the system calls of opening, reading, and closing some files, such as hijacking NtCreateFile, NtOpenFile, and NtReadFile on the Windows platform, hijacking open, read, close, seek, lseek, etc. on the Linux platform, ...

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 discloses a method for discovering software vulnerabilities, which belongs to the field of software engineering and information security. The method comprises the following steps of: 1) inputting a plurality of normal data into a target program and collecting runtime information of the target program; 2) generating malformed data, inputting the malformed data into the target program, and collecting the runtime information of the target program; 3) identifying a detection code of the checksum in the target program according to the runtime information collected in the step 1) and the step 2); 4) modifying the detection code of the checksum to ensure that the execution behavior of processing the malformed data by the target program is in accordance with that of processing the normal data by the target program; 5) generating a certain number of the malformed data and inputting the generated malformed data into a modified target program, and taking the malformed data which collapses the target program as sample data; and 6) modifying a domain value of the checksum in each sample data and inputting the domain value into an original target program, and if the original target program is collapsed or generates abnormalities, reporting a potential security vulnerability. Compared with the prior art, the method for discovering the software vulnerabilities can greatly improve the efficiency of discovering the vulnerabilities.

Description

technical field [0001] The invention belongs to the fields of software engineering and information security, and in particular relates to a software loophole mining method. Background technique [0002] Software security has become one of the root causes of many security problems in information systems, and how to find security holes in software is very important. A common software vulnerability mining technology is to randomly modify the normal input of the target software to construct a large amount of malformed data as program input. When the program processes these malformed data, observe the performance of the target program. Once the program is abnormal, it is found. A potential security issue. [0003] However, many file formats and network protocols contain checksum information. Checksums are a commonly used method of data integrity testing. For example, the TCP / IP protocol message contains the checksum value of the entire message, and the PNG image stores the che...

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 PEKING 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