Comment supprimer en toute sécurité des fichiers stockés sur un SSD?

27

Extrait d'un article (très long, mais qui vaut vraiment la peine d'être lu) sur les SSD :

Lorsque vous supprimez un fichier de votre système d'exploitation, il n'y a aucune réaction d'un disque dur ou d'un SSD. Ce n'est que lorsque vous écrasez le secteur (sur un disque dur) ou la page (sur un SSD) que vous perdez réellement les données. Les programmes de récupération de fichiers utilisent cette propriété à leur avantage et c'est ainsi qu'ils vous aident à récupérer les fichiers supprimés.

Cependant, la principale distinction entre les disques durs et les SSD est ce qui se passe lorsque vous écrasez un fichier. Alors qu'un disque dur peut simplement écrire les nouvelles données dans le même secteur, un SSD allouera une nouvelle page (ou précédemment utilisée) pour les données écrasées. La page qui contient les données désormais invalides sera simplement marquée comme invalide et à un moment donné, elle sera effacée.

Alors, quelle serait la meilleure façon d'effacer en toute sécurité des fichiers stockés sur un SSD? L'écrasement avec des données aléatoires comme nous en avons l'habitude à partir de disques durs (par exemple en utilisant l'utilitaire "shred") ne fonctionnera pas à moins que vous n'écrasiez le lecteur ENTIER ...

c089
la source

Réponses:

22

Que diriez-vous de chiffrer le volume lui-même? Les données supprimées seront toujours là mais devraient être inaccessibles à quiconque sans la clé appropriée.

théière
la source
Drôle, je n'y ai pas pensé - car j'utilise toujours le cryptage LUKS sur mes disques durs de toute façon;)
c089
Comme indiqué ici, cela aura de graves répercussions sur les performances. Avec les disques SandForce, l'utilisation de l'effacement sécurisé ATA effacera la clé de chiffrement AES, offrant une solution au problème de suppression sécurisée lorsque vous n'utilisez pas le chiffrement logiciel.
c089
12

Si le lecteur SSD prend en charge l'ensemble de fonctionnalités du mode de sécurité ATA, il dispose d'une fonctionnalité d'effacement sécurisé, à laquelle vous devriez pouvoir accéder en utilisant quelque chose comme Secure Erase, documenté ici et ici .

bk1e
la source
2
+1 pour l'ensemble de fonctionnalités du mode de sécurité ATA. Il y a une bonne vidéo à ce sujet sur SecurityTube.net
RJFalconer
2
Mais cette fonctionnalité ne concerne que les lecteurs complets, n'est-ce pas?
c089
@ Chris089: C'est exact: l'effacement sécurisé effacera tout le lecteur. L'écrasement du disque entier avec des données aléatoires n'est pas garanti pour effacer le disque entier, en raison d'un sous-approvisionnement. (Mais cela pourrait rendre certaines des données non effacées inaccessibles aux utilisateurs ordinaires, au moins.) Voir anandtech.com/storage/showdoc.aspx?i=3531&p=9 pour plus d'informations.
bk1e
Attention, les disques (plus anciens) ne mettent pas en œuvre cette fonctionnalité comme il se doit. Cela devrait également fonctionner pour les disques durs, mais sur les SSD, il a l'avantage de pouvoir se terminer en quelques secondes au lieu de plusieurs heures.
Maarten Bodewes
Un problème frustrant avec Secure Erase est que de nombreux disques nécessitent que vous les éteigniez physiquement (débranchez le connecteur d'alimentation et rebranchez-le) afin de les sortir de leur état de «sécurité gelée». Ce n'est qu'alors que Secure Erase fonctionne. Pas toujours facile ou souhaitable d'ouvrir votre PC, surtout quand c'est un ordinateur portable ou pire système embarqué.
misha256
10

Même si vous écrasez l'intégralité du disque, vous ne pouvez pas être absolument certain, car les disques durs et les disques SSD contiennent des secteurs de rechange qui sont remplacés en cas de défaillance , ou dans le cas des disques SSD pour faciliter le nivellement de l'usure .

Si vous voulez être absolument certain que les données sont irrécupérables, vous devez détruire physiquement le disque au-delà de la récupération. L'écrasement vous donne une certitude raisonnable sur les HD - sur les SSD, il n'y a pas vraiment de moyen d'y parvenir. Si vous remplissez tout le lecteur, il est toujours possible que le bloc dans lequel les données se trouvaient ait été remplacé par un bloc de rechange pour le nivellement de l'usure et réapparaisse plus tard.

Michael Borgwardt
la source
Impossible de rétrograder encore, mais la réponse d'effacement sécurisé invalide cet argument. Bien sûr, si vous ne voulez pas compter sur l'effacement sécurisé du fabricant, la destruction physique du flash est une option. Mais assurez-vous de l'incinérer ou de casser toutes les puces, le flash est très résistant.
Maarten Bodewes
Notez qu'il s'agit d'une ancienne réponse; Désormais, SECURE ERASE devrait être pris en charge par la plupart des lecteurs, sinon tous, y compris la plupart des disques durs.
Maarten Bodewes
1
Effacement sécurisé effacez tous les SSD. Mais pas un ensemble de fichiers ou une partition séparés.
Mikhail Moskalev
9

En raison de la nature de la mémoire flash NAND, les SSD ne peuvent pas écraser directement les données. L'écrasement répété d'un fichier avant de le supprimer ne l'effacera pas en toute sécurité sur un SSD - les données seront simplement écrites ailleurs sur la NAND.

Pour comprendre pourquoi c'est le cas, il est nécessaire d'expliquer comment les SSD fonctionnent à l'intérieur.

  • La mémoire flash NAND est divisée en blocs , chacun consistant en un ensemble de pages d'une taille généralement de 4 Ko (plus des codes de correction d'erreur). La plupart des SSD modernes utilisent NAND avec des blocs de 128 pages pour une taille de bloc de 512 Ko, bien que certains disques, en particulier les plus anciens, puissent utiliser 256 Ko ou des blocs plus petits. Le diagramme suivant suppose des blocs de 256 Ko, mais le concept est le même quelle que soit la taille du bloc.

