Comparaison structurelle d'objets exécutables — Halvar Flake
Date : 02 June 2005 à 14:30 — 45 min.
La majorité des vendeurs de logiciels fermés ne divulguent plus les détails spécifiques des failles corrigées lorsqu'ils publient un patch. Dans une perspective offensive, il est important d'être capable de comprendre rapidement les changements qui ont été effectués au sein de l'application pour profiter de la fenêtre de temps durant laquelle on peut prendre le contrôle des systemes qui n'ont pas encore été mis à jour. Cette technique de comparaison d'objets exécutables a d'autres applications: avec l'arrivée de virus écrits dans un langage de haut niveau et de codes malveillants (malware), les analystes anti-virus doivent désassembler plusieurs variantes du même programme, ce qui long et fastidieux. Nous discuterons d'une approche abstraite pour construire rapidement un isomorphisme entre les fonctions, les blocs basiques et les instructions des deux objets exécutables en se basant sur la structure logique du code (callgraph et flowgraph).