Control-flow integrity: Precision, security, and performance
Memory corruption errors in C/C++ programs remain the most common source of security
vulnerabilities in today's systems. Control-flow hijacking attacks exploit memory corruption …
vulnerabilities in today's systems. Control-flow hijacking attacks exploit memory corruption …
Stram: Measuring the trustworthiness of computer-based systems
Various system metrics have been proposed for measuring the quality of computer-based
systems, such as dependability and security metrics for estimating their performance and …
systems, such as dependability and security metrics for estimating their performance and …
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) …
Data-oriented programming: On the expressiveness of non-control data attacks
As control-flow hijacking defenses gain adoption, it is important to understand the remaining
capabilities of adversaries via memory exploits. Non-control data exploits are used to mount …
capabilities of adversaries via memory exploits. Non-control data exploits are used to mount …
The cybersecurity landscape in industrial control systems
Industrial control systems (ICSs) are transitioning from legacy-electromechanical-based
systems to modern information and communication technology (ICT)-based systems …
systems to modern information and communication technology (ICT)-based systems …
C-FLAT: control-flow attestation for embedded systems software
Remote attestation is a crucial security service particularly relevant to increasingly popular
IoT (and other embedded) devices. It allows a trusted party (verifier) to learn the state of a …
IoT (and other embedded) devices. It allows a trusted party (verifier) to learn the state of a …
Everything old is new again: Binary security of {WebAssembly}
WebAssembly is an increasingly popular compilation target designed to run code in
browsers and on other platforms safely and securely, by strictly separating code and data …
browsers and on other platforms safely and securely, by strictly separating code and data …
Practical context-sensitive CFI
Current Control-Flow Integrity (CFI) implementations track control edges individually,
insensitive to the context of preceding edges. Recent work demonstrates that this leaves …
insensitive to the context of preceding edges. Recent work demonstrates that this leaves …
SoK: Shining light on shadow stacks
Control-Flow Hijacking attacks are the dominant attack vector against C/C++ programs.
Control-Flow Integrity (CFI) solutions mitigate these attacks on the forward edge, ie, indirect …
Control-Flow Integrity (CFI) solutions mitigate these attacks on the forward edge, ie, indirect …
Control jujutsu: On the weaknesses of fine-grained control flow integrity
Control flow integrity (CFI) has been proposed as an approach to defend against control-
hijacking memory corruption attacks. CFI works by assigning tags to indirect branch targets …
hijacking memory corruption attacks. CFI works by assigning tags to indirect branch targets …