web-dev-qa-db-fra.com

Comment effacer en toute sécurité des fichiers du lecteur SSD?

Lorsque nous essayons d’effacer de manière sécurisée les SSD, nous rencontrons plusieurs problèmes:

  • Les disques SSD s'usent après un nombre limité de cycles d'effacement
  • Les disques SSD possèdent un contrôleur qui mappe de manière dynamique les adresses LBA (adresses de bloc logique utilisées par le système pour accéder au disque) aux cellules NVRAM (les cellules de mémoire flash réelles) afin d’équilibrer l’usure, ce qui signifie que le disque doit écraser les blocs qui stockaient auparavant une mémoire spécifique. fichier peut entraîner l’écrasement de tout autre bloc disponible.
  • Les disques SSD ont un pourcentage important de capacité de réserve qui est utilisé pour compenser la perte de cellules de stockage et réduire l'usure. Ils ne sont pas visibles pour le système et peuvent contenir d'anciens fragments de données.

Maintenant, quelles options avons-nous à l'intérieur d'Ubuntu pour nettoyer en toute sécurité les SSD?

J'ai entendu dire que certains nouveaux disques SSD devraient pouvoir s'essuyer en toute sécurité, mais comment savoir si mon disque SSD est capable de le faire et comment puis-je le déclencher?
Il devrait également exister une commande ATA Secure Erase, comment puis-je savoir si elle est prise en charge et comment puis-je la déclencher?

Existe-t-il également des moyens d’effacer en toute sécurité uniquement un fichier ou l’espace inutilisé?
Je suppose que faire une sauvegarde de toutes les partitions, effacer de manière sécurisée tout le disque et ensuite restaurer la sauvegarde serait possible, mais semblerait trop compliqué et prendrait trop de temps pour être pratique. Y a-t-il d'autres alternatives? Sinon, quels outils puis-je utiliser pour sauvegarder des partitions sans sauvegarder également des fichiers déjà supprimés?

Bien entendu, les outils standard tels que shred ou wipe ne sont pas utilisables ici pour les points décrits ci-dessus. Ils écrasent simplement un fichier (en écrasant ses grappes de système de fichiers liées à des LBA qui ne pointent pas constamment sur les mêmes cellules flash en raison du contrôleur de nivellement d'usure).

14
Byte Commander

Il n’existe actuellement aucun moyen de supprimer en toute sécurité des fichiers sur un disque SSD sans effacer tout le contenu du disque ou d’avoir accès au micrologiciel du disque SSD.

  • Il est impossible de savoir où le SSD peut stocker les copies précédentes d'un bloc logique.

  • Pire, en raison des mécanismes de journalisation et de copie sur écriture du système de fichiers, il peut être impossible de savoir quels blocs logiques peuvent contenir une copie précédente d'un fichier particulier.

Le seul moyen d'éviter la fuite de fichiers supprimés à une personne ayant un accès direct au lecteur consiste à les chiffrer en premier lieu et à protéger la clé de chiffrement des regards indiscrets.

Addenda:

J'ai fait des recherches et découvert que vous pouvez en quelque sorte effacer tous les fichiers précédemment supprimés si vous parvenez à connaître tous les secteurs inoccupés d'un système de fichiers, ce qui est généralement possible et offert par certains outils de système de fichiers (par exemple pour la famille ext *), puis les ignorer (par exemple avec blkdiscard(8) comme indiqué dans cette réponse à la question liée ), qui renvoie les blocs pour la récupération de place jusqu'à ce qu'ils soient réutilisés et écrasés dans le processus.

Ceci est sécurisé contre tous ceux qui ne peuvent pas accéder directement aux cellules flash, donc tous ceux qui

  • n'a pas d'appareil de lecture de cellule flash approprié et
  • ne peut pas convaincre le micrologiciel du lecteur de révéler le contenu de blocs non attribués (ce qui nécessiterait une modification significative du micrologiciel dans la plupart des cas et des commandes ATA personnalisées car il n'y a pas de moyen normalisé).
9
David Foerster