The study of vulnerabilities and exploitation is one of finding mechanisms affecting the flow of computation and of finding new means to perform unexpected com-putation. In this paper we show the extent to which ex-ception 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 han-dling information on UNIX-like systems actually contain Turing-complete bytecode, which is executed by a vir-tual 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 at-tacker could utilize them once control has been achieved.
Code obfuscation techniques are increasingly being used in software for such reasons as protecting t...
Memory corruptions are still the most prominent venue to attack otherwise secure programs. In order ...
In contrast to most benign applications, malware infects its host system. It does so via system-wide...
The study of vulnerabilities and exploitation is one of finding mechanisms affecting the flow of com...
All binaries compiled by recent versions of GCC from C++ programs include complex data and dedicated...
The goal of the research presented in this dissertation is to prevent, detect, and mitigate maliciou...
Recent developments on hardware-based trusted execution environments, such as the Software Guard Ext...
Abstract—Generally, attackers obtain the control authority of a remote host through the exploit/worm...
We demonstrate how software vulnerabilities compromise the security of a computer system. A variety ...
Current automatic exploit generation solutions generally adopt an 1-step exploit generation philosop...
Adversaries exploit memory corruption vulnerabilities to hijack a program's control flow and gain ar...
By combining permission features of UNIX operating system and features of the C programming language...
Hardware Trojan Horses (HTHs) represent today a serious issue not only for academy but also for indu...
Various vulnerabilities in software applications become easy targets for attackers. The trend consta...
Exploitation of memory-corruption vulnerabilities in widely-used software has been a threat for over...
Code obfuscation techniques are increasingly being used in software for such reasons as protecting t...
Memory corruptions are still the most prominent venue to attack otherwise secure programs. In order ...
In contrast to most benign applications, malware infects its host system. It does so via system-wide...
The study of vulnerabilities and exploitation is one of finding mechanisms affecting the flow of com...
All binaries compiled by recent versions of GCC from C++ programs include complex data and dedicated...
The goal of the research presented in this dissertation is to prevent, detect, and mitigate maliciou...
Recent developments on hardware-based trusted execution environments, such as the Software Guard Ext...
Abstract—Generally, attackers obtain the control authority of a remote host through the exploit/worm...
We demonstrate how software vulnerabilities compromise the security of a computer system. A variety ...
Current automatic exploit generation solutions generally adopt an 1-step exploit generation philosop...
Adversaries exploit memory corruption vulnerabilities to hijack a program's control flow and gain ar...
By combining permission features of UNIX operating system and features of the C programming language...
Hardware Trojan Horses (HTHs) represent today a serious issue not only for academy but also for indu...
Various vulnerabilities in software applications become easy targets for attackers. The trend consta...
Exploitation of memory-corruption vulnerabilities in widely-used software has been a threat for over...
Code obfuscation techniques are increasingly being used in software for such reasons as protecting t...
Memory corruptions are still the most prominent venue to attack otherwise secure programs. In order ...
In contrast to most benign applications, malware infects its host system. It does so via system-wide...