L'effacement fiable des données d'un support de stockage (assainissement du support) est un élément essentiel de la gestion sécurisée des données. Les disques solides à mémoire flash (SSD) diffèrent des disques durs par la technologie qu'ils utilisent pour stocker les données (puces flash contre disques magnétiques) et par les algorithmes qu'ils utilisent pour gérer et accéder à ces données. Les disques SSD maintiennent une couche d'indirection entre les adresses de blocs logiques que les systèmes informatiques utilisent pour accéder aux données et les adresses flash brutes qui identifient le stockage physique. Cette couche d'indirection améliore les performances et la fiabilité des disques SSD en masquant l'interface idiosyncrasique de la mémoire flash et en gérant sa durée de vie limitée. Cependant, elle peut également produire des copies des données invisibles pour l'utilisateur, mais récupérables par un attaquant sophistiqué. C'est pourquoi il est si important d'assainir complètement le support.
1.1 Commandes d'assainissement intégrées
La plupart des lecteurs modernes sont dotés de commandes d'assainissement intégrées qui indiquent au micrologiciel embarqué d'exécuter un protocole d'assainissement sur le lecteur. Traditionnellement, le jeu de commandes de sécurité ATA spécifie une commande "ERASE UNIT" qui efface toutes les zones accessibles à l'utilisateur sur le lecteur en écrivant tous les zéros ou les uns binaires. Il existe également une commande "ERASE UNIT ENH" améliorée qui écrit un modèle défini par le fournisseur, tel qu'un fichier binaire de 1 Mo avec un contenu de 0x55. La spécification ACS-2/ACS-3 spécifie une commande "BLOCK ERASE" qui fait partie de son ensemble de fonctions SANITIZE. Elle demande à un lecteur d'effectuer un effacement de bloc sur tous les blocs de mémoire contenant des données utilisateur, même s'ils ne sont pas accessibles à l'utilisateur. Les disques SSD industriels SP prennent en charge les spécifications ACS-2/ACS-3 pour fournir une fonction d'effacement de blocs multiples à 4 voies entrelacées afin d'assainir efficacement l'ensemble du disque. Par exemple, un disque SSD de 1 To (SP010TSSD301RW0) ou un disque SSD pSLC de 512 Go (SP512GISSD501RW0) peut être déclenché par un connecteur à 5 broches pour exécuter une fonction d'effacement de blocs multiples entrelacés à 4 voies afin d'achever l'assainissement de l'ensemble du disque en 10 secondes environ.
1.2 Ecriture répétée sur le lecteur
La deuxième méthode d'assainissement consiste à utiliser des commandes d'E/S normales pour écraser chaque adresse de bloc logique sur le disque. L'écrasement logiciel répété est au cœur de nombreuses normes et outils d'assainissement des disques. Toutes les normes et tous les outils que nous avons examinés utilisent une approche similaire : ils écrasent séquentiellement l'ensemble du disque avec des motifs allant de 1 à 35 bits. L'instruction système 5020 de l'armée de l'air américaine en est un bon exemple ; elle remplit d'abord le disque de zéros binaires, puis de uns binaires, et enfin d'un caractère arbitraire. Les différents modèles de bits visent à permuter le plus grand nombre possible de bits physiques sur le disque et, par conséquent, à rendre plus difficile la récupération des données par des moyens analogiques. Les motifs de bits sont potentiellement importants pour les disques SSD également, mais pour des raisons différentes. Étant donné que certains disques SSD compressent les données avant de les stocker, ils écriront moins de bits sur la mémoire flash si les données sont hautement compressibles. La complexité des FTL des disques SSD signifie que l'historique d'utilisation avant l'écrasement peut avoir un impact sur l'efficacité de la technique. Pour en tenir compte, nous avons testé les disques SSD en écrivant la première passe de données soit de manière séquentielle, soit de manière aléatoire. Ensuite, nous avons effectué 20 écrasements séquentiels. Pour les écritures aléatoires, nous avons écrit chaque LBA exactement une fois, mais dans un ordre pseudo-aléatoire. Dans la plupart des cas, écraser le disque entier deux fois était suffisant pour assainir le disque, quel que soit l'état antérieur du lecteur. Cependant, il faut beaucoup de temps pour assainir l'ensemble du disque de cette manière.
1.3 Détruire électriquement le disque au moyen d'un générateur de haute tension
La démagnétisation est un moyen rapide et efficace de détruire les disques durs, car elle supprime le formatage de bas niveau du disque (ainsi que toutes les données) et endommage le moteur du lecteur. Toutefois, le mécanisme utilisé par les mémoires flash pour stocker les données n'est pas basé sur le magnétisme, de sorte que nous ne nous attendons pas à ce que le démagnétiseur efface directement les cellules flash.Alternativement, une conception spéciale avec un générateur de haute tension et un contrôleur à l'intérieur du SSD peut détruire physiquement la flash NAND. Toutefois, il ne s'agit pas d'une conception normale pour les disques SSD. Les disques durs industriels SP sont équipés d'une unité de gestion de l'alimentation (PMU) active intégrée de qualité industrielle qui offre une plus grande fiabilité de l'alimentation par rapport aux circuits discrets traditionnels. Ils sont également dotés d'une protection complète avec OVP, OCP, rejet des surtensions et protection contre les courts-circuits à l'entrée et à la sortie, afin de fournir un niveau de protection plus élevé que les fusibles traditionnels. Par conséquent, nous ne recommandons pas la mise en œuvre de cette technique pour l'assainissement de l'ensemble du disque.
1.4 Exploiter le cryptage
Le disque auto-cryptant (SED) des disques SSD industriels SP est doté d'un moteur de cryptage AES-256, qui assure un cryptage matériel sécurisé des données sans perte de performance du disque SSD. Ce SED est conforme à la spécification TCG/Opal pour les périphériques de confiance. Le cryptage des données est toujours en cours ; cependant, les clés de cryptage ne sont pas gérées et les données ne sont pas sécurisées tant que les ensembles de fonctions de sécurité TCG/Opal ou ATA ne sont pas activés.
Pin | Function | I/O | Funtion Description |
---|---|---|---|
1 | Write Protect | input | short to GND pin to enable write protection |
2 | GND | n/a | system ground |
3 | Device activity indicator | output | connect to an LED to indicate device activity |
4 | Security Erase trigger | input | short to GND pin to trigger security erase function |
5 | Erase activity indicator | output | connect to an LED to indicate erase function activity |