Compiler-Based Protection of Pointers Against Partial Overwrites
Compiler-Based Protection of Pointers Against Partial Overwrites
Supervisor(s): | Manuela Seider-Bengler |
Status: | finished |
Topic: | Others |
Author: | Marcel Schumacher |
Submission: | 2018-07-16 |
Type of Thesis: | Masterthesis |
DescriptionOver the years many mechanisms for exploit mitigation have found their way into modern operating systems and compilers but none can counteract the exploitation technique called partial pointer overwriting. In this thesis we describe and implement a mechanism that hooks into the clang compiler and injects additional code into the compiled programs in order to prevent the successful exploitation using partial pointer overwrites. We further analyze and compare various schemes that introduce randomness into pointers involving a diffusion process and implement three of these into our framework. Our performance tests in the evaluation show that by using our plugin quite a bit of an additional overhead is introduced, increasing the runtimes to about 2-3 times their original values in exchange for the security they provide. In the summary we suggest ways to improve the performance as part of future work. |