Abstract

The development of the new Cloud Computing paradigm as lead to a reevaluation of the security issues. When running a private code on a Public Cloud or on any remote machine, its owner has no guarantees that the code cannot be reverse engineered, understood and modified. One of the solutions for the code owner in order to protect his intellectual property is to obfuscate his algorithms. The obfuscation of source code is a mechanism to modify a source code to make it unintelligible by humans even with the help of computing resources. More precisely, the objective is to conceal the purpose of a program or its logic without altering its functionality, thus preventing the tampering or the reverse engineering of the program. Obfuscation is usually performed by applying transformations to the initial source code, but it reveals many open questions: what transformation should be chosen? In which order should the obfuscator apply them? How can we quantify the obfuscation capacity of a given program? In order to answer these questions, we propose here ShadObf, an obfuscation framework based on evolutionary heuristics designed to optimise for a given input C program, the sequence of transformations that should be applied to the source code to improve its obfuscation capacity. This last measure involves the combination of well known metrics, coming from the Software Engineering area, which are optimised simultaneously thanks to Multi Objective Evolutionary Algorithms. We have validated our approach over a classical matrix multiplication program - experiments on other applications are still in progress.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call