Thèse soutenue

Approches formelles de désobfuscation automatique et de rétro-ingénierie de codes protégés

FR  |  
EN
Auteur / Autrice : Robin David
Direction : Jean-Yves MarionSébastien Bardin
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 06/01/2017
Etablissement(s) : Université de Lorraine
Ecole(s) doctorale(s) : École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications
Jury : Président / Présidente : Jean Goubault-Larrecq
Examinateurs / Examinatrices : Sébastien Bardin, Roberto Giacobazzi, Arun Lakhotia, Eric Freyssinet, Steve Kremer, Sarah Zennou
Rapporteurs / Rapporteuses : Roberto Giacobazzi, Arun Lakhotia

Résumé

FR  |  
EN

L’analyse de codes malveillants est un domaine de recherche en pleine expansion de par la criticité des infrastructures touchées et les coûts impliqués de plus en plus élevés. Ces logiciels utilisent fréquemment différentes techniques d’évasion visant à limiter la détection et ralentir les analyses. Parmi celles-ci, l’obfuscation permet de cacher le comportement réel d’un programme. Cette thèse étudie l’utilité de l’Exécution Symbolique Dynamique (DSE) pour la rétro-ingénierie. Tout d’abord, nous proposons deux variantes du DSE plus adaptées aux codes protégés. La première est une redéfinition générique de la phase de calcul de prédicat de chemin basée sur une manipulation flexible des concrétisations et symbolisations tandis que la deuxième se base sur un algorithme d’exécution symbolique arrière borné. Ensuite, nous proposons différentes combinaisons avec d’autres techniques d’analyse statique afin de tirer le meilleur profit de ces algorithmes. Enfin tous ces algorithmes ont été implémentés dans différents outils, Binsec/se, Pinsec et Idasec, puis testés sur différents codes malveillants et packers. Ils ont permis de détecter et contourner avec succès les obfuscations ciblées dans des cas d’utilisations réels tel que X-Tunnel du groupe APT28/Sednit.