Two-Level Software Obfuscation with Cooperative Co-Evolutionary Algorithms

Computing devices are ubiquitous nowadays and because of the rise of new paradigms as the Internet of Things, their presence is continuously growing. Software (SW) is highly exposed, and SW companies are forced to protect their products from attacks to prevent plagiarism and the detection of security flaws. Obfuscation is a widespread technique to protect SW. It consists in making the code unintelligible, so that it is very hard to learn how it works. There are numerous obfuscation techniques, but they often require expert hands. Therefore, there is a clear need for fully automatic obfuscation tools that can offer high quality outputs independently of the specific features of the considered SW. In this work, we define a novel combinatorial optimization problem for a two-level obfuscation method that makes use of typical obfuscation transformations, those provided by Tigress framework, as well as classical optimization ones, those from LLVM compilation framework. The problem is solved with a cooperative co-evolutionary cellular genetic algorithm, providing a tool for automatic SW obfuscation. Three different obfuscation metrics are considered as fitness function. The results show that the proposed methodology offers outstanding obfuscation results, outperforming the original programs by up to 6,152,547%. Moreover, compared to approaches from the literature, these results are as much as 405 times better.

Paper

Full text

PDF

Two-Level Software Obfuscation with Cooperative Co-Evolutionary Algorithms

Semantic Scholar · Computer Science · 2024

Abstract

Computing devices are ubiquitous nowadays and because of the rise of new paradigms as the Internet of Things, their presence is continuously growing. Software (SW) is highly exposed, and SW companies are forced to protect their products from attacks to prevent plagiarism and the detection of security flaws. Obfuscation is a widespread technique to protect SW. It consists in making the code unintelligible, so that it is very hard to learn how it works. There are numerous obfuscation techniques, but they often require expert hands. Therefore, there is a clear need for fully automatic obfuscation tools that can offer high quality outputs independently of the specific features of the considered SW. In this work, we define a novel combinatorial optimization problem for a two-level obfuscation method that makes use of typical obfuscation transformations, those provided by Tigress framework, as well as classical optimization ones, those from LLVM compilation framework. The problem is solved with a cooperative co-evolutionary cellular genetic algorithm, providing a tool for automatic SW obfuscation. Three different obfuscation metrics are considered as fitness function. The results show that the proposed methodology offers outstanding obfuscation results, outperforming the original programs by up to 6,152,547%. Moreover, compared to approaches from the literature, these results are as much as 405 times better.

Similar papers

© 2026 NYSGPT2525 LLC