From hack to elaborate technique—a survey on binary rewriting
Binary rewriting is changing the semantics of a program without having the source code at
hand. It is used for diverse purposes, such as emulation (eg, QEMU), optimization (eg …
hand. It is used for diverse purposes, such as emulation (eg, QEMU), optimization (eg …
A tough call: Mitigating advanced code-reuse attacks at the binary level
Current binary-level Control-Flow Integrity (CFI) techniques are weak in determining the set
of valid targets for indirect control flow transfers on the forward edge. In particular, the lack of …
of valid targets for indirect control flow transfers on the forward edge. In particular, the lack of …
libmpk: Software abstraction for intel memory protection keys (intel {MPK})
Intel Memory Protection Keys (MPK) is a new hardware primitive to support thread-local
permission control on groups of pages without requiring modification of page tables …
permission control on groups of pages without requiring modification of page tables …
An {In-Depth} Analysis of Disassembly on {Full-Scale} x86/x64 Binaries
It is well-known that static disassembly is an unsolved problem, but how much of a problem
is it in real software—for instance, for binary protection schemes? This work studies the …
is it in real software—for instance, for binary protection schemes? This work studies the …
HDFI: Hardware-assisted data-flow isolation
Memory corruption vulnerabilities are the root cause of many modern attacks. Existing
defense mechanisms are inadequate; in general, the software-based approaches are not …
defense mechanisms are inadequate; in general, the software-based approaches are not …
StateFormer: fine-grained type recovery from binaries using generative state modeling
Binary type inference is a critical reverse engineering task supporting many security
applications, including vulnerability analysis, binary hardening, forensics, and …
applications, including vulnerability analysis, binary hardening, forensics, and …
Compiler-agnostic function detection in binaries
We propose Nucleus, a novel function detection algorithm for binaries. In contrast to prior
work, Nucleus is compiler-agnostic, and does not require any learning phase or signature …
work, Nucleus is compiler-agnostic, and does not require any learning phase or signature …
HCFI: Hardware-enforced control-flow integrity
Control-flow hijacking is the principal method for code-reuse techniques like Return-oriented
Programming (ROP) and Jump-oriented Programming (JOP). For defending against such …
Programming (ROP) and Jump-oriented Programming (JOP). For defending against such …
[PDF][PDF] Protecting C++ Dynamic Dispatch Through VTable Interleaving.
With new defenses against traditional control-flow attacks like stack buffer overflows,
attackers are increasingly using more advanced mechanisms to take control of execution …
attackers are increasingly using more advanced mechanisms to take control of execution …
Finding cracks in shields: On the security of control flow integrity mechanisms
Control-flow integrity (CFI) is a promising technique to mitigate control-flow hijacking attacks.
In the past decade, dozens of CFI mechanisms have been proposed by researchers …
In the past decade, dozens of CFI mechanisms have been proposed by researchers …