We are pleased to invite you to attend Ninon Eyrolles' PhD thesis defense, entitled Obfuscation with Mixed Boolean-Arithmetic Expressions: Reconstruction, Analysis and Simplification Tools, which will take place on Friday June 30, 2017 at 14:30, at l'UFR des Sciences de l'UVSQ (45 avenue des Etats-Unis 78035 Versailles), bâtiment Descartes, salle 301.

The jury will be composed of:

Mme. Caroline FONTAINE, rapporteur
M. Pascal JUNOD, rapporteur
M. Louis GOUBIN, PhD advisor
Mme. Marion VIDEAU, co-supervisor
Mme. Sandrine BLAZY, examiner
M. Emmanuel FLEURY, examiner
M. Johannes KINDER, examiner
M. Renaud SIRDEY, examiner
M. Thomas SIRVENT, guest

There will be some food and drinks after the defense. Because of the vigipirate situation on the campus, please confirm your presence by writing an e-mail at neyrolles-at-quarkslab.com.



Abstract :

Software obfuscation is a software protection technique that transforms code in order to make its analysis more difficult by reverse-engineering. Mixed Boolean-Arithmetic (MBA) expressions are an obfuscation technique introduced in 2007 and used in real life products. They are presented as a strong data flow obfuscation technique, even though there is little literature on the design and analysis of such obfuscated expressions. In our study, we structured the subject of MBA obfuscation and linked it to other topics, mainly cryptography, rewriting and bit-vector logic. We also reconstructed an MBA obfuscation implementation from public samples. We studied the meaning of simplifying an obfuscated expression, and defined our own simplicity metrics for MBA expressions. Our study of MBA simplification yielded the implementation of two deobfuscation tools that successfully simplified several public examples of obfuscated expressions. Finally, we assessed the resilience of the MBA obfuscation with respect to our simplification algorithms (as well as other deobfuscation techniques), concluding that the MBA obfuscation technique offers little resilience as it is, and we proposed new ideas to improve it.

Résumé :

L'obfuscation est une technique de protection logicielle contre la rétro-conception. Elle transforme du code afin de rendre son analyse plus difficile. Les expressions mixtes arithmético-booléennes (MBA) sont une technique d'obfuscation du flot de données introduite en 2007 et qu'on rencontre dans des applications réelles. Cette technique est présentée comme robuste alors même que le domaine de l'obfuscation MBA étant assez jeune, il bénéficie de peu de littérature sur la conception et l'analyse de telles expressions obfusquées. Durant nos recherches, nous avons structuré le sujet de l'obfuscation MBA, et l'avons relié à d'autres domaines, principalement la cryptographie, la réécriture ou la logique des vecteurs de bits. Nous avons également reconstruit une implémentation d'obfuscation MBA à partir d'échantillons publics. Nous avons étudié ce que signifie simplifier une expression obfusquée, et défini nos propres métriques de simplicité pour les expressions MBA. Cette étude nous a permis de concevoir deux outils de désobfuscation, dont l'implémentation a simplifié avec succès plusieurs exemples publics d'expressions obfusquées. Enfin, nous avons évalué la résilience de l'obfuscation MBA par rapport à nos algorithmes de simplification (ainsi que d'autres techniques de désobfuscation), et nous avons conclu que la technique d'obfuscation MBA offrait peu de résilience en l'état.

Link to the PhD thesis


If you would like to learn more about our security audits and explore how we can help you, get in touch with us!