Font Size: a A A

Research On Control Flow Obfuscation Of C/C++Program

Posted on:2015-02-20Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y WangFull Text:PDF
GTID:2268330428997406Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the continuous development of computer technology, computer systems has deeply penetrated into all areas of our life, which will bring unbearable loss if those software be attacked. In recent years, code obfuscation attracted the attention of domestic and foreign researchers as an important software protection technology. Code obfuscation increase the difficulty on static analysis of the program through the code conversion, preventiing the attackers to extract the core of the program code by software reverse engineering. Existing code obfuscation techniques include lexical obfuscation, data obfuscation, control flow obfuscation and preventive obfuscation. control flow obfuscation is the most effective and important code obfuscation techniques of them. I have two points of view by analyzing the current mainstream of the control flow obfuscation,on one hand,I found that current control flow obfuscation methods are not effective against the slicing attacks; On the other hand, There are important shortcomings Existing in control flow fattening technology. Based on these two control flow obfuscation deficiencies, This paper studies are as follows:First, for the program slicing attacks, this paper proposes a control flow obfuscation technique base on program slicing. Calculation static slicing and redundant slices of the program. Obfuscating Sensitive pieces of information of the program base on variable coding or addding to the guard of the loop. Enhancing program’s data dependencies and Increasing the complexity of the control process, Makes the program can effectively resist the process slicing attacks. After that, I designed an experiment, evaluate and analyze the control flow obfuscation technique base on program slicing from correctness,potency, resilience and performance cost.Second, for the existing defects in control flow obfuscation techniques, the control flow fattening algorithm has been improved, this paper proposes a control flow fattening algorithm base on based on a pseudo-alias. First, encrypting the control variables in the dispatch by an array of pseudo-alias stream compression algorithm, which is the next variable determine the order of execution of the program control flow after fattening;And then, according to C/C++pointer characteristics, proposing a opaque predicate construction algorithm base on pseudo-pointer alias, and insert the predicate into control block which in each case statement after control flow fattening.So that defense the disassemble tool to combat attacks, and make the attacker can not reconstruct the control flow.On this basis, I design the experimental verification or improved Control flow fattening algorithm by N Queens backtracking algorithm, evaluating and analysing the performance of this obfuscation.
Keywords/Search Tags:Code obfuscation, Program slicing, Control flow fattening, opaquepredicates
PDF Full Text Request
Related items