Thèse soutenue

Identification d'algorithmes cryptographiques dans du code natif

FR  |  
EN
Auteur / Autrice : Pierre Lestringant
Direction : Pierre-Alain Fouque
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 12/12/2017
Etablissement(s) : Rennes 1
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : ComuE : Université Bretagne Loire (2016-2019)
Laboratoire : Institut de recherche en informatique et systèmes aléatoires (Rennes) - EMSEC

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Cette thèse traite de la conception de méthodes automatisées ou semi-automatisées pour détecter et identifier des algorithmes cryptographiques dans des programmes compilés en langage machine. La première méthode proposée a pour but l'identification de primitives symétriques. L'implémentation en langage machine d'une primitive symétrique, assimilée à une suite d'instructions, est représentée par un graphe. Sous cette forme, le code est modifié à l'aide de règles de réécriture tout en préservant une certaine notion de sémantique lors d'une phase dite de normalisation. L'objectif est de faire émerger des expressions communes à différentes implémentations d'une même primitive. Ces expressions servent alors de base à la création de signatures efficaces. La recherche de ces signatures s'effectue à l'aide d'un algorithme énumérant les isomorphismes de sous-graphe. La seconde méthode, conçue en complément de la première, produit une représentation synthétique facilitant l'identification des modes opératoires. Cette représentation se définit comme le plus petit sous-graphe préservant les distances entre des sous-ensembles de nœuds précédemment identifiés comme étant les paramètres d'entrée et de sortie des primitives impliquées.