Obfuscation par expressions mixtes arithmético-booléennes : reconstruction, analyse et outils de simplification

par Ninon Eyrolles

Thèse de doctorat en Informatique

Sous la direction de Louis Goubin et de Marion Videau.

Soutenue le 30-06-2017

à Paris Saclay , dans le cadre de Sciences et Technologies de l'Information et de la Communication , en partenariat avec Laboratoire de Mathématiques de Versailles (laboratoire) , université de Versailles-Saint-Quentin-en-Yvelines (établissement opérateur d'inscription) et de Laboratoire de Mathématiques de Versailles / LMV (laboratoire) .

Le président du jury était Sandrine Blazy.

Le jury était composé de Renaud Sirdey, Emmanuel Fleury, Johannes Kinder.

Les rapporteurs étaient Caroline Fontaine, Pascal Junod.


  • Résumé

    L'obfuscation de logiciels est une technique de protection deprogrammes qui transforme du code pour rendre son analyse plusdifficile. Les expressions mixtes arithmético-booléennes (MBA) sontprésentées comme une bonne obfuscation du flot de données. Le domainede l'obfuscation MBA étant assez jeune, il bénéficie de peu delittérature sur la conception et l'analyse de telles expressionsobfusquées. Ainsi, beaucoup de sujets intéressants apparaissent lors deson étude, autant sur l'obfuscation que sur la désobfuscation (ousimplification) d'expressions MBA.Durant nos recherches, nous avons structuré le sujet de l'obfuscationMBA, le reliant à d'autres domaines comme la cryptographie ou laréécriture. Nous avons également reconstruit une techniqued'obfuscation MBA à partir d'échantillons publics. Nous avons étudié ce quesignifie simplifier une expression obfusquée, et défininos propres métriques de simplicité pour les expressions MBA. L'étudede la simplification MBA a entraîné l'implémentation de deux outils dedésobfuscation, qui ont simplifié avec succès plusieurs examplespublics d'expressions obfusquées. Finalement, nous avons évalué larésilience de l'obfuscation MBA par rapport à nos algorithmes desimplification (ainsi que d'autres techniques de désobfuscation), etnous avons conclu que la technique d'obfuscation MBA offrait peu derésilience en l'état. Nous avons donc proposé quelques pistes pouraméliorer ce type d'obfuscation.

  • Titre traduit

    Obfuscation with Mixed Boolean-Arithmetic Expressions : reconstruction, analysis and simplification tools


  • Résumé

    Software obfuscation is a software protection technique thattransforms code in order to make its analysis more difficult. MixedBoolean-Arithmetic (MBA) expressions are presented as a strongobfuscation in the context of data flow obfuscation. As the domainaround MBA obfuscation is quite young, there is little literatureon the conception and analysis of such obfuscated expressions.Therefore many interesting subjects arise during its study, both around theobfuscation and deobfuscation (or simplification) of MBA expressions.During our work, we structured the subject of MBA obfuscation, linkingit to other topics like cryptography or rewriting. We also reconstructedan MBA obfuscation technique from public samples. We studied themeaning of simplifying an obfuscated expression, and definedour own simplicity metrics for MBA expressions. The study of MBAsimplification yielded the implementation of two deobfuscation toolsthat successfully simplified several public examples of obfuscatedexpressions. Finally, we assessed the resilience of the MBAobfuscation with regard to our simplification algorithms (as well asother deobfuscation techniques), concluding that this obfuscationtechnique offers little resilience as it is, and we proposed a few ideasto help improve this type of obfuscation.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Library : Université de Versailles Saint-Quentin-en-Yvelines. Service Commun de la Documentation. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.