Analyse de programmes binaires et d'obfuscation par des représentations de graphes et apprentissage automatique
Year: 2025
Type: dissertation
Abstract: La protection du contenu sensible d'un programme constitue un enjeu majeur, tant dans des contextes légitimes que malveillants, l'obfuscation étant l'une des techniques les plus couramment employées à cette fin. En transformant le code binaire de programmes compilés, l'obfuscation complique et retarde les opérations de rétro-ingénierie, contraignant ainsi les attaquants à suivre une série d'étapes analytiques spécifiques pour contourner ces protections. Cette thèse présente plusieurs contributions, toutes fondées sur des méthodes avancées d'apprentissage de représentations de graphes, et couvrant différentes étapes du processus d'analyse d'obfuscation. Dans un premier temps, nous abordons la détection et la caractérisation de l'obfuscation sous forme de problèmes de classification binaire et multi-classes, en comparant divers formats de graphes, des modèles d'apprentissage de référence, ainsi que des ensembles de caractéristiques, tout en évaluant l'impact de la distribution des données et des optimisations du compilateur. Nos résultats montrent que les modèles avancés de réseaux de neurones de graphes surpassent les approches de référence lorsqu'ils sont alimentés par des caractéristiques capturant finement la sémantique du code binaire, bien que leurs performances demeurent sensibles au niveau d'optimisation et aux stratégies de partitionnement des données. Dans un second temps, nous menons une étude approfondie du diffing binaire et des techniques de similarité, en partant d'un contexte standard etnon obfusqué, au travers d'une analyse d'ablation de QBinDiff et d'une comparaison approfondie des techniques existantes, jusqu'à des scénarios obfusqués, dans lesquels un attaquant cherche à extraire des informations du programme protégé, sans procéder à une désobfuscation complète. Les résultats mettent en évidence les avantages de QBinDiff qui permet un diffing plus fin et montrent que la plupart des obfuscations intra-procédurales et de données offrent une protection limitée, contrairement aux obfuscations inter-procédurales, plus robustes mais rarement mises en œuvre dans les outils open source. Enfin, nous explorons la désobfuscation directe, en combinant l'apprentissage par renforcement et l'apprentissage de représentations de graphes. Nous modélisons cette tâche comme un problème de compression symbolique, où une fonction obfusquée est représentée dans un format de graphe innovant, combinant les flôts de contrôle et de data, puis simplifiée de manière itérative via des opérations d'édition de graphe, guidées par un agent basé surdes réseaux de neurones de graphes. Les premiers résultats obtenus sur les expressions mixtes arithmético-booléennes montrent un succès partiel mais prometteur, ouvrant des perspectives intéressantes pour de futurs travaux.
Source: theses.fr (ABES)
Author: Cohen, Roxane
Institution: Lamsade
Language: English
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W7120729959
Cites:
Cited by:
Related to:
