Présentation d'une méthodologie de détection post-mortem de « bootkits »

Les "bootkits" sont des codes malveillants utilisant la séquence de démarrage d'une machine pour assurer leur persistance et leur exécution. La présentation s'attache à partager une méthodologie de détection de ces codes dans le cadre d'une analyse post-mortem de système basés sur un BIOS.

Publié le 15 Février 2017 Mis à jour le 15 Février 2017

L’existence des bootkits n'est pas nouvelle, mais la multiplication des mesures de sécurité implémentées par les systèmes d'exploitation modernes rend leur usage de plus en plus pertinent par les attaquants.

Les systèmes basés sur le BIOS utilisent plusieurs codes de démarrage permettant le chargement du système d'exploitation. L'objectif est donc de déterminer si ceux-ci ont été compromis et détournés pour un usage malveillant. Cela passe notamment par l'étude de leur structure et par l'analyse statique du code, dont les grandes étapes sont décrites dans cette présentation.

En appliquant cette démarche, il devient possible de construire une liste de codes de démarrage connus. Cette liste pourra être utilisée comme base de comparaison lors de l'analyse d'une nouvelle machine.

C'est notamment ce que permet d'automatiser l'outil bootcode_parser, mis à disposition sur le compte GitHub de l'ANSSI.

Ces travaux étaient présentés dans le cadre de la Conférence sur la Réponse aux Incidents et l'Investigation Numérique (CoRIIN) 2017. Cette méthodologie et les outils qu’elle propose répondent à un besoin opérationnel constaté par l’ANSSI.

Retrouvez ci-dessous la présentation intégrale pour la Conférence sur la réponse aux incidents & l’investigation numérique.