Introduction à l’investigation numérique (2)

Investigation numérique à froid (post-mortem)

L’investigation numérique à froid ou post-mortem représente la méthode classique d’investigation numérique. Dans cette approche, l’enquêteur débranche le système cible, puis prend des images (des copies) des disques, soit sur le site ou soit dans un laboratoire.  Ensuite, un analyste examine l’image (en fait une copie) dans un environnement contrôlé.

L’investigation numérique à froid comporte certains avantages découlant du fait que possède et travaille sur une copie figée du système. L’investigation numérique a froid est en outre non-invasive, car les données sont conservées uniquement en mode lecture, ce qui garantit leur authenticité. L’investigation à froid est reproductible car un environnement statique se prête à des résultats reproductibles. Dans le cas d’une investigation à froid, le temps n’est pas un facteur clé, puisque l’analyste travaille sur une image figée. En plus, le fait d’avoir un certain laps de temps pour analyser les données, permet de diminuer le nombre d’erreurs susceptibles d’apparaître. Enfin, l’investigation numérique a froid présente aussi l’avantage de pouvoir mettre en corrélation différents résultats, compte tenu de la capacité d’examiner d’autres sources d’informations.

Néanmoins, l’approche post-mortem présente aussi plusieurs inconvénients. Tout d’abord, cette approche ne permet pas toujours de déconnecter le système d’information. Comme la taille des disques des systèmes continue d’augmenter, faire une image du disque peut durer plusieurs heures. Le temps et les efforts nécessaires pour l’analyse des disques augmentent proportionnellement avec la taille des disques.

Pendant le clonage d’un disque, le système a qui il appartiens est déconnecté, mais pour de nombreux systèmes, tels que par exemple, les systèmes de commerce électronique, la perte de recettes due a une interruption de quelques heures est inacceptable.

Finalement, lorsque l’alimentation est coupée, beaucoup d’informations sur ce qui se passe sur un système d’informations vivant sont perdues L’investigation numérique traditionnelle tente de préserver toutes les preuves (les disques) dans un état immuable, tandis que l’investigation numérique des systèmes vivants cherche à prendre un instantané de l’état de l’ordinateur, semblable à une photographie d’une scène de crime.

Investigation numérique des systèmes vivants

Contrairement a l’investigation numérique post-mortem, l’investigation numérique des systèmes vivants se fait sans déconnecter le système cible de son environnement.

Selon leur nature, les informations disponibles sur un système vivant peuvent être classées dans l’une des catégories suivantes : les processus en cours, les connexions réseau, la mémoire (processus et physique), les fichiers de journalisation, les utilisateurs connectés, la charge du système d’exploitation. L’analyse des systèmes vivants peut capturer à la fois des informations volatiles et des informations statiques présentes sur le système de fichiers. Actuellement, la plus part des outils d’investigation numérique utilisent directement le système d’exploitation pour obtenir ces informations. Si une machine a été compromise, son noyau peut exécuter du code malveillant (via un rootkit) qui empêche le système d’exploitation de signaler de façon correcte l’existence des processus et des fichiers.  Bien qu’il existe des programmes qui permettent de détecter la présence des rootkits, il n’y a pas beaucoup de solutions si un rootkit est présent, sauf à utiliser l’approche traditionnelle (investigation a froid).

L’investigation numérique des systèmes vivants présente aussi une difficulté importante en raison du fait que le système n’est pas statique, les fichiers et les processus étant en constante évolution. Une investigation est un processus itératif: à plusieurs reprises on récupère et on analyse les données. L’enquêteur récupère les données volatiles du système en exécutant différents programmes. Compte tenu du fait que la collecte de preuves sur la cible peut affecter d’autres preuves sur la (même) cible, un ensemble des meilleures pratiques est apparu afin de maximiser la qualité des preuves. Les plus importants sont: exécuter des binaires surs, calculer des valeurs de hachage pour toutes les preuves et la collecte des données dans l’ordre de la volatilité des données.

