Borrar de forma fiable los datos de los soportes de almacenamiento (sanear los soportes) es un componente crítico de la gestión segura de datos. Las unidades de estado sólido (SSD) basadas en flash se diferencian de los discos duros tanto en la tecnología que utilizan para almacenar datos (chips flash frente a discos magnéticos) como en los algoritmos que emplean para gestionar y acceder a esos datos. Las SSD mantienen una capa de indirección entre las direcciones lógicas de bloque que los sistemas informáticos utilizan para acceder a los datos y las direcciones flash en bruto que identifican el almacenamiento físico. La capa de indirección mejora el rendimiento y la fiabilidad de las SSD al ocultar la interfaz idiosincrásica de la memoria flash y gestionar su limitada vida útil. Sin embargo, también puede producir copias de los datos invisibles para el usuario pero recuperables por un atacante sofisticado. Por eso es tan importante desinfectar completamente los soportes.
1.1 Comandos de desinfección integrados
La mayoría de las unidades modernas incorporan comandos de desinfección que ordenan al firmware de la placa que ejecute un protocolo de desinfección en la unidad. Tradicionalmente, el conjunto de comandos de seguridad ATA especifica un comando "ERASE UNIT" (BORRAR UNIDAD) que borra todas las áreas accesibles para el usuario de la unidad escribiendo todos los ceros o unos binarios. También existe un comando "ERASE UNIT ENH" mejorado que escribe un patrón definido por el proveedor, como un archivo binario de 1 MB con un contenido 0x55. La especificación ACS-2/ACS-3 especifica un comando "BLOCK ERASE" que forma parte de su conjunto de funciones SANITIZE. Indica a la unidad que realice un borrado de bloque en todos los bloques de memoria que contengan datos de usuario, aunque no sean accesibles para el usuario. Las unidades SSD industriales SP son compatibles con las especificaciones ACS-2/ACS-3 para proporcionar una función de borrado de bloques múltiples con intercalación de 4 vías para desinfectar toda una unidad de forma eficaz. Por ejemplo, una unidad SSD de 1 TB (SP010TSSD301RW0) o una unidad SSD pSLC de 512 GB (SP512GISSD501RW0) puede activarse mediante un conector de funciones de 5 patillas para ejecutar una función de borrado de bloques múltiples intercalados de 4 direcciones y completar el saneamiento de toda la unidad en unos 10 segundos.
1.2 Escritura repetida sobre la unidad
El segundo método de desinfección consiste en utilizar comandos IO normales para sobrescribir cada dirección de bloque lógico en la unidad. La sobreescritura repetida por software es la base de muchos estándares y herramientas de sanitización de discos. Todas las normas y herramientas que hemos examinado utilizan un enfoque similar: sobrescriben secuencialmente toda la unidad con patrones de entre 1 y 35 bits. La instrucción de sistema 5020 de las Fuerzas Aéreas de EE.UU. es un buen ejemplo: primero llena la unidad con ceros binarios, luego con unos binarios y, por último, con un carácter arbitrario. A continuación, se vuelven a leer los datos para confirmar que sólo está presente el carácter arbitrario. Los distintos patrones de bits tienen como objetivo conmutar el mayor número posible de bits físicos de la unidad y, por tanto, dificultar la recuperación de los datos por medios analógicos. Los patrones de bits también son potencialmente importantes para las unidades SSD, pero por razones diferentes. Dado que algunas unidades SSD comprimen los datos antes de almacenarlos, escribirán menos bits en la memoria flash si los datos son muy comprimibles. Esto sugiere que, para lograr la máxima eficacia, los procedimientos de sobrescritura de las SSD deberían utilizar datos aleatorios. La complejidad de las SSD FTL implica que el historial de uso previo a la sobrescritura puede afectar a la eficacia de la técnica. Para tenerlo en cuenta, probamos las SSD escribiendo la primera pasada de datos de forma secuencial o aleatoria. A continuación, realizamos 20 sobrescrituras secuenciales. Para las escrituras aleatorias, escribimos cada LBA exactamente una vez, pero en un orden pseudoaleatorio. En la mayoría de los casos, sobrescribir todo el disco dos veces fue suficiente para desinfectar el disco, independientemente del estado anterior de la unidad. Sin embargo, se tarda mucho tiempo en completar el saneamiento de todo el disco de esta forma.
1.3 Destruir eléctricamente la unidad mediante un generador de alto voltaje
El desmagnetizador es un medio rápido y eficaz de destruir discos duros, ya que elimina el formateo de bajo nivel del disco (junto con todos los datos) y daña el motor de la unidad. Sin embargo, el mecanismo que utilizan las memorias flash para almacenar datos no está basado en el magnetismo, por lo que no esperamos que el desmagnetizador borre directamente las celdas flash. Como alternativa, un diseño especial con un generador de alto voltaje y un controlador dentro de la SSD puede destruir físicamente la memoria flash NAND. Sin embargo, no se trata de un diseño normal para las SSD. Las unidades SSD industriales SP están equipadas con una PMU (unidad de gestión de alimentación) activa de grado industrial integrada para proporcionar una mayor fiabilidad de la alimentación en comparación con los circuitos discretos tradicionales. También cuentan con protección completa con OVP, OCP, rechazo de sobretensiones y protección contra cortocircuitos de entrada-salida para proporcionar un mayor nivel de protección frente al diseño tradicional de fusibles. Por lo tanto, no recomendamos aplicar esta técnica para el saneamiento de toda la unidad.
1.4 Aprovechamiento del cifrado
La unidad de autocifrado (SED) de las unidades SSD industriales SP incorpora un motor de cifrado AES-256, que proporciona un cifrado de datos seguro basado en hardware sin pérdida de rendimiento de la unidad SSD. Esta SED sigue la especificación TCG/Opal para periféricos de confianza. El cifrado de datos está siempre en funcionamiento; sin embargo, las claves de cifrado no se gestionan y los datos no están seguros hasta que se activan los conjuntos de funciones de seguridad TCG/Opal o ATA. Esta técnica es un medio rápido para desinfectar la unidad, ya que la eliminación de la clave de cifrado, en teoría, hará que los datos de la unidad sean irrecuperables.
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 |