Introduction Supprimer un fichier dans la plupart des systèmes revient à supprimer son adresse dans le registre des fichiers connus. Mais le fichier existe toujours. Sa récupération pouvant poser des problèmes de sécurité, il convient alors de l effacer pour de bon du support. On distingue l effacement logique (purge) de l effacement physique (destruction). Cette dernière rend en effet inutilisable le support après application. Standard d effacement Date Passes Notes U.S. Navy Staff Office Publication NAVSO P-5239-26 1993 3 Verification obligatoire U.S. Air Force System Security Instruction 5020 1996 4 Verification obligatoire Peter Gutmann s Algorithm 1996 1 à 35 Multisupport. Obsolète. Bruce Schneier s Algorithm 1996 7 U.S. DoD Unclassified Computer Hard Drive Disposal 2001 3 German Federal Office for Information Security 2004 2-3 Communications Security Establishment Canada ITSG-06 2006 3 pour informations non-classifiés NIST SP-800-88 2006 1 U.S. National Industrial Security (DoD 5220.22-M) 2006? Ne fournit plus de méthode. NSA/CSS Storage Device Declassif. Manual (SDDM) 2007 0 Degauss ou destruction seule Australian Government ICT Security Manual 2008 1 Degauss ou destruction seule New Zealand Government Security Bureau NZSIT 402 2008 1 pour informations confidentielles British HMG Infosec Standard 5, Baseline Standard? 1 Vérification optionnelle British HMG Infosec Standard 5, Enhanced Standard? 3 Vérification obligatoire Trois standards d effacement de supports se démarquent en pratique : Algorithme de Gutmann (35 passes dues à son adaptabilité multi-supports) DoD 5220.22-M 1 (méthode du Department of Defense américain) AFSSI-5020 (standard de purge des systèmes de l USAF depuis 1996) Leurs implémentations se retrouvent dans tous les principaux logiciels d effacement logique. Parmi ceux-là on ne citera que ceux dont le code source est disponible, permettant l audit 2 de la méthode d effacement : 1 http://www.dtic.mil/whs/directives/corres/pdf/522022m.pdf 2 http://digital-forensics.sans.org/blog/2011/01/19/indepth-analysis-srm-bcwipe-unix 1
hdparm : interface aux utilitaires noyau de gestion des disques SATA/PATA/SAS/SSD permet le formatage bas-niveau prévu par le constructeur du disque (selon la méthode «Secure Erase»). shred : interface d effacement haut-niveau en n passes. wipe : commande utilisée par DBAN, logiciel utilisé par le gouvernement américain. nwipe : fork et amélioration de la commade wipe utilisant ncurses. srm : interface d effacement haut-niveau en 35, 7 ou 3 passes. implémente les 3 standards. 2
Supports dont l effacement est à considérer Types de memoires Supports persistentes Disques durs SSD SUPPORTS Flash Cle USB cartes SD temporaires RAM La RAM possédant une persistence de l ordre de la dizaine de minutes, son effacement n est pas pris en compte : une fois le matériel récupéré, les données sont déjà toutes parties. Seul hdparm et l application de l algorithme de Gutmann sont adaptés dans le cas de SSD. Les mémoires Flash ont une rémanence supérieure et l effacement sur ces systèmes est garanti par des formatages répétés et nombreux (> 20). Accès en écriture aux supports considérés La plupart des supports (USB, carte SD, disque dur SATA/IDE/ATA) sont accessibles depuis n importe quel ordinateur moyennant une interface simple et largement disponible sur le marché pour une somme modique. D autres supports (que l on retrouve surtout dans les machines professionnelles) nécessitent des connecteurs et des cartes mères capables d accéder à ces périphériques. Parfois la solution la plus simple pour accéder à ce matériel spécifique est d utiliser la machine qui a été conçue pour. C est notamment le cas pour les disques SAS et SCSI, pour lesquels ont peut essayer de récupérer la carte PCI utilisée par le système d origine afin de la rebrancher sur la carte mère d un système comportant les outils de purge. Une autre possibilité est d utiliser un système live comme DBAN ou PartedMagick (tous deux utilisant nwipe) sur la machine comportant les supports. Le système n est alors pas installé mais juste chargé en RAM au démarrage de la machine. Contextualisation et relativisation des dangers de la récupération Les résultats présentés et validés par les différents standards peuvent paraître alarmistes, d autant que les technologies actuelles augmentent la densité des données, ce qui a pour effet de rendre plus difficile voire impossible la récupération des données par les moyens conventionnels (microscope électronique) 3 après une passe d écriture sur l ensemble des secteurs. La difficulté est alors de s assurer que l ensemble des secteurs du support ont effectivement bien été réécris (notamment sur les SSD, dont la répartition automatique des secteurs enlève l assurance de l écriture sur tous secteurs en une passe). 3 http://whereismydata.wordpress.com/2009/02/06/deleting-and-wiping-data/ 3
Cas pratique : disques durs d une entreprise Nous récupérons les disques d une entreprise ayant des données sensibles. Leur diffusion mettrait en danger leur activité et leurs contrats. Les disques cependant sont précieux, notamment vu le prix de disques de serveurs. Une deuxième vie peut leur être donnée, si l on arrive à garantir un effacement des données du support. Les disques durs en question sont de type SAS/SCSI. Procédure note : /dev/sdx est le point de montage matériel du dique (visible via la commande lsblk) Dans le cas où le disque supporte le bilan SMART, on essaie de récupérer des informations quant à l état de santé du disque avec la commande smartctl -ih /dev/sdx ; le résultat doit être PASSED. Formatage bas-niveau On effectue un relevé d information du disque dur via l interface hdparm -I /dev/sdx. On vérifie si le disque montre l attribut not frozen. Sinon, on démarre le disque. On désactive les Zones Cachées de Données (HPA) et les DCO de manière optionnelle 4. Un mot de passe disque est requis pour utiliser la fonctionnalité Secure Erase que l on recherche. Executons la commande suivante : hdparm --user-master u --security-set-pass p /dev/sdx où p est le mot de passe de votre choix. On peut enfin procéder à l effacement en lui-même : hdparm --user-master u --security-erase-ehanced p /dev/sdx où --security-erase-ehanced se substitue à --security-erase selon la capacité du disque car elle ne fait pas qu écrire des 0 mais aussi des schémas de données définis par le constructeur à des secteurs incluants ceux non-utilisés à cause de la réallocation. Formatage haut-niveau On va ici utiliser la commande Secure RM, dont on peut lire la documentation via info nwipe. On choisit parmi 3 méthodes : On execute nwipe --method=gutmann /dev/sdx pour 35 passes et une méthode compatible multisupports (inutile ici vu que l on sait déjà que c est un disque dur). On execute nwipe --method=dod522022m /dev/sdx pour 7 passes et une méthode correspondant au standard du Department of Defense. On execute nwipe --method=dod3pass /dev/sdx pour 3 passes et une méthode correspondant au standard de l USAF. On peut utiliser les options --verify=all (vérifier à chaque passe au lieu de la dernière) et --prng=twister ou --prng=isaac (sélectionner un autre générateur de nombres aléatoires). Conclusion On se retrouve avec un disque effacé au moins 4 fois, ce qui correspond à une tranche de sécurité haute 5 selon les standards utilisés pour ce type de matériel. 4 http://tinyapps.org/docs/wipe_drives_hdparm.html#n4 5 http://security.stackexchange.com/a/26134 4
Cas pratique : clé USB et SSD d un journaliste Un journaliste souhaite envoyer une clé USB à un de ses contacts pour récupérer une vidéo. Seulement voilà, cette clé a contenu des images d interviews de dissidents et des documents compromettants concernant des personnages politiques. Même formatée, la clé contient encore des données originales, pouvant être récupérées. le problème de rémanence des données est le même que pour les SSD. les deux supports utilisent en effet tous deux de la mémoire flash, avec pour différence principale la gestion de l adressage par les SSD pour répartir l usure des secteurs. To comply with wear levelling, the SSD must constantly move data around the drive to ensure all blocks are worn at an equal rate. secure deletion tools actually harm SSDs by performing an unnecessary number of additional writes. Procédure commune aux clés USB et aux SSD Remplir le disque avec assez de données aléatoires et le répéter force la donnée à être constamment réallouée sur le support flash. On finit par écraser la donnée et ainsi l ensemble des données en répétant l écriture aléatoire. Plus on écrit sur le support flash, plus les chances sont grandes que l on ait écrit sur chaque cellule flash et plus la sécurité induite de la donnée est grande. srm -vz /dev/sdx On utilise ici l algorithme de Gutmann, seul adapté à la purge de mémoires flash. Toute autre implémentation est valide. Procédure propre aux SSD Comme pour un disque dur à plateaux magnétiques, le SSD a un contrôleur ainsi qu un firmware gérant des opérations de formatage bas-niveau. Ces dernières permettent un retour aux valeurs d usine en remettant toutes les cellules à 0 via purge simultanée des électrons des NAND. L avantage est un effacement complet en une opération (plus rapide et abimant moins les cellules puisqu en une seule passe). Se référer à la section de formatage bas-niveau du cas pratique précédent. 5