Diagramme des pages dans un bloc NAND
Source - Courtoisie Music Sorter sur Wikipedia, CC BY-SA 3.0

  • Chaque page peut être écrite individuellement, mais les pages ne peuvent pas être réécrites avant d'être effacées, et l'effacement ne peut être effectué que par blocs entiers. Cela signifie que chaque fois que les données sont réécrites, le SSD doit marquer les données des pages concernées comme non valides et les réécrire ailleurs, éventuellement dans un bloc différent. À un moment plus approprié, idéalement lorsque le lecteur est inactif et que toutes les pages d'un bloc sont marquées comme non valides, le SSD peut effacer les blocs qui ne sont plus utilisés. Ce processus de nettoyage est appelé garbage collection .

  • Pour que le SSD sache quels blocs peuvent être effacés, le système d'exploitation doit lui indiquer quels blocs ne contiennent plus de données valides. Cela se fait à l'aide de la commande ATA TRIM . Le SSD est alors libre de récupérer les blocs inutilisés.

Les disques SSD tentent de répartir les écritures de manière homogène sur la NAND pour éviter une défaillance prématurée, un processus qui repose sur l'espace libre disponible sur le disque.

  • Chaque bloc NAND ne peut supporter qu'un nombre fini de cycles d'écriture / effacement. De nombreux SSD grand public utilisent aujourd'hui une NAND de 19 à 21 nm, où chaque bloc est valide pendant environ 3000 cycles avant de devenir inutilisable, bien que les SSD d'entreprise et plusieurs SSD grand public qui utilisent des types de NAND plus durables soient disponibles dans le commerce.

  • Dans tous les cas, cependant, les disques SSD doivent répartir les écritures sur l'ensemble du lecteur pour éviter de placer une usure excessive sur un seul bloc afin d'éviter une défaillance prématurée du lecteur, grâce à un processus appelé nivellement d'usure . Une mise à niveau efficace contre l'usure ne peut être obtenue que s'il y a une certaine quantité d'espace ( surapprovisionnement ) qui est réservée pour permettre un ramassage des ordures efficace selon les besoins, même si le lecteur est presque plein.

  • Dans des conditions extrêmes où le SSD est invité à écrire des données plus rapidement qu'il ne peut effacer les anciens blocs (courant dans les charges de travail de centre de données lourd en écriture), il peut être contraint de réécrire les données d'un bloc dans un autre bloc, puis d'effacer immédiatement l'ancien bloc pour faire place à de nouvelles données, avant qu'il n'ait eu la chance d'effectuer la collecte des ordures.

  • La réécriture forcée d'un bloc est loin d'être idéale car elle dégrade les performances et contribue à l' amplification de l'écriture , où plus de données sont écrites dans la NAND sous-jacente que la quantité réelle que le lecteur est invité à écrire. Un surapprovisionnement supplémentaire permet d'atténuer l'amplification d'écriture en fournissant plus d'espace libre pour réécrire les données et effacer les anciens blocs. C'est pourquoi les SSD d'entreprise haut de gamme tels que le Samsung SSD 845DC PRO sont disponibles dans des tailles telles que 200 Go et 400 Go, même si le disque contient en réalité plus près de 256 ou 512 Go de NAND à l'intérieur, respectivement. Voir aussi: Pourquoi les SSD ont-ils des tailles étranges?

  • La série de livres blancs sur les SSD de Samsung fournit une explication approfondie du fonctionnement interne des SSD. L'écriture et l'effacement des pages et des blocs NAND et la collecte des déchets sont expliqués dans le livre blanc 04 .

