Pierre-Antoine Rault
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-M1 (méthode du Department of Defenseamé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’audit2 de la méthode d’effacement :
1http://www.dtic.mil/whs/directives/corres/pdf/522022m.pdf
• 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 commadewipeutilisant ncurses.
• srm: interface d’effacement haut-niveau en 35, 7 ou 3 passes.
implémente les 3 standards.
Supports dont l’effacement est à considérer
Types de memoires Supports persistentes Disques durs
SSD
SUPPORTS Flash Cle USB
cartes SD
temporaires RAM
La RAMpossé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.
Seulhdparmet l’application de l’algorithme de Gutmann sont adaptés dans le cas deSSD. Les mémoires Flashont 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 disquesSAS etSCSI, 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èmelive commeDBANouPartedMagick(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èsune passed’é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).
3http://whereismydata.wordpress.com/2009/02/06/deleting-and-wiping-data/
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/sdXest le point de montage matériel du dique (visible via la commandelsblk)
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 commandesmartctl -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 optionnelle4.
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ùpest 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-ehancedse substitue à--security-eraseselon 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 viainfo nwipe. On choisit parmi 3 méthodes :
• On execute nwipe --method=gutmann /dev/sdX pour 35 passes et une méthode compatible multi- supports (inutile ici vu que l’on sait déjà que c’est un disque dur).
• On executenwipe --method=dod522022m /dev/sdXpour 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
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.