Report on the Obfuscated Integration of Software Protections

07/02/2019
by   Jens Van den Broeck, et al.
0

To counter man-at-the-end attacks such as reverse engineering and tampering, software is often protected with techniques that require support modules to be linked into the application. It is well-known, however, that attackers can exploit the modular nature of applications and their protections to speed up the identification and comprehension process of the relevant code, the assets, and the applied protections. To counter that exploitation of modularity at different levels of granularity, the boundaries between the modules in the program need to be obfuscated. We propose to do so by combining three cross-boundary protection techniques that thwart the disassembly process and in particular the reconstruction of functions: code layout randomization, interprocedurally coupled opaque predicates, and code factoring with intraprocedural control flow idioms. By means of an elaborate experimental evaluation and an extensive sensitivity analysis on realistic use cases and state-of-the-art tools, we demonstrate our technique's potency and resilience to advanced attacks. All relevant code is publicly available online.

READ FULL TEXT

page 15

page 16

page 17

page 25

page 34

research
07/02/2019

Extended Report on the Obfuscated Integration of Software Protections

To counter man-at-the-end attacks such as reverse engineering and tamper...
research
12/23/2020

Flexible Software Protection

To counter software reverse engineering or tampering, software obfuscati...
research
12/16/2020

Intertwining ROP Gadgets and Opaque Predicates for Robust Obfuscation

Software obfuscation plays a crucial role in protecting intellectual pro...
research
03/02/2020

Code Renewability for Native Software Protection

Software protection aims at safeguarding assets embedded in software by ...
research
04/14/2020

Resilient Self-Debugging Software Protection

Debuggers are a popular reverse engineering and tampering tool. Self-deb...
research
07/14/2023

Evaluation Methodologies in Software Protection Research

Man-at-the-end (MATE) attackers have full control over the system on whi...
research
02/25/2019

Mitigating Power Side Channels during Compilation

The code generation modules inside modern compilers such as GCC and LLVM...

Please sign up or login with your details

Forgot password? Click here to reset