Arbitrary control-flow embedding into multiple threads for obfuscation: a preliminary complexity and performance analysis

Abstract : With the proliferation of cloud computing, security becomes a key issue. Code obfuscation is a promising approach in that domain. It has been proposed to make an adversary confused about understanding the program, thereby making attacks more difficult. In this paper, we propose a novel method which exploits multi-core processing to substantially increase the complexity of programs, complicating the original ones. At basic block level, this method automatically partitions any serial thread into an arbitrary number of parallel threads. Moreover, the program semantics are preserved through using guards, guaranteeing that one basic-block be active at a time. Our method allows for m^n possible combinations for a given program, for m threads and n basic-blocks, which significantly complicates the execution state, as well as changes the layout of basic blocks in memory. We provide a proof of correctness of the algorithm, as well as an implementation within the LLVM framework. For a naive implementation, a slow down of 10-130 is measured depending on the communication distance among threads, while code similarity (as a measure of complexity) is less than 2% in most cases. We further explore the effect of a thread affined loop assignment on performance; promising results indicate a maximum of three times slowdown, with negligible change in complexity.
Type de document :
Communication dans un congrès
Proceedings of the 2nd international workshop on Security in cloud computing, Jun 2014, Kyoto, Japan. 〈10.1145/2600075.2600080〉
Liste complète des métadonnées

https://hal.inria.fr/hal-01086958
Contributeur : Erven Rohou <>
Soumis le : mardi 25 novembre 2014 - 11:54:14
Dernière modification le : mercredi 11 avril 2018 - 02:00:09

Identifiants

Citation

Rasha Omar, Ahmed El-Mahdy, Erven Rohou. Arbitrary control-flow embedding into multiple threads for obfuscation: a preliminary complexity and performance analysis. Proceedings of the 2nd international workshop on Security in cloud computing, Jun 2014, Kyoto, Japan. 〈10.1145/2600075.2600080〉. 〈hal-01086958〉

Partager

Métriques

Consultations de la notice

333