Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes
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....
Main Author: | |
---|---|
Other Authors: | |
Language: | en |
Published: |
2017
|
Subjects: | |
Online Access: | http://www.theses.fr/2017LORR0013/document |
id |
ndltd-theses.fr-2017LORR0013 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-theses.fr-2017LORR00132019-05-24T03:33:00Z 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 Codes malveillants Désobfuscation Méthodes formelles Exécution Symbolique Rétro-Ingénierie Malware Deobfuscation Formal Methods Symbolic Execution Reverse-Engineering 005.8 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. 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. Electronic Thesis or Dissertation Text en http://www.theses.fr/2017LORR0013/document David, Robin 2017-01-06 Université de Lorraine Marion, Jean-Yves Bardin, Sébastien |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
Codes malveillants Désobfuscation Méthodes formelles Exécution Symbolique Rétro-Ingénierie Malware Deobfuscation Formal Methods Symbolic Execution Reverse-Engineering 005.8 |
spellingShingle |
Codes malveillants Désobfuscation Méthodes formelles Exécution Symbolique Rétro-Ingénierie Malware Deobfuscation Formal Methods Symbolic Execution Reverse-Engineering 005.8 David, Robin Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
description |
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. === 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. |
author2 |
Université de Lorraine |
author_facet |
Université de Lorraine David, Robin |
author |
David, Robin |
author_sort |
David, Robin |
title |
Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
title_short |
Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
title_full |
Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
title_fullStr |
Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
title_full_unstemmed |
Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes |
title_sort |
formal approaches for automatic deobfuscation and reverse-engineering of protected codes |
publishDate |
2017 |
url |
http://www.theses.fr/2017LORR0013/document |
work_keys_str_mv |
AT davidrobin formalapproachesforautomaticdeobfuscationandreverseengineeringofprotectedcodes AT davidrobin approchesformellesdedesobfuscationautomatiqueetderetroingenieriedecodesproteges |
_version_ |
1719192591583412224 |