Comment effacer en toute sécurité un lecteur SSD?

36

La technologie SSD étant relativement nouvelle pour moi, je ne sais pas comment elle se compare aux disques durs pour effacer le disque en toute sécurité. Suffit-il d’exécuter Utilitaire de disque et d’effacer le lecteur avec l’option «écraser par des zéros», ou est-ce prévu pour les disques durs? Y a-t-il d'autres actions à prendre?

Je ne cherche pas une sécurité de niveau NSA, mais le type de chiffon que vous feriez si vous retourniez ou vendiez le Mac.

Rinzwind
la source
Devez-vous effacer les données ou devez-vous convaincre d'autres personnes que les données ont été effacées? Si vous avez seulement besoin de vous convaincre que les données ont disparu, essayez la commande ATA Secure Erase. Si vous avez besoin de convaincre d’autres personnes, vous devrez peut-être utiliser un service de déchiquetage de disque.
DanBeale
En sécurité informatique: suffit-il de n'essuyer qu'une seule fois un lecteur flash? (26 juil. 11)
Graham Perrin

Réponses:

45

Cela dépend de votre niveau de paranoïa. En raison de la manière dont les disques SSD gèrent l’écriture des données, effectuer un zéro une fois sur un disque SSD n’est pas aussi efficace que sur un disque dur.

Lorsque vous écrivez une page de données particulière sur un disque dur, les nouvelles données sont simplement écrites sur les anciennes données pour les remplacer. Ecrivez des zéros sur tout le disque et toutes les anciennes données disparaîtront. Les disques SSD, en revanche, ne peuvent pas simplement écraser des pages individuelles. Afin de remplacer les données d'une page, les anciennes données doivent d'abord être effacées et les disques SSD ne peuvent pas effacer des pages individuelles; ils doivent effacer des blocs entiers constitués de nombreuses pages.

