Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes - Université de Lorraine Accéder directement au contenu
Thèse Année : 2017

Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes

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

Robin David
  • Fonction : Auteur
  • PersonId : 782970
  • IdRef : 200251783

Résumé

Malware analysis is a growing research field due to the criticity and variety of assets targeted as well as the increasing implied costs. These softwares frequently use evasion tricks aiming at hindering detection and analysis techniques. Among these, obfuscation intent to hide the program behavior. This thesis studies the potential of Dynamic Symbolic Execution (DSE) for reverse-engineering. First, we propose two variants of DSE algorithms adapted and designed to fit on protected codes. The first is a flexible definition of the DSE path predicate computation based on concretization and symbolization. The second is based on the definition of a backward-bounded symbolic execution algorithm. Then, we show how to combine these techniques with static analysis in order to get the best of them. Finally, these algorithms have been implemented in different tools Binsec/se, Pinsec and Idasec interacting alltogether and tested on several malicious codes and commercial packers. Especially, they have been successfully used to circumvent and remove the obfuscation targeted in real-world malwares like X-Tunnel from the famous APT28/Sednit group.
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.
Fichier principal
Vignette du fichier
DDOC_T_2017_0013_DAVID.pdf (3.02 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01549003 , version 1 (28-06-2017)

Identifiants

  • HAL Id : tel-01549003 , version 1

Citer

Robin David. Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes. Cryptography and Security [cs.CR]. Université de Lorraine, 2017. English. ⟨NNT : 2017LORR0013⟩. ⟨tel-01549003⟩
558 Consultations
1327 Téléchargements

Partager

Gmail Facebook X LinkedIn More