Log In Sign Up

IOLLVM: enhance version of OLLVM

by   Chengyang Li, et al.

Code obfuscation increases the difficulty of understanding programs, improves software security, and, in particular, OLLVM offers the possibility of cross-platform code obfuscation. For OLLVM, we provide enhanced solutions for control flow obfuscation and identifier obfuscation. First, we propose the nested switch obfuscation scheme and the in-degree obfuscation for bogus blocks in the control flow obfuscation. Secondly, the identifier obfuscation scheme is presented in the LLVM layer to fill the gap of OLLVM at this level. Finally, we experimentally verify the enhancement effect of the control flow method and the identifier obfuscation effect and prove that the program's security can be further improved with less overhead, providing higher software security.


page 1

page 2

page 3

page 4


FIPAC: Thwarting Fault- and Software-Induced Control-Flow Attacks with ARM Pointer Authentication

With the improvements of computing technology, more and more application...

Control-flow Flattening Preserves the Constant-Time Policy (Extended Version)

Obfuscating compilers protect a software by obscuring its meaning and im...

Methodically Defeating Nintendo Switch Security

We explain, step by step, how we strategically circumvented the Nintendo...

VST-Flow: Fine-grained low-level reasoning about real-world C code

We show how support for information-flow security proofs could be added ...

Mitigating Branch-Shadowing Attacks on Intel SGX using Control Flow Randomization

Intel Software Guard Extensions (SGX) is a promising hardware-based tech...

Evaluating data-flow coverage in spectrum-based fault localization

Background: Debugging is a key task during the software development cycl...

Curb Your Self-Modifying Code

Self-modifying code has many intriguing applications in a broad range of...