Exécuter des binaires surs. Un enquêteur ne devrait pas faire confiance aux fichiers exécutables sur le système cible, mais devrait posséder tous les exécutables utilisés pour recueillir des preuves. Les fichiers exécutables devraient être compilés de façon statique, si possible, sinon ils devraient inclure toutes les bibliothèques partagées requises par l’exécutable.

Les programmes devraient provenir d’un support en lecture seule, tel qu’un CD-ROM. Les fichiers exécutables peuvent être copiés sur le système cible, mais cette action aura une incidence sur le disque, pouvant par exemple écraser des preuves résidant dans des fichiers supprimés.

S’il faut faire le choix entre la perte de certains éléments de preuve en écrasant des fichiers supprimés et la perte de toutes les preuves en n’obtenant pas l’information, il vaut mieux risquer des dommages mineurs en copiant des fichiers vers le système cible.

Calculer des valeurs de hachage pour toutes les preuves. Une fois acquise, la preuve doit être conservée de façon adéquate, afin que l’enquêteur puisse ensuite démontrer qu’elle n’a subi aucune altération. La méthode acceptée consiste à calculer une valeur utilisant un algorithme de hachage cryptographique sécurisé (généralement MD5 ou SHA-1).

La valeur de hachage peut être recalculée plus tard et comparée par rapport à l’original pour montrer que les données n’ont pas changé depuis l’obtention de la valeur de hachage d’origine. Si les données sont transmises par le réseau de la cible vers une autre machine, la valeur de hachage doit être calculée sur les deux machines et comparée pour s’assurer qu’aucune des données n’a été modifiée durant le transfert. La valeur de hachage et la preuve devraient être maintenues dans un endroit sûr.

Collecte des données par ordre de volatilité des données. Certaines données sont plus volatiles que d’autres. C’est pourquoi, les preuves devraient être rassemblées en fonction de l’ordre de volatilité des données. Par exemple, les connexions réseau changent plus fréquemment que les utilisateurs connectés au système.

Par ailleurs, certaines actions peuvent affecter d’autres données. Par exemple, la connexion à un système peut générer des entrées dans les fichiers de log du système. Pour compliquer encore plus les choses, le temps nécessaire pour recueillir des preuves peut dépendre de la nature de la preuve recueillie. Un listage (« dump ») de la mémoire physique d’une machine peut être utile mais, mais compte tenu de sa volatilité, il doit être effectue au début de l’enquête. Cependant, cette opération peut prendre des dizaines de minutes à accomplir, et pendant ce temps, les informations les plus utiles (telles que les listes de processus en cours, fichiers ouverts, et les connexions réseau) pourront avoir changé ou disparu.

Tandis que l’ensemble de la mémoire vive du système est en constante évolution, sur un système moderne avec un gigaoctet ou plus de mémoire, les pages mémoire peuvent persister pendant un temps considérable (quelques jours ou semaines). En d’autres termes, l’enquêteur doit être conscient du contexte global de l’enquête pour prendre des décisions sur l’ordre d’acquisition des preuves.

Le tableau suivant permet d’illustrer le temps de vie des différents artefacts digitaux [Farmer 2004]:

Registres, mémoire périphérique Nanosecondes
Mémoire principale Nanosecondes
L’état du réseaux Millisecondes
Processus actifs Secondes
Disc Minutes
Bandes d’archivage (backup) Années
CD-ROM, DVD-ROM Dizaines d’années

Le temps de vie des différents artefacts digitaux

Pour conclure, l’investigation numérique des systèmes vivants peut fournir des preuves qui ne sont pas disponibles dans une image statique d’un disque. Mais ce domaine est encore relativement nouveau.

Pour accroitre l’utilité de l’investigation numérique des systèmes vivants, des progrès dans plusieurs domaines seront essentiels, notamment en ce qui concerne les outils d’automatisation et standardisation du processus d’acquisition et de préservation des preuves et les outils de présentation des preuves.