Most security solutions that rely on binary rewriting assume a clean separation between code and data. Unfortunately, jump tables violate this assumption. In particular, switch statements in binary code often appear as indirect jumps with jump tables that interleave with executable code—especially on ARM architectures. Most existing rewriters and disassemblers handle jump tables in a crude manner, by means of pattern matching. However, any deviation from the pattern (e.g. slightly different instructions) leads to a mismatch. Instead, we propose a complementary approach to “solve” jump tables and automatically find the right target addresses of the indirect jump by means of a tailored Value Set Analysis (VSA). Our approach is generic and app...
Part 6: Software SecurityInternational audienceRecently, code-reuse attack (CRA) is becoming the mos...
Dynamic binary translation system must perform an address translation for every execution of indirec...
Code-reuse attacks continue to evolve and remain a severe threat to modern software. Recent research...
One of the fundamental problems with the analysis of binary (executable) code is that of recognizing...
AbstractOne of the fundamental problems with the static analysis of binary (executable) code is that...
One of the fundamental problems with the analy-sis of binary (executable) code is that of recognizin...
Static binary translation is a technique that allows an executable program for a given architecture ...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
This paper introduces novel approach for identification of switch tables in executable code. Compare...
Binary code similarity detection (BCSD) has important applications in various fields such as vulnera...
Compile-time specialization and feature pruning through static binary rewriting have been proposed r...
Unlike library code, whose instruction addresses can be randomized by address space layout randomiza...
This paper describes a general code-improving transformation that can coalesce conditional branches ...
Binary analysis seeks to comprehend the behavior and semantics of commercial-off-the-shelf (COTS) ex...
Part 6: Software SecurityInternational audienceRecently, code-reuse attack (CRA) is becoming the mos...
Dynamic binary translation system must perform an address translation for every execution of indirec...
Code-reuse attacks continue to evolve and remain a severe threat to modern software. Recent research...
One of the fundamental problems with the analysis of binary (executable) code is that of recognizing...
AbstractOne of the fundamental problems with the static analysis of binary (executable) code is that...
One of the fundamental problems with the analy-sis of binary (executable) code is that of recognizin...
Static binary translation is a technique that allows an executable program for a given architecture ...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
A recurring problem in security is reverse engineering binary code to recover high-level language da...
This paper introduces novel approach for identification of switch tables in executable code. Compare...
Binary code similarity detection (BCSD) has important applications in various fields such as vulnera...
Compile-time specialization and feature pruning through static binary rewriting have been proposed r...
Unlike library code, whose instruction addresses can be randomized by address space layout randomiza...
This paper describes a general code-improving transformation that can coalesce conditional branches ...
Binary analysis seeks to comprehend the behavior and semantics of commercial-off-the-shelf (COTS) ex...
Part 6: Software SecurityInternational audienceRecently, code-reuse attack (CRA) is becoming the mos...
Dynamic binary translation system must perform an address translation for every execution of indirec...
Code-reuse attacks continue to evolve and remain a severe threat to modern software. Recent research...