Loki: Hardening Code Obfuscation Against Automated Attacks

06/16/2021
by   Moritz Schloegel, et al.
0

Software obfuscation is a crucial technology to protect intellectual property. Despite its importance, commercial and academic state-of-the-art obfuscation approaches are vulnerable to a plethora of automated deobfuscation attacks, such as symbolic execution, taint analysis, or program synthesis. While several enhanced techniques were proposed to thwart taint analysis or symbolic execution, they either impose a prohibitive runtime overhead or can be removed by compiler optimizations. In general, they suffer from focusing on a single attack vector, allowing an attacker to switch to other more effective techniques, such as program synthesis. In this work, we present Loki, an approach for code obfuscation that is resilient against all known automated deobfuscation attacks. To this end, we deploy multiple techniques, including a generic approach to synthesize formally verified expressions of arbitrary complexity. Contrary to state-of-the-art approaches that rely on a few hardcoded generation rules, our expressions are more diverse and harder to pattern match against. Moreover, Loki protects against previously unaccounted attack vectors such as program synthesis, for which it reduces the success rate to merely 19 providing a much stronger protection level.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/26/2022

BagFlip: A Certified Defense against Data Poisoning

Machine learning models are vulnerable to data-poisoning attacks, in whi...
research
05/31/2018

Symbolic Computation via Program Transformation

Symbolic computation is an important approach in automated program analy...
research
08/05/2019

How to Kill Symbolic Deobfuscation for Free; or Unleashing the Potential of Path-Oriented Protections

Code obfuscation is a major tool for protecting software intellectual pr...
research
05/14/2019

Incremental Adaptive Attack Synthesis

Information leakage is a significant problem in modern software systems....
research
07/26/2019

Attack Synthesis for Strings using Meta-Heuristics

Information leaks are a significant problem in modern computer systems a...
research
05/31/2023

You Can Run But You Can't Hide: Runtime Protection Against Malicious Package Updates For Node.js

Maliciously prepared software packages are an extensively leveraged weap...
research
11/03/2017

Automated Detection, Exploitation, and Elimination of Double-Fetch Bugs using Modern CPU Features

Double-fetch bugs are a special type of race condition, where an unprivi...

Please sign up or login with your details

Forgot password? Click here to reset