I Control Your Code: Attack Vectors Through the Eyes of Software-Based Fault Isolation
Exploits are an interesting way to extend the functionality of programs. This paper presents and explains different attack vectors, namely stack-based and heap-based code injection, arc attacks on the heap as well as on the stack, format string attacks, arithmetic overflows, data attacks, and mixed ISA attacks. These attacks can be used (often in combination with other attacks) to execute arbitrary code. From a security perspective the authors want to analyze how the exploit is able to hijack and redirect the control flow and what kind of malicious system calls are executed. This paper presents an approach to Software-based Fault Isolation (SFI) that verifies every single instruction that is executed.