Cartographie des programmes et de leurs interrelations - Department of Formal methods Accéder directement au contenu
Thèse Année : 2023

Cartography of programs and their inter-relations

Cartographie des programmes et de leurs interrelations

Tristan Benoit

Résumé

In the field of software engineering, ensuring the quality and security of software is complex. This context is due to a set of factors, notably the increasing use of libraries and the use of practices such as copying codes from online services. The usual solution to this problem is the application of formal methods for program validation before their release. However, this approach requires a precise specification and a high degree of expertise. This thesis introduces new reverse engineering methods to automatically collect information about a program toolchain provenance and identify program clones within large data repositories. Our first contribution is the innovative neural network model Site Neural Network (SNN), which predicts the compilation toolchain used to produce an entire program. SNN offers excellent speed as well as good accuracy. Its modularity due to the use of hierarchies of classifiers allows for easy consideration of additional toolchains. Our second contribution is the Program Spectral Similarity (PSS), a tool that provides a quick and efficient way to detect program clones, even when their target hardware architecture differs or in the case of obfuscation. Unlike binary function-based methods or graph edit distance methods, which are time-consuming and low resilient, PSS relies on the spectral analysis of graphs to measure the similarity between programs. This thesis thus contributes to cyber security by providing tools to identify malware clones quickly. In addition, it supports computer forensics by providing relevant information on the compilation chain. This work paves the way for new neural networks for programs, as well as the development of spectral graph analysis methods for studying binary code similarity.
Dans le domaine du génie logiciel, assurer la qualité et la sûreté des logiciels est complexe. Ce contexte est dû à un ensemble de facteurs, notamment l'utilisation croissante de bibliothèques et le recours à des pratiques comme la copie de codes à partir de services en ligne. Une réponse courante à cette problématique est l'application de méthodes formelles de validation des programmes avant leur diffusion. Cette approche, cependant, requiert une compréhension précise des enjeux à vérifier et un haut degré d'expertise. Cette thèse introduit des méthodes innovantes de rétro-ingénierie pour collecter automatiquement des informations sur l'origine d'un programme et pour identifier des clones de programmes au sein de larges jeux de données. Notre première contribution est le nouveau modèle de réseau de neurones Site Neural Network (SNN) qui prédit la chaîne de compilation utilisée pour produire un programme entier. SNN offre une grande rapidité ainsi qu'une bonne précision. Sa modularité grâce à l'utilisation de hiérarchies de classificateurs permet de considérer facilement des chaînes de compilation supplémentaires. Notre seconde contribution est Program Spectral Similarity (PSS), un outil qui fournit un moyen rapide et efficace de détecter des clones de programmes, même quand leur architecture matérielle visée diffère ou en cas d'offuscation. Contrairement aux méthodes basées sur les fonctions binaires ou sur la distance d'édition des graphes, qui sont chronophages et peu robustes, PSS s'appuie sur l'analyse spectrale de graphes pour mesurer la similarité entre programmes. Cette thèse participe ainsi à renforcer la sécurité des systèmes en mettant à disposition des outils pour identifier rapidement les clones de programmes malveillants. En outre, elle apporte un soutien à l'investigation numérique en donnant des informations pertinentes sur la chaîne de compilation. Ce travail ouvre la voie à de nouveaux réseaux de neurones spécialisés pour les programmes, ainsi qu'au développement de méthodes d'analyse spectrale pour l'étude de la similarité des codes binaires.
Fichier principal
Vignette du fichier
DDOC_T_2023_0320_BENOIT.pdf (3.79 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-04584298 , version 1 (23-05-2024)

Identifiants

  • HAL Id : tel-04584298 , version 1

Citer

Tristan Benoit. Cartographie des programmes et de leurs interrelations. Informatique [cs]. Université de Lorraine, 2023. Français. ⟨NNT : 2023LORR0320⟩. ⟨tel-04584298⟩
0 Consultations
0 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More