Code-pointer integrity
In this chapter, we describe code-pointer integrity (CPI), a new design point that guarantees
the integrity of all code pointers in a program (eg, function pointers, saved return addresses) …
the integrity of all code pointers in a program (eg, function pointers, saved return addresses) …
The dynamics of innocent flesh on the bone: Code reuse ten years later
In 2007, Shacham published a seminal paper on Return-Oriented Programming (ROP), the
first systematic formulation of code reuse. The paper has been highly influential, profoundly …
first systematic formulation of code reuse. The paper has been highly influential, profoundly …
Challenges and pitfalls in malware research
As the malware research field became more established over the last two decades, new
research questions arose, such as how to make malware research reproducible, how to …
research questions arose, such as how to make malware research reproducible, how to …
CodeArmor: Virtualizing the code space to counter disclosure attacks
Code diversification is an effective strategy to prevent modern code-reuse exploits.
Unfortunately, diversification techniques are inherently vulnerable to information disclosure …
Unfortunately, diversification techniques are inherently vulnerable to information disclosure …
Secure and efficient application monitoring and replication
Memory corruption vulnerabilities remain a grave threat to systems software written in
C/C++. Current best practices dictate compiling programs with exploit mitigations such as …
C/C++. Current best practices dictate compiling programs with exploit mitigations such as …
kMVX: Detecting kernel information leaks with multi-variant execution
Kernel information leak vulnerabilities are a major security threat to production systems.
Attackers can exploit them to leak confidential information such as cryptographic keys or …
Attackers can exploit them to leak confidential information such as cryptographic keys or …
Position-independent code reuse: On the effectiveness of aslr in the absence of information disclosure
E Göktas, B Kollenda, P Koppe… - 2018 IEEE European …, 2018 - ieeexplore.ieee.org
Address-space layout randomization is a wellestablished defense against code-reuse
attacks. However, it can be completely bypassed by just-in-time code-reuse attacks that rely …
attacks. However, it can be completely bypassed by just-in-time code-reuse attacks that rely …
A framework for software diversification with {ISA} heterogeneity
Software diversification is one of the most effective ways to defeat memory corruption based
attacks. Traditional software diversification such as code randomization techniques …
attacks. Traditional software diversification such as code randomization techniques …
Survey of control-flow integrity techniques for real-time embedded systems
Computing systems, including real-time embedded systems, are becoming increasingly
connected to allow for more advanced and safer operation. Such embedded systems are …
connected to allow for more advanced and safer operation. Such embedded systems are …
Taming parallelism in a multi-variant execution environment
Exploit mitigations, by themselves, do not stop determined and well-resourced adversaries
from compromising vulnerable software through memory corruption. Multi-variant execution …
from compromising vulnerable software through memory corruption. Multi-variant execution …