GNU/Linux >> Tutoriels Linux >  >> Linux

Pièges du chiffrement SSD

Gardez à l'esprit que les SSD modernes déjà cryptez vos données au niveau du micrologiciel, de sorte qu'une opération de reformatage puisse être effectuée simplement en supprimant la clé interne, plutôt qu'en effaçant chaque secteur. Cela ne signifie pas que vos données sont cryptées automatiquement à tout moment - le cryptage n'est utilisé que pour résoudre le problème d'usure NAND. Cependant, cela signifie qu'une opération de formatage appropriée au niveau du micrologiciel rend les données sur le disque entièrement détruites à toutes fins utiles. Si vous jetez un SSD, je vous recommande fortement d'utiliser cette option. La plupart des principaux systèmes d'exploitation reconnaissent et prennent en charge la commande de micrologiciel appropriée, mais son utilisation peut différer - consultez la documentation appropriée.

En ce qui concerne les secteurs de rechange anti-usure, en pratique, vous devriez être en sécurité, que les données stockées aient été cryptées ou non. En raison du cryptage interne, les blocs de données orphelins dans les zones de nivellement d'usure ne devraient pas être récupérables, car les IV et les blocs frères sont détruits / manquants. Cependant, cela ne veut pas dire que vous ne serez peut-être pas malchanceux - il se peut que quelques blocs de données de fichiers finissent par être conservés, ce qui conduit à un cas où une petite quantité de texte en clair est récupérable. C'est difficile à dire.

Ignorant le crypto interne pendant un moment, une autre attaque intéressante est liée aux anciens blocs restants de texte chiffré. Si vous cryptez une donnée avec une clé et un IV particuliers, puis cryptez une nouvelle donnée avec la même clé et le même IV, il peut être possible d'attaquer ces données à l'aide de la cryptanalyse différentielle ou d'autres attaques. Il démontre également la modification active de certaines zones de données, qui peuvent ou non être problématiques pour vous en fonction de votre scénario de menace.


Sur un bloc Flash, deux opérations sont possibles :convertir un bit de 0 à 1, ou remettre tout le bloc à 0 (les rôles de 0 et 1 peuvent bien sûr être inversés). Chaque bloc ne subit qu'un nombre limité de réinitialisations avant de tomber en panne, d'où le "wear-leveling" qui tente d'étaler les opérations de "reset". De plus, des codes de correction d'erreurs sont utilisés pour survivre à quelques bits erronés.

Un algorithme de nivellement d'usure possible (ou une partie d'un algorithme plus large) consiste à inspecter le taux d'erreurs sur les bits dans chaque bloc lors de la lecture ; lorsque le taux devient trop élevé (trop proche de la limite supérieure de ce que peut gérer le code correcteur d'erreurs), le bloc est déclaré "échoué" et la prochaine opération de réinitialisation sur ce bloc sera plutôt un "remap":un autre bloc, de la zone de réserve, seront utilisés par la suite. La conséquence est que les données du bloc "failed" y restent; il n'est pas accessible logiquement (le contrôleur SSD affiche le bloc remappé, pas celui-ci) mais il pourrait être lu en extrayant la puce Flash et en y accédant directement.

Cela signifie que les stratégies de nettoyage au niveau du système d'exploitation ne peuvent pas être efficaces à 100 %.

De nombreux SSD modernes (mais pas tous) implémentent une fonction "d'effacement sécurisé", dans laquelle toutes les données sont chiffrées avec une clé aléatoire, et lorsque la machine demande un effacement sécurisé, cette clé est modifiée. Cela équivaut à détruire les données de tous les blocs, y compris les données des blocs désormais inaccessibles. Il s'agit donc d'un effacement de disque entier très efficace. Le kilométrage peut cependant varier en fonction de la manière dont un tel effacement peut être déclenché (par nature, formater une partition ne déclenche pas un effacement complet du disque et la modification de la table de partition ne le fait généralement pas non plus). De plus, la sécurité de ce processus dépend de la qualité du cryptage utilisé par le disque, qui n'est pas forcément très élevé, et en tout cas très rarement documenté (la plupart des éditeurs se contentent de dire "AES" sans autre précision). Avec le chiffrement au niveau du système d'exploitation, vous pouvez avoir plus de contrôle sur ce qui se passe.

Si chaque écriture de données qui s'est jamais produite sur un disque utilisait approprié chiffrement (avec une clé qui n'est pas sur le disque lui-même, bien sûr), alors oui, vous pouvez jeter le disque sans plus y penser. La fonctionnalité "d'effacement sécurisé" du SSD PEUT incarner ce concept, en supposant qu'elle ne bâcle pas la partie chiffrement (mais vous pouvez rarement vous en assurer).


Linux
  1. Pourquoi le serveur a-t-il bloqué mon IP ?

  2. À quel point Ubuntu serait-il (in)vulnérable au rançongiciel de cryptage ?

  3. Nordlocker contre VeraCrypt

  4. Qu'est-ce qu'une base de données relationnelle ?

  5. Mauvaise commande dd sur le disque principal - Comment récupérer des données ?

Récupération simple des données du disque dur

Deux méthodes pour protéger vos données à l'aide du chiffrement de disque Ubuntu

Dépannage et pièges de SELinux

Pourquoi ne pas bloquer ICMP ?

Créer un périphérique bloc dans la RAM

GPT est-il nécessaire sur un disque de données de 16 To ?