Flexible Software Protection

12/23/2020
by   Jens Van den Broeck, et al.
0

To counter software reverse engineering or tampering, software obfuscation tools can be used. However, such tools to a large degree hard-code how the obfuscations are deployed. They hence lack resilience and stealth in the face of many attacks. To counter this problem, we propose the novel concept of flexible obfuscators, which implement protections in terms of data structures and APIs already present in the application to be protected. The protections are hence tailored to the application in which they are deployed, making them less learnable and less distinguishable. In our research, we concretized the flexible protection concept for opaque predicates. We designed an interface to enable the reuse of existing data structures and APIs in injected opaque predicates, we analyzed their resilience and stealth, we implemented a proof-of-concept flexible obfuscator, and we evaluated it on a number of real-world use cases. This paper presents an in-depth motivation for our work, the design of the interface, an in-depth security analysis, and a feasibility report based on our experimental evaluation. The findings are that flexible opaque predicates indeed provide strong resilience and improved stealth, but also that their deployment is costly, and that they should hence be used sparsely to protect only the most security-sensitive code fragments that do not dominate performance. Flexible obfuscation therefor delivers an expensive but also more durable new weapon in the ever ongoing software protection arms race.

READ FULL TEXT
research
07/02/2019

Report on the Obfuscated Integration of Software Protections

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

Code Renewability for Native Software Protection

Software protection aims at safeguarding assets embedded in software by ...
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
04/14/2020

Resilient Self-Debugging Software Protection

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

A new framework for global data regulation

Under the current regulatory framework for data protections, the protect...
research
03/27/2023

Design, Implementation, and Automation of a Risk Management Approach for Man-at-the-End Software Protection

The last years have seen an increase in Man-at-the-End (MATE) attacks ag...
research
05/30/2018

Lord of the x86 Rings: A Portable User Mode Privilege Separation Architecture on x86

Modern applications are increasingly advanced and complex, and inevitabl...

Please sign up or login with your details

Forgot password? Click here to reset