Font Size: a A A

Protection Of Non-Control-Data Based On LLVM Framework

Posted on:2013-11-09Degree:MasterType:Thesis
Country:ChinaCandidate:D Y ShenFull Text:PDF
GTID:2248330371488506Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Security problems caused by the memory error vulnerability always plagued by the development of the industry and the academic researchers. In real life, it not only harms software, even further leads to social security issues, resulting in significant economic losses and leakage of personal privacy. In recent decades, a lot of research has been done on the protection of the memory vulnerability, a lot of protection mechanism has been proposed, some good protection has been used, but new vulnerabilities which still been discovered every year did not significantly reduce. While the losses caused by such vulnerabilities is growing(not just economic loss) with the vigorous development of the internet economy. The whole subject of the memory error vulnerability is too large, one paper can not tell clearly. This article is not prepared to protect all the memory error vulnerability, just for the attack on non-control-data is discussed.The attack is divided by the distinction of the target into control-data attack, such as function pointer, return address, which been tampered can lead to the change of the control flow; and non-control data attack, which are not so insignificant like think. This attack can also change the program’s control flow and access to higher authority. For the protection of the control data, a considerable number of articles have proposed effective solutions, such as StackGuard, which protect the return address information on the call stack. But the attention of non-control data protection has not rise to the height which it should have. The focus of this study is the protection of the non-control data.The basic protection idea we proposed is the randomization of the data in memory. Through modify the program, instrument new instructions, making the data saved to memory randomization. In this way we can effectively prevent the destruction of the non-control data attack, and even play a certain effect on data privacy protection.This paper achieve a compiler optimization Pass module based on open source project of LLVM compiler, which can optimized executable program from the hazards of non-control data attacks when the source files can obtained.Add the function of the open source QEMU-LLVM project’s x86instruction transfer to the LLVM instruction, this can dynamically translated executable file into LLVM instructions which the Pass can handle to add the protection of non-control data attack. It further expand the scope of the protection.
Keywords/Search Tags:Software Security, Non-Control-Data, LLVM, Pass, Data Randomization
PDF Full Text Request
Related items