Chapitre 2 Traces à tous les étages
Le fonctionnement normal d’un ordinateur laisse de nombreuses traces de ce que l’on fait dessus. Parfois, elles sont nécessaires à son fonctionnement. D’autres fois, ces informations sont collectées pour permettre aux logiciels d’être « plus pratiques ».
2.1 Dans la mémoire vive
On a vu que le premier lieu de stockage des informations sur un ordinateur est la mémoire vive.
Tant que l’ordinateur est sous tension électrique, elle contient toutes les informations dont le système a besoin. Elle conserve donc nécessairement de nombreuses traces : frappes au clavier (y compris les mots de passe), fichiers ouverts, et autres divers évènements qui ont rythmé la phase d’éveil de l’ordinateur.
En prenant le contrôle d’un ordinateur qui est allumé, il n’est pas très difficile de transférer l’ensemble des informations contenues dans la mémoire vive, par exemple vers une clé USB ou vers un autre ordinateur à travers le réseau. Et prendre le contrôle d’un ordinateur peut être aussi simple que d’y brancher un iPod bricolé quand la propriétaire a le dos tourné55. Une fois récupérées, les nombreuses informations que contient la mémoire vive, sur les personnes qui utilisent cet ordinateur par exemple, pourront alors être exploitées.
On a également vu que ces données deviennent illisibles après la mise hors tension de l’ordinateur. Néanmoins, cela prend plus ou moins de temps et cela peut suffire pour qu’une personne mal intentionnée ait le temps de récupérer ce qui s’y trouve. On appelle cela une cold boot attack : l’idée est de copier le contenu de la mémoire vive avant qu’elle ait eu le temps de s’effacer, de manière à l’exploiter par la suite. Il est même techniquement possible de porter à très basse température la mémoire d’un ordinateur fraîchement éteint, auquel cas on peut faire subsister son contenu plusieurs heures, voire plusieurs jours56.
Cette attaque doit cependant être réalisée très peu de temps après la mise hors tension pour fonctionner. Par ailleurs, si on utilise quelques gros logiciels (par exemple en retouchant une énorme image avec Adobe Photoshop ou GIMP) avant d’éteindre son ordinateur, les traces qu’on a laissées précédemment en mémoire vive ont de fortes chances d’être recouvertes. Surtout, il existe des logiciels spécialement conçus pour écraser le contenu de la mémoire vive avec des données aléatoires juste avant l’extinction de l’ordinateur.
2.2 Dans la mémoire virtuelle
Comme expliqué auparavant, le système d’exploitation utilise, dans certains cas, une partie du disque dur pour venir en aide à sa mémoire vive. Ça arrive en particulier si l’ordinateur est fortement sollicité, par exemple quand on travaille sur de grosses images, mais aussi dans de nombreux autres cas, de façon peu prévisible.
La conséquence la plus gênante de ce fonctionnement pourtant bien pratique, c’est que l’ordinateur va écrire sur le disque dur des informations qui se trouvent dans la mémoire vive, informations potentiellement sensibles, et qui resteront ainsi lisibles après avoir éteint l’ordinateur.
Avec un ordinateur configuré de façon standard, il est donc illusoire de croire qu’un document lu à partir d’une clé USB, même ouvert avec un logiciel portable, ne laissera jamais de traces sur le disque dur.
Pour éviter de laisser n’importe qui accéder à ces données, il est possible d’utiliser un système d’exploitation configuré pour chiffrer la mémoire virtuelle.
2.3 Veille et hibernation
La plupart des systèmes d’exploitation permettent de mettre un ordinateur « en pause ». C’est surtout utilisé avec les ordinateurs portables mais c’est également valable pour les ordinateurs de bureau.
Il y a deux grandes familles de « pause » : la veille et l’hibernation.
2.3.1 La veille
La veille (appelée aussi en anglais suspend to RAM ou suspend) consiste à éteindre le maximum de composants de l’ordinateur tout en gardant sous tension de quoi pouvoir le relancer rapidement.
Au minimum, la mémoire vive continuera d’être alimentée pour conserver l’intégralité des données sur lesquelles on travaillait — c’est-à-dire notamment les mots de passe et les clés de chiffrement.
En bref, un ordinateur en veille protège aussi peu l’accès aux données qu’un ordinateur allumé.
2.3.2 L’hibernation
L’hibernation ou mise en veille prolongée, appelée aussi en anglais suspend to disk, consiste à sauvegarder l’intégralité de la mémoire vive sur le disque dur pour ensuite éteindre complètement l’ordinateur. Lors de son prochain démarrage, le système d’exploitation détectera l’hibernation, recopiera la sauvegarde vers la mémoire vive et recommencera à travailler à partir de là.
Sur les systèmes GNU/Linux, la copie de la mémoire se fait généralement dans la mémoire virtuelle (swap). Sur d’autres systèmes, ça peut être dans un gros fichier, souvent caché.
Étant donné que c’est tout le contenu de la mémoire vive qui est alors écrit sur le disque dur, cela veut dire que tous les programmes et documents ouverts, mots de passe, clés de chiffrement et autres, pourront être retrouvés par quiconque accèdera au disque dur. Et cela, aussi longtemps que rien n’aura été réécrit par-dessus.
Ce risque est toutefois limité par le chiffrement du disque dur : la phrase de passe sera alors nécessaire pour accéder à la sauvegarde de la mémoire vive.
2.4 Les journaux
Les systèmes d’exploitation écrivent dans leurs journaux système un historique détaillé de ce qu’ils font.
Ces journaux (aussi appelés logs) sont utiles au système d’exploitation pour fonctionner, et peuvent nous permettre de corriger des problèmes de configuration ou des bugs.
Cependant, ces journaux conservent aussi des données qui peuvent poser des problèmes de vie privée. Par exemple, ils enregistrent :
- la date, l’heure et le pseudo de l’utilisatrice qui se connecte à chaque fois que l’ordinateur est allumé ;
- la marque et le modèle de chaque support amovible (disque externe, clé USB…) branché ;
- la date d’une impression et le nombre de pages ;
- le nom du logiciel, la date et l’heure de l’installation ou de la désinstallation d’une application.
Par défaut, tous ces journaux sont conservés sans limite de durée sur le disque dur de l’ordinateur, sauf dans le cas des systèmes live qui les enregistrent dans leur mémoire vive.
2.5 Sauvegardes automatiques et autres listes
En plus de ces journaux, il est possible que d’autres traces de fichiers, même supprimés, subsistent sur l’ordinateur. Même si les fichiers et leur contenu ont bien été supprimés, une partie du système d’exploitation ou d’un autre programme peut délibérément en garder une trace.
Voici quelques exemples :
- un logiciel de traitement de texte peut garder la référence à un nom de fichier supprimé dans le menu des « documents récents ». Parfois, il peut même garder des fichiers temporaires avec le contenu du fichier en question. Il existe des dizaines de programmes fonctionnant ainsi ;
- lorsqu’on utilise une imprimante, le système d’exploitation copie souvent le fichier en attente dans la « file d’impression ». Le contenu de ce fichier, une fois la file vidée, n’aura pas disparu du disque dur pour autant ;
- sous Windows, lorsqu’on connecte un lecteur amovible (clé USB, disque dur externe, carte SD ou DVD), le système commence souvent par explorer son contenu afin de proposer des logiciels adaptés à sa lecture : cette exploration automatique laisse en mémoire la liste de tous les fichiers présents sur le support employé, même si aucun des fichiers qu’il contient n’est consulté.
Il est difficile de trouver une solution adéquate à ce problème. Un fichier, même parfaitement supprimé, continuera probablement à exister sur l’ordinateur pendant un certain temps sous une forme différente. Une recherche sur les données brutes du disque permet de voir si des copies de ces données existent ou pas, à moins qu’elles n’y soient seulement référencées ou stockées sous une forme différente, comme par exemple sous forme compressée.
En fait, seuls l’écrasement de la totalité du disque et l’installation d’un nouveau système d’exploitation permettraient d’avoir la garantie que les traces d’un fichier ont bien été supprimées. Dans une autre perspective, l’utilisation d’un système live, dont l’équipe de développement porte une attention particulière à cette question, garantit que ces traces ne seront pas laissées ailleurs que dans la mémoire vive. Nous y reviendrons plus loin.
2.6 Les métadonnées
En plus des informations contenues dans un fichier, il existe des informations accompagnant celui-ci, qui ne sont pas forcément visibles de prime abord : date de création, nom du logiciel utilisé, de l’ordinateur, etc. Ces « données sur les données » s’appellent communément des « métadonnées ».
Une partie des métadonnées est enregistrée par le système de fichiers : le nom du fichier, la date et l’heure de sa création et des modifications, et souvent bien d’autres choses. Ces traces sont laissées sur l’ordinateur (ce qui peut quand même être un problème en soi), mais elles ne sont la plupart du temps pas inscrites dans le fichier.
En revanche, de nombreux formats de fichiers conservent également des métadonnées à l’intérieur du fichier. Elles seront donc diffusées avec le fichier lors de son éventuelle copie sur une clé USB, de son envoi par mail ou de sa publication en ligne. Ces informations pourront alors être connues de quiconque aura accès au fichier.
Les métadonnées enregistrées dépendent des formats et des logiciels utilisés. La plupart des formats de fichier audio permettent d’enregistrer le titre du morceau et l’interprète. Les traitements de texte ou les PDF enregistreront un nom d’autrice, la date et l’heure de création, et parfois même l’historique complet des dernières modifications57, donc, potentiellement, des informations que l’on pensait avoir supprimées.
La palme revient probablement aux formats d’images comme TIFF ou JPEG : ces fichiers photos créés par un appareil numérique ou un téléphone portable contiennent des métadonnées au format EXIF. Ces dernières peuvent contenir la marque, le modèle et le numéro de série de l’appareil utilisé, mais aussi la date, l’heure et parfois même les coordonnées géographiques de la prise de vue, sans oublier une version miniature de l’image. Ce sont d’ailleurs ces métadonnées qui mettront fin à la cavale de John McAfee, fondateur et ancien patron de la société de sécurité informatique du même nom58. De plus, toutes ces informations ont tendance à rester même après que le fichier soit passé par un logiciel de retouche photo. Le cas de la miniature est particulièrement intéressant : de nombreuses photos disponibles sur Internet contiennent encore l’intégralité d’une photo recadrée59 voire des visages ayant été « floutés »60.
Pour la plupart des formats de fichiers ouverts, il existe toutefois des logiciels pour examiner et éventuellement supprimer les métadonnées.
Fernand Lone Sang, Vincent Nicomette, Yves Deswarte, Loïc Duflot, 2011, Attaques DMA peer-to-peer et contremesures. Maximillian Dornseif, 2004, 0wned by an iPod (en anglais).↩︎
J. Alex Halderman et al., 2008, Lest We Remember: Cold Boot Attacks on Encryption Keys (en anglais).↩︎
Deblock Fabrice, 2006, Quand les documents Word trahissent la confidentialité.↩︎
Big Browser, 2012, Vice de forme – La bourde qui a mené à l’arrestation de John McAfee.↩︎
Il existe même des moteurs de recherche par métadonnées, comme Stolen Camera Finder (en anglais), par exemple.↩︎
Maximillian Dornseif et Steven J. Murdoch, 2004, Hidden Data in Internet Published Documents (en anglais).↩︎