CodeTrolley: Hardware-Assisted Control Flow Obfuscation

03/03/2019
by   Novak Boskov, et al.
0

Many cybersecurity attacks rely on analyzing a binary executable to find exploitable sections of code. Code obfuscation is used to prevent attackers from reverse engineering these executables. In this work, we focus on control flow obfuscation - a technique that prevents attackers from statically determining which code segments are original, and which segments are added in to confuse attackers. We propose a RISC-V-based hardware-assisted deobfuscation technique that deobfuscates code at runtime based on a secret safely stored in hardware, along with an LLVM compiler extension for obfuscating binaries. Unlike conventional tools, our work does not rely on compiling hard-to-reverse-engineer code, but on securing a secret key. As such, it can be seen as a lightweight alternative to on-the-fly binary decryption.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 2

11/29/2019

Drndalo: Lightweight Control Flow Obfuscation Through Minimal Processor/Compiler Co-Design

Binary analysis is traditionally used in the realm of malware detection....
02/25/2021

Swivel: Hardening WebAssembly against Spectre

We describe Swivel, a new compiler framework for hardening WebAssembly (...
01/23/2018

HCIC: Hardware-assisted Control-flow Integrity Checking

Recently, code reuse attacks (CRAs), such as return-oriented programming...
02/12/2018

Sphinx: A Secure Architecture Based on Binary Code Diversification and Execution Obfuscation

Sphinx, a hardware-software co-design architecture for binary code and r...
03/12/2020

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

Obfuscating compilers protect a software by obscuring its meaning and im...
03/07/2021

Comparative Analysis and Enhancement of CFG-based Hardware-Assisted CFI Schemes

Subverting the flow of instructions (e.g., by use of code-reuse attacks)...
10/01/2019

Reverse Engineering x86 Processor Microcode

Microcode is an abstraction layer on top of the physical components of a...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.