La seule façon d'effacer véritablement des données sur un SSD est d'utiliser les commandes ATA Secure Erase.

  • Secure Erase demande au lecteur d'effacer toutes les données stockées, y compris les données qui peuvent rester dans les régions NAND surapprovisionnées. Tous les blocs sont effacés lorsque cela est fait, ce qui entraîne un lecteur vierge.

  • Dans les lecteurs avec capacité d'auto-cryptage, Secure Erase peut simplement être implémenté en essuyant la clé de cryptage. Étant donné que les données sur la NAND d'un lecteur chiffré sont illisibles sans la clé, il n'est pas nécessaire d'effacer tous les blocs comme cela serait nécessaire sur un lecteur non chiffré.

bwDraco
la source
Attention, tous les lecteurs n'implémentent pas correctement les commandes d'effacement sécurisé. Si vous souhaitez toujours utiliser le lecteur, cela pourrait être le mieux que vous puissiez faire si vous n'aviez pas la prévoyance de chiffrer dès le début. Si vous souhaitez vous débarrasser du lecteur, vous devez le détruire physiquement - en particulier les puces flash.
Bob
Si une destruction physique est requise, j'ouvrirais le lecteur et détruirais le PCB sous-jacent.
bwDraco
@Bob Avez-vous un lien vers une source discutant d'une implémentation incorrecte? La secure_erasecommande fait partie de la norme ATA. Il peut ne pas être présent sur certains disques moins chers, mais s'il est là, il devrait fonctionner correctement. La raison pour laquelle il fonctionne mieux que les autres options est qu'il restaure le lecteur à sa configuration d'usine d'origine. Même sur les disques durs, il est plus rapide et plus efficace que des outils comme DBAN.
Paul
@Paul security.stackexchange.com/questions/41676/… , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/… Il n'y a absolument aucune garantie arbitraire Le micrologiciel du lecteur implémente correctement toute commande donnée (des bogues peuvent se produire n'importe où) - et les tests ont prouvé qu'au moins certains lecteurs ne le font certainement pas. À la fin de la journée, le plus gros problème est que vous ne pouvez pas vraiment vérifier l'effacement correct.
Bob
1
Puisque nous ne pouvons pas faire une déclaration générale / garantie de succès, nous devons supposer qu'au moins certains lecteurs ne l'implémentent pas correctement. Si nous supposons que certains lecteurs ne l'implémentent pas correctement, alors la chose sûre à faire est de supposer qu'aucun lecteur ne l' implémente correctement jusqu'à preuve du contraire. Et ce n'est pas facile à prouver - l'effacement peut vous sembler correct, tout en conservant les informations sur les puces flash pour tout ce que vous savez - ce qui signifie que vous devez toujours détruire physiquement tout ce qui est vraiment sensible.
Bob
6

Comme indiqué par @teabot, l'utilisation d'un logiciel de chiffrement complet du disque évitera le problème de la suppression sécurisée car vous n'en avez plus besoin. Cependant, comme indiqué dans une question connexe , cela aura d'énormes impacts sur les performances car cela empêche de nombreuses fonctionnalités du contrôleur comme la compression et TRIM et a été signalé pour diminuer les performances jusqu'à un niveau où un disque dur normal est plus rapide que le coûteux SSD. Pour les appareils basés sur SandForce, il existe une meilleure solution: ces appareils effectuent le cryptage AES par défaut et la clé sera effacée lorsque vous utilisez la fonction de suppression sécurisée ATA, rendant toutes les données inaccessibles à moins que l'attaquant ne puisse casser AES (128 bits pour le courant, 256 bits pour les nouveaux disques lancés en mars 2011).

c089
la source
1
Cependant, il ne semble pas y avoir de solution pour supprimer en toute sécurité seulement quelques fichiers. Vous devez effacer tout le disque.
c089
3

Comme vous le pensiez, essuyer tout l'espace libre pour vous assurer que tous les blocs qui contenaient les données sont effacés est le seul moyen d'être sûr. Eh bien, à part prendre un site nucléaire en orbite ...

Cela prendra beaucoup de temps et réduira la durée de vie des puces flash, si vous utilisez un déchiquetage à passages multiples.

L'autre façon de protéger les données supprimées est de les stocker cryptées en premier lieu à l'aide d'un système de fichiers crypté utilisant quelque chose comme truecrypt.

David Spillett
la source