Thread-Based Obfuscation through Control-Flow Mangling
arXiv preprint arXiv:1311.0044 • 2013
Publication Information
Authors
Rasha Salah Omar, Ahmed El-Mahdy, Erven Rohou
Keywords
Not Available
Journal
arXiv preprint arXiv:1311.0044
Publisher
Not Available
Volume
Not Available
Issue
Not Available
Pages
Not Available
publication.type
International
Paper Link
Not Available
Supplementary Materials
Not Available
Abstract
The increasing use of cloud computing and remote execution have made program security especially important. Code obfuscation has been proposed to make the understanding of programs more complicated to attackers. In this paper, we exploit multi-core processing to substantially increase the complexity of programs, making reverse engineering more complicated. We propose a novel method that automatically partitions any serial thread into an arbitrary number of parallel threads, at the basic-block level. The method generates new control-flow graphs, preserving the blocks' serial successor relations and guaranteeing that one basic-block is active at a time using guards. The method generates m^ n different combinations for m threads and n basic-blocks, significantly complicating the execution state. We provide a correctness proof for the algorithm and implement the algorithm in the LLVM compilation framework.
Staff Members - Benha University