Donc, ce qui arrive quand vous demandez à un SSD d’écraser, disons, la page 5, c’est que le SSD laisse les données de la page 5 seules, mais les marque comme non valides, alloue une autre page actuellement vierge (disons, le # 2305), écrit les nouvelles données à la page n ° 2305, et indique que la prochaine fois que le système d'exploitation demande la page n ° 5, il devrait obtenir le numéro 2305 à la place. Les données de la page n ° 5 d'origine restent là jusqu'à un moment ultérieur, lorsque le lecteur a besoin de plus d'espace, éloigne les pages valides restantes du bloc et les efface. Les disques SSD ont une capacité de mémoire physique supérieure à celle qu’ils n’exposent à l’ordinateur. Ils peuvent donc jongler avec de tels blocs pendant un moment avant d’effacer quoi que ce soit (et quand ils effacent quelque chose, il n’existe aucun moyen de prédire quels blocs de données restants être choisi pour l'effacement). Voir cette revue AnandTech pour plus de détails (attention: c'est assez long, et les informations pertinentes sont réparties).

Résultat net: si vous écrivez des zéros sur le lecteur "entier", vous n'avez pas en réalité écrasé toutes les anciennes données. Vous avez mis à jour la table de traduction du contrôleur afin qu'il ne renvoie jamais les anciennes données au système d'exploitation (ces pages sont toutes non valides). Mais si quelqu'un est assez expérimenté pour contourner le contrôleur, il pourrait récupérer certaines de vos données.

Réécrire deux fois fonctionnera probablement, mais cela dépend de la stratégie d’allocation du contrôleur. Remplacer deux fois avec des données aléatoires ( diskutil randomDisk 2 /dev/diskN) a un peu plus de chances de fonctionner, mais n’est toujours pas garanti. Ces deux produits ont également des effets secondaires négatifs: ils utilisent une partie de la durée de vie du lecteur et augmentent également la fragmentation logique sur le disque SSD, ce qui diminue ses performances en écriture.

Notez que les versions récentes de l'Utilitaire de disque graphique d'OS X désactivent les options d'effacement sécurisé sur les SSD (pour les raisons évoquées ci-dessus), mais la version en ligne de commande les autorise toujours. BTW, j'ai également vu plusieurs recommandations pour effacer de manière sécurisée les SSD en les convertissant au format crypté, mais c'est (le cas échéant) légèrement moins sécurisé que l'écrasement avec des données aléatoires.

Le meilleur moyen de supprimer de manière sécurisée un disque SSD consiste à appeler la fonction d'effacement sécurisé intégrée du contrôleur. Cela devrait (si les concepteurs de contrôleurs remplissaient bien leur tâche) réellement effacer tous les blocs et avoir également pour effet secondaire de réinitialiser la mappe de page logique, de la défragmenter et de restaurer ses performances d'origine. Malheureusement, la plupart des utilitaires que j'ai vus pour le faire (par exemple , HDDErase de CMRR ) fonctionnent sous DOS, ce qui ne démarre pas sur un Mac. J'ai trouvé une publication sur macrumors avec des instructions (plutôt complexes) pour effacer de manière sécurisée un CD de démarrage GParted. Il est également possible d' utiliser Parted Magic à partir d'un lecteur flash amorçable , mais je n'ai pas encore essayé.

Des chercheurs du Laboratoire de systèmes non volatiles de l’UCSD ont testé différentes méthodes de désinfection des disques SSD en «effaçant» le disque, puis en le désassemblant pour contourner le contrôleur et en recherchant les données résiduelles ( résumé , document complet ). Leurs résultats sont pour l’essentiel conformes à ce que j’ai dit plus haut (et montrent également que la commande intégrée secure-erase n’est pas toujours correctement implémentée):

Nos résultats conduisent à trois conclusions: premièrement, les commandes intégrées sont efficaces, mais les fabricants les implémentent parfois de manière incorrecte. Deuxièmement, il est généralement (mais pas toujours) suffisant de remplacer l’espace adresse visible entier d’un disque SSD pour nettoyer le lecteur. Troisièmement, aucune des techniques existantes de nettoyage individuel de fichier orientées sur disque dur n'est efficace sur les disques SSD.

Gordon Davisson
la source
1
Merci pour la réponse détaillée. Ce n'est pas un problème pour moi d'exécuter une commande Terminal comme vous le suggérez. Mais pour référence future: que peuvent faire les utilisateurs réguliers qui ne sont pas si à l'aise avec Terminal? Utilisez-vous simplement l'option 7 passes de Disk Utility?
Rinzwind
4
Je ne sais pas si je peux vraiment recommander l'une quelconque des options à ce stade - elles sont toutes un peu nul. Chacune des options de remplacement utilise la limite d'écriture à vie du lecteur et tend à accroître la fragmentation et à réduire les performances. La meilleure chose à faire serait que Apple ajoute ATA-secure-erase (c’est-à-dire l’option basée sur le contrôleur) en tant qu’option dans Utilitaire de disque, mais qui sait quand et si cela se produira.
Gordon Davisson
2
@ Gordon - Ce fut une excellente réponse et informative! +1
Dolan Antenucci
Bonjour @GordonDavisson. Curieux de savoir si quelque chose a changé depuis que vous avez écrit cette réponse (quelques mises à jour de système d'exploitation ont été effectuées depuis).
Samthebrand
@ SamtheBrand: Peu de choses ont changé. J'ai ajouté une note indiquant que l'Utilitaire de disque (version graphique) interdisait désormais l'effacement sécurisé sur les SSD (car cela ne fonctionnait pas vraiment), corrigeait le lien vers HDDErase et ajoutait une note indiquant que Parted Magic pouvait fonctionner (bien que je ne l'aie pas essayé ).
Gordon Davisson
8

Ouvrez un terminal et tapez la commande suivante:

df -k

Notez la première colonne correspondant à la partition du disque SSD que vous souhaitez effacer de manière irréversible. Disons que c'est /dev/disk1s2.

Tapez la commande suivante:

dd if=/dev/zero of=/dev/rdisk1s2 bs=100k

/dev/rdisk1s2est le périphérique brut associé à votre partition sur SSD. Cette commande écrira complètement cette partition du 1er bloc disponible au dernier. Cette commande durera longtemps (~ 1/2 h pour 100 Go) sans belle barre de défilement.

Une fois que cette commande vous a renvoyé l'invite de votre shell, le disque a été complètement et irréversiblement effacé. Démarrer Disk Utilityet vérifier cette partition. Il vous dira qu'il est endommagé au-delà de toute réparation. Et c'est juste.

Formatez simplement cette partition comme vous le souhaitez.

Voici ce qui se passe au niveau des blocs physiques:film de dd & DU effaçant un SSD

dan
la source
1
Cela équivaut à l'option de l'Utilitaire de disque d'écraser avec des zéros et ne sera pas entièrement sécurisé sur les SSD pour la même raison. Voir ma réponse pour l'explication détaillée.
Gordon Davisson
→ Gordon: J'ai lu votre réponse et je pense l'avoir comprise. Je l'ai votée pour sa qualité. Ma réponse utilise le périphérique de disque brut et non le bloc (comme Utilitaire de disque). Cela doit être vérifié sur SSD (avec des outils fiables), mais pour autant que je sache sur l'ancien disque dur standard standard utilisant des caches, l'interface de disque brut était le moyen le plus simple d'éviter ce cache. Un périphérique SSD est simplement un disque HD dans lequel la mémoire cache occupe toute la capacité et le disque physique est supprimé.
Dan
L'utilisation du périphérique brut (/ dev / rdisk *) contourne les caches du système d'exploitation, mais pas la couche de traduction flash (source du problème décrit précédemment). En fait, il n’ya aucun moyen de le contourner du système d’exploitation - le contrôleur de périphérique n’expose tout simplement jamais la véritable mémoire flash brute au bus (SATA ou autre), et comme le système d’exploitation ne peut interagir avec le lecteur que par le bus, moyen d'obtenir un accès suffisamment brut pour effectuer un écrasement sécurisé.
Gordon Davisson
La première étape ddconsiste non seulement à contourner certains niveaux de cache (nous n’avons aucun moyen de connaître leur capacité), mais également à les épuiser partiellement (il s’agit de l’état de la figure 3). Le second passage devra vraiment trouver de nouveaux blocs et les effacer en toute sécurité.
dan
Ce n'est toujours pas suffisant, pour deux raisons: tout d'abord, lorsque Disk Utility formate le disque, il en écrase un peu (la table de partition, les en-têtes de volume, etc.) et rien ne garantit que la capacité supplémentaire sera épuisée. Deuxièmement, rien ne garantit que l'UA d'écriture supplémentaire atteindra des blocs physiques différents de ceux supprimés précédemment - selon la stratégie d'allocation du contrôleur, il est tout à fait possible que vous effaciez simplement les mêmes blocs physiques. C'est pourquoi j'ai dit que même remplacer deux fois tout l'espace pourrait ne pas suffire.
Gordon Davisson
7

Le bouton "Options de sécurité ..." de l'Utilitaire de disque est actuellement grisé pour les SSD. Selon http://support.apple.com/kb/HT3680 , l'effacement normal d'un disque SSD peut être suffisamment sécurisé:

Remarque: avec OS X Lion et un lecteur SSD, l'effacement sécurisé et l'effacement de l'espace libre ne sont pas disponibles dans Utilitaire de disque. Ces options ne sont pas nécessaires pour un lecteur SSD, car un effacement standard rend difficile la récupération des données d'un SSD. Pour plus de sécurité, envisagez d'activer le cryptage FileVault 2 lorsque vous commencez à utiliser le lecteur SSD.

Il est encore possible d’exécuter quelque chose comme à diskutil secureErase freespace 4 disk0s2partir de Terminal sur la partition de récupération.

Activer simplement FileVault 2 avant d'effacer le lecteur est probablement une meilleure option. Selon cette réponse , effectuer un nettoyage à distance efface également la clé de chiffrement si FileVault 2 est activé:

Oui, lorsque vous nettoyez l’ordinateur à distance, il effectue un nettoyage sécurisé. Apple vous avertit même que cela pourrait prendre jusqu'à un jour. Toutefois, si votre lecteur a été crypté avec FileVault 2, il n'est pas nécessaire d'effacer le disque. Il suffit d’effacer de manière sécurisée la ou les clés de chiffrement stockées sur le disque, c’est donc ce qu’ils font. C'est très rapide et aussi sécurisé que le système de cryptage sous-jacent, qui pour le moment est très sécurisé.

http://training.apple.com/pdf/wp_osx_security.pdf :

FileVault 2 offre aux services informatiques la possibilité d’effacer à tout moment la clé de cryptage d’un Mac donné, afin d’empêcher l’accès aux données cryptées à l’aide des outils de connexion ou de récupération des données de l’utilisateur. Ce processus est appelé effacement à distance.

Lri
la source
5
Activer le cryptage (c'est-à-dire FileVault) avant de stocker des données sensibles est une excellente option, mais il me semble que le processus utilisé pour "effacer" la clé de cryptage peut ne pas être totalement sécurisé pour la même raison qu'un effacement sécurisé standard n'est pas - - l'ancienne clé de cryptage sera toujours stockée dans le flash, mais uniquement dans une page cartographiée. Donc, quelqu'un qui peut contourner le contrôleur pourrait toujours obtenir la clé "effacée" ...
Gordon Davisson
@GordonDavisson mais si vous activez à nouveau le cryptage lors du formatage du disque, l'ancienne clé de cryptage doit être écrasée. Par conséquent, les anciennes données ne sont pas accessibles de manière sécurisée.
Supersize
@supersize L'ancienne clé de chiffrement peut être écrasée, mais cela dépend exactement des pages physiques qui seront effacées lors du reformatage. C'est quelque chose que le microprogramme du lecteur contrôle, pas le système d'exploitation.
Gordon Davisson