Date of Award
Department of Computer Science
The study of vulnerabilities and exploitation is one of finding mechanisms affecting the flow of computation and of finding new means to perform unexpected computation. In this paper we show the extent to which exception handling mechanisms as implemented and used by \gcc can be used to control program execution. We show that the data structures used to store exception handling information on UNIX-like systems actually contain Turing-complete bytecode, which is executed by a virtual machine during the course of exception unwinding and handling. We discuss how a malicious attacker could gain control over these structures and how such an attacker could utilize them once control has been achieved.
Oakley, James M.H., "Exploiting the Hard-Working DWARF: Trojan and Exploit Techniques Without Native Executable Code" (2011). Dartmouth College Undergraduate Theses. 74.