Data Security and Binary Program Randomization
Corporations today are struggling to fight of various hackers and protect their data from being stolen or compromised. A most recent high profile example of a security breach is Adobe, their chief security officer Brad Arkin wrote in his blog post that 3 million of their costumer accounts have recently been hacked and information like names and encrypted credit card numbers have been stolen. Whats even more concerning, a part of the programs source code has been stolen. That leaves certain users vulnerable to other exploits known only to the attackers.
Cyber attacks are one of the unfortunate realities of doing business today. Given the profile and widespread use of many of our products, Adobe has attracted increasing attention from cyber attackers.There are many types of attacks that can lead to such an event, e.g. code injection and buffer overflow, mostly targeted at either destroying or stealing data by using an applications vulnerabilities. The aim of the project Im working on is to examine those vulnerabilities and exploits that can be used against them. Then I will study various types of protections against those exploits. I will focus mostly on ASLR (Address Space Layout Randomization).
ASLR is used as protection against buffer overflow attacks by randomly arranging some key data like stack, heap or libraries used by a program. It creates diversity and makes it more difficult for hackers to pinpoint where those things are in the computers memory. It doesnt fix a programs flaws but rather makes them more difficult to exploit. However, it can still be bypassed by attacks such as heap spraying. The PaX project released the first design of ASLR in 2001 and its currently implemented in Windows, Linux, Android and other operating systems but is far from perfect and has some weaknesses which I plan to address.
Steps throughout my courses:
- For my Project I will research types of vulnerabilities. After that, I will study exploits and recreate them so I can understand how they work. I will perform penetration testing on applications on Windows OS with the Metasploit tool.
- Later, during my thesis course, I will study ASLR and other protection methods, how they work and how they can be bypassed. Then I will suggest possible improvements to those protection methods. On this course I will be testing exploits on applications on Linux OS.
- In my Masters Seminar I will select a protection method based on randomly shuffling blocks of code, examine the potential downsides of that method and suggest solutions. Some of those solutions I will further study in my Masters Project.
- During the Masters Project I will also prepare for my Masters Thesis. For example, I will study the dynamic linker and and how it could be modified for my project. I will implement improved protection methods and then test them in my Masters Thesis.
download file now