COMPARAISON STRUCTURELLE D'OBJETS EXÉCUTABLES par Halvar
FLAKE
(SABRE Security GmbH)
Résumé
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).
Biographie
Thomas Dullien a donné de nombreuses présentations sur le sujet du
reverse engineering sous le pseudonyme Halvar Flake depuis l'été 2000.
Il fait des études de mathématiques et cryptographie à l'Université de
Bochum. De plus, il travaille pour SABRE Security GmbH, une société qui
se spécialise dans des outils d'analyse de code et de reverse
engineering.