Désassemblage et détection de logiciels malveillants auto-modifiants
Auteur / Autrice : | Aurélien Thierry |
Direction : | Jean-Yves Marion |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 11/03/2015 |
Etablissement(s) : | Université de Lorraine |
Ecole(s) doctorale(s) : | École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine |
Partenaire(s) de recherche : | Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications |
Jury : | Président / Présidente : Pierrick Gaudry |
Examinateurs / Examinatrices : Sébastien Bardin, Guillaume Bonfante, Valérie Viêt Triêm Tông | |
Rapporteurs / Rapporteuses : Frédéric Cuppens, Hervé Debar |
Mots clés
Résumé
Cette thèse porte en premier lieu sur l'analyse et le désassemblage de programmes malveillants utilisant certaines techniques d'obscurcissement telles que l'auto-modification et le chevauchement de code. Les programmes malveillants trouvés dans la pratique utilisent massivement l'auto-modification pour cacher leur code utile à un analyste. Nous proposons une technique d'analyse hybride qui utilise une trace d'exécution déterminée par analyse dynamique. Cette analyse découpe le programme auto-modifiant en plusieurs sous-parties non auto-modifiantes que nous pouvons alors étudier par analyse statique en utilisant la trace comme guide. Cette seconde analyse contourne d'autres techniques de protection comme le chevauchement de code afin de reconstruire le graphe de flot de contrôle du binaire analysé. Nous étudions également un détecteur de programmes malveillants, fonctionnant par analyse morphologique : il compare les graphes de flot de contrôle d'un programme à analyser à ceux de programmes connus comme malveillants. Nous proposons une formalisation de ce problème de comparaison de graphes, des algorithmes permettant de le résoudre efficacement et détaillons des cas concrets d'application à la détection de similarités logicielles