¿Cómo puedo limpiar de forma segura un SSD? [duplicar]

40

Esta pregunta ya tiene una respuesta aquí:

Uno de nuestros clientes está pidiendo el método DOD-7 Pass Erase para SSD.

Intentamos borrar un SSD de 256 GB (Samsung Make) a través de Tabernus lan, pero está tomando demasiado tiempo.

Guíeme cómo borrar el SSD de la versión Tabernus lan 7.3.1.

ingrese la descripción de la imagen aquí

Baskar Kumar
fuente
55
Un pase normalmente debería ser suficiente si la NSA no lo persigue. ¿Pero los SSD no tienen alguna forma del comando TRIM que hace que los datos sean inaccesibles sin eliminarlos realmente (guardando ciclos de escritura)?
Paul Stelian
55
Debe mirar el software "Magician" de Samsung (un disco de arranque que le permite ejecutar el comando "borrado seguro"). Ahora, si TRIM o el "Borrado seguro" de un SSD cumplen con el cumplimiento de DoD es otra cosa ... no lo sabría.
Kinnectus
55
@PaulStelian: no olvides que esta es la SSD de la que habla el OP: borrar una SSD es algo completamente diferente a un HDD mecánico tradicional.
Kinnectus
16
lo más seguro (pero más caro) es derretirlo con fuego
Sarge Borsch
77
El DoD ya ni siquiera usa ese estándar antiguo. Es completamente irrelevante y destructivo si se realiza en un SSD.
Michael Hampton

Respuestas:

62

Breve:

Un borrado de sobrescritura múltiple (7) no hace lo que espera que haga en un SSD. Si es necesario, puede implementarlo y decirle al cliente que lo hizo, pero no espere que borre todos los datos .

Antecedentes:

Para limpiar los datos de un disco duro convencional, tenía las siguientes soluciones:

  • Limpie el índice (por ejemplo, diskpart clean). Fácil de recuperar.
  • Sobrescribe todo el disco. Esto lo borra para los usuarios normales. Si tiene acceso a un hardware muy sensible, del tipo al que solo los gobiernos tienen acceso, es posible que pueda recuperar algunos de los datos. Piense en ello como borrar notas escritas a lápiz y escribir texto nuevo. Queda una sombra.
  • Sobrescribe el disco varias veces con diferentes patrones, derrotando incluso a los atacantes más capaces.

Los SSD funcionan de manera diferente. Tienen una serie de bloques que están agrupados. Las escrituras solo pueden sucederle a un grupo. Piense en ello como un libro donde solo puede escribir en una página. Si desea agregar una oración, el controlador del SSD leerá toda la página y escribirá una nueva página (con la oración adicional) en una ubicación diferente. Luego marcará la página anterior como vacía y asignará el número de página anterior a la nueva página.

Esto significa que no hay una asignación directa entre lo que el sistema operativo ve son sectores (páginas) y lo que está en el disco.

Puede llenar todo el disco con un nuevo archivo (digamos uno que contenga solo ceros) y no se tocará el espacio de reserva. Entonces todavía hay datos recuperables. Puede hacer esto 7 veces y aún tener los mismos datos recuperables.

Buenas noticias

La buena noticia es que los SSD a menudo se envían con cifrado en disco. Deseche la clave de cifrado y los datos no valen nada.

Aún mejor noticia es que este cifrado de datos siempre se puede utilizar. Incluso cuando no habilitó explícitamente el cifrado. En ese caso, el disco aún escribe datos cifrados con una clave almacenada en algún lugar de la SSD. Dígale que deseche esta llave y reemplácela por una nueva y ya está. Es rápido y seguro.

Incluso hay un comando para hacer esto ( borrado seguro ATA ).

Esta es la única solución técnica correcta . Hágalo incluso si insisten en sobrescribir 7 pases (haciendo esto último solo para que cumpla con sus demandas, y el primero para la intención de esas demandas).

Lentitud del mal método.

No tengo experiencia con tabernus lan. Pero casi cualquier SSD aceptará más de 100 MB / seg de escritura sostenida. Con esa velocidad, incluso un SSD muy lento debería terminar en una hora. Un SSD medio rápido debería terminar menos de una quinta parte de ese tiempo.

Si no se acerca a ese rendimiento, sospecho que su solución es escribir un sector por sector. Eso es malo. Debería vaciar los sectores lo más rápido que pueda con una profundidad de cola de 32. Sin eso, se llega a la analogía de la página desde arriba.

Comenzando con una página completa con 8 oraciones escritas.

  • Limpie la oración 1.

    • Leer página completa
    • Eliminar primera oración
    • Escribe una página completa con 7 oraciones en un bloque / página diferente
  • Limpie la oración 2.

    • Leer página completa
    • Eliminar segunda oración
    • Escribe una página completa con 6 oraciones en un bloque / página diferente
  • Limpie la oración 3.

    • Leer página completa
    • Eliminar tercera oración
    • Escriba una página completa con 5 oraciones en un bloque / página diferente
  • Limpie la oración 4.

    • Leer página completa
    • Eliminar cuarta oración
    • Escriba una página completa con 5 oraciones en un bloque / página diferente
  • Limpie la oración 5.

    • Leer página completa
    • Eliminar quinta oración
    • Escribe una página completa con 3 oraciones en un bloque / página diferente
  • Limpie la oración 6.

    • Leer página completa
    • Eliminar sexta oración
    • Escribe una página completa con 2 oraciones en un bloque / página diferente
  • Limpie la oración 7.

    • Leer página completa
    • Eliminar séptima oración
    • Escriba una página completa con 1 oración en un bloque / página diferente
  • Limpie la oración 8.

    • Marcar en la página como eliminado (pero en realidad no lo borre hasta que necesite más espacio)

¿Te das cuenta de cuánto tiempo fue ese texto? Lo mismo con la velocidad SSD.

Hennes
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
Sathyajith Bhat
1
" Incluso hay un comando para hacer esto (borrado seguro ATA). Esta es la única solución técnica correcta " . Tenga en cuenta que ATA SE no puede borrar de forma segura algunos SSD: usenix.org/events/fast11/tech/full_papers/Wei.pdf
Miles Wolbe
9

El software que usó aparentemente NO funciona correctamente. Una de tus capturas de pantalla muestra 97MB / s como velocidad. Con esa velocidad, la sobreescritura de disco completo de 7 pasadas en una unidad de 256 GB debería llevar alrededor de 5 horas. Cálculo simple

Es posible que desee probar Blancco 5 en su lugar. Como puede ver, el enlace que era para Tabernus Erase LAN se redirige a su sitio. También puede considerar el último DBAN , que parece ser la versión gratuita de Blannco.

Para ser honesto, nunca he usado ninguna pieza del software anterior. Dudo que realmente estén haciendo un mejor trabajo que una simple sobrescritura aleatoria.

Personalmente, uso shred en GNU coreutils:

shred -v -n 7 /dev/sdX

Aunque realmente no lo -n 7usaré. A lo sumo, lo dejaré por defecto: 3 pasadas, y tal vez con un relleno cero adicional de una sola pasada al final ( -z).

O, openssl:

openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt

que puedes escribir un simple bash loop para que haga múltiples pases. Sin embargo, no informa sobre el progreso shred.

Por cierto, según algunas fuentes aleatorias en Internet (solo Google, por favor), parece que el Departamento de Defensa de EE. UU. Ya ha obsoleto las especificaciones para la desinfección de datos. Ahora parece reconocer solo la destrucción física.

Una de las posibles razones, que es de su preocupación, es que la sobrescritura simple puede no "alcanzar" todo el espacio reservado detrás de escena en un SSD para el llamado sobreaprovisionamiento (hecho en el firmware) y / o reasignación de sectores defectuosos . Desafortunadamente, múltiples pases de llenado aleatorio de datos es probablemente lo mejor que puede hacer, si su SSD no admite el cifrado de hardware.


NO cuente con ATA DSM / TRIM si necesita que los datos se borren de forma segura. RECORTAR O INCLUSO NO PUEDE hacer que el SSD "se vea" (es decir, hexdump) completamente borrado, pero en realidad no destruye los datos detrás de la escena, como sobrescribir de todos modos.

Uno tampoco debería confiar realmente en ATA Secure Erase 1 . Los estándares ACS simplemente requieren que realice el llenado de patrones (de un solo paso). El modo normal debe tener ceros o unos como el patrón, mientras que el modo mejorado debe tener un patrón específico del proveedor (pero todavía está llenando el patrón) y borrar también "Datos de usuario reasignados".

Sin embargo, el conjunto de características ha sido abusado durante mucho tiempo por los proveedores para hacer cosas no estándar 3 , cuando el DISPOSITIVO ATA SANITIZE no se había introducido. Por lo tanto, el comportamiento de ATA Secure Erase puede ser TOTALMENTE específico del proveedor, especialmente en SSD.

En un SSD, ATA Secure Erase a menudo se implementa como lo mismo que BLOCK ERASE de ATA SANITIZE DEVICE, que es más o menos una equivalencia de ATA TRIM de disco completo (en un RZAT 2 SSD).

El relleno de patrón fijo (que podría incorporarse en alguna implementación de "borrado DOD" que no tiene SSD en mente) realmente no vale la pena hacerlo porque los controladores "inteligentes" en SSD pueden hacer compresión e incluso ignorar dicha sobrescritura repetida.

Si realmente se quiere hacer, por alguna razón, supongo que SOBRESCRIBIR ATA SANITIZE DEVICE es la mejor manera de usarlo. (Dado que, con suerte , los proveedores se asegurarán de que el controlador no "juegue de manera inteligente" cuando el usuario emita eso en la unidad).


En HDD / SSD que tiene el llamado cifrado de hardware, el modo mejorado de ATA Secure Erase a menudo se implementa como lo mismo que CRYPTO SCRAMBLE de ATA SANITIZE DEVICE, que desencadena una regeneración de la clave de cifrado y así sucesivamente. Puede ser el mejor método "rápido" para usar si desea limpiar el disco de manera segura, ya que ese es el objetivo principal de los cifrados de hardware que no son Opal (mientras que la gente generalmente pensaba erróneamente que su punto principal es trabajar con Contraseña ATA).

FWIW, siempre es necesario habilitar primero el conjunto de características de seguridad de ATA (es decir, "contraseña de usuario") antes de borrarlo, lo que a menudo bloquea el disco debido a una mala implementación (bien, o PEBKAC). Si la unidad es compatible con el DISPOSITIVO ATA SANITIZE, realmente debería preferirse. Desafortunadamente, a diferencia de ATA Security que se admite en hdparm , parece que todavía no hay ninguna utilidad que admita el conjunto de características más reciente. Uno puede formar en el mejor manualmente un paso a través de ATA SCSI comando para eso y enviarlo con sg_rawen sg3_utils .


Nota:

1 El nombre de comando estándar de ATA Secure Erase es SECURITY ERASE UNIT, que es un comando obligatorio en el conjunto de características de seguridad de ATA

2 Devuelve datos de ceros después del recorte; ver estándares ACS para su definición exacta

3 Especificación de las unidades de estado sólido SATA Intel 530 ; consulte "5.3 Conjunto de funciones del modo de seguridad"; Un ejemplo de los principales proveedores que "abusan" del conjunto de características de seguridad de ATA

Tom Yan
fuente
... o puede configurar una asignación de dm-crypt simple y usar ddrescue para sobrescribir desde / dev / zero en la asignación, para el progreso y la calidad criptográfica indistinguible de al azar.
un CVn
1
Dado que los SSD implementan tantos movimientos de bloque bajo el capó para el rendimiento, y pueden ser aprovisionados en exceso (más espacio que el anunciado para que pueda hacer las manipulaciones anteriores), nunca se puede suponer que escribir datos en un SSD realmente elimine todos los datos. El reinicio del proveedor es la única forma de borrar realmente las celdas (y las borra, y no hay forma de recuperarlas). Esto es diferente a los discos duros, donde puede haber residuos magnéticos que podrían ser leídos por un atacante (aunque con la densidad de datos en los discos modernos, incluso una sola escritura es suficiente en estos días).
Alan Shutko
1
@AlanShutko solo si la unidad tiene cifrado de hardware. De lo contrario, SANITIZE BLOCK ERASE / ATA Secure Erase solo funcionaría como TRIM (o al menos, podría; hasta ahora, todos los SSD que he visto los tienen implementados de esa manera). La advertencia de usar comandos ATA para borrar "de forma segura" su unidad es igual a "confiar en sus proveedores" en eso.
Tom Yan
1
No parece que eso shred asegure que los datos se borren en SSD y para cada tipo de sistema de archivos. De su hombre CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. ¿Puede agregar las referencias sobre cómo funciona shred (qué comando envía) cuando funciona en una partición completa?
Hastur
1
@Hastur está hablando shredde archivos en un sistema de archivos, no cuando se trata de shreduna partición / disco.
Tom Yan
5

Desde esta página de archlinux sobre la eliminación de celdas de memoria SSD después de la página de borrado seguro ATA , se sugiere

  1. Paso 1: asegúrese de que la seguridad de la unidad no esté congelada
  2. Paso 2: habilite la seguridad estableciendo una contraseña de usuario
  3. Paso 3: emita el comando ATA Secure Erase

Algunos detalles más

  • Para el paso 1, puede verificar que la unidad no esté congelada con

    hdparm -I /dev/sdX
    

    Si la salida del comando muestra "congelado", uno no puede continuar con el siguiente paso. Algunas BIOS bloquean el comando ATA Secure Erase al emitir un comando "SECURITY FREEZE" para "congelar" la unidad antes de iniciar un sistema operativo.

  • Para el paso 2, lea [ 1 ] para la advertencia relativa a las computadoras Lenovo:

    hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
    

    y debería responder algo como

    /dev/sdX:
    Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
    

    luego para verificar de nuevo

    hdparm -I /dev/sdX
    
  • Para el paso 3:

    hdparm --user-master u --security-erase PasSWorD /dev/sdX
    

    Existe el parámetro --security-erase-enhanced para el borrado de seguridad mejorado. Se informa [ 1 ] que "Un corto tiempo (como 2 minutos) a su vez indica que el dispositivo se autocifra y su función BIOS borrará la clave de cifrado interna en lugar de sobrescribir todas las celdas de datos" , mientras que un tiempo solicitado más largo debería indicar Un dispositivo no encriptado.

    En dispositivos cifrados, se puede informar el mismo tiempo esperado para la opción --security-erasey --security-erase-enhanced. En este caso se supone que se utilizará el mismo algoritmo [ 3 ] . Tenga en cuenta que para el HDD normal, el parámetro mejorado , entre otras diferencias, debería sobrescribir incluso los sectores que ya no se usan porque desencadenaron un error de E / S en algún momento y se reasignaron. Debemos suponer que también actuará de la misma manera para el SSD, incluso porque el número de estos bloques no debería ser lo suficientemente grande como para reflejarse en una diferencia de tiempo mayor que un minuto. Lea más en esta respuesta sobre Security SE .

    En el caso de ejemplo de la página de borrado de celdas de memoria SSD , para el SSD Intel X25-M 80GB, sin embargo, se informa un tiempo de 40 segundos.

    Espere hasta que se complete el comando. Este ejemplo de salida muestra que tomó unos 40 segundos para un SSD Intel X25-M 80GB.

Nota: después de los 3 pasos, la unidad se borra y la seguridad de la unidad se debe configurar automáticamente en deshabilitada (por lo tanto, no se requiere una contraseña para el acceso).


Actualizar

Desde la página de borrado seguro de ATA :

Este procedimiento describe cómo usar el comando hdparm para emitir una instrucción Secure Erase ATA a un dispositivo de almacenamiento de destino. Cuando se emite un borrado seguro contra una unidad SSD, todas sus celdas se marcarán como vacías, restableciéndolas al rendimiento de escritura predeterminado de fábrica.

DESCARGO DE RESPONSABILIDAD: Esto borrará todos sus datos y ni siquiera podrá ser recuperado por los servicios de recuperación de datos.

Hastur
fuente
On occasion, users may wish to completely reset an SSD's cells to the same virgin state they were manufactured, thus restoring it to its factory default write performance.Eso es todo lo que hace, y "estado virgen" aquí NO significa que los datos se borren de forma segura.
Tom Yan
te perdiste --security-erase?
Hastur
Supongo que te refieres --security-erase-enhanced. Sabes qué, tengo el disco de ejemplo exacto (el maldito buen clásico X25-M gen1 / 50nm 80GB). No es compatible con el cifrado de hardware o TRIM. (Parece) admitir tanto el modo normal como el modo mejorado de borrado de seguridad. Ambos tienen el mismo tiempo estimado requerido (2 minutos). Ahora, supongo, ¿hacen algo diferente? : P
Tom Yan
1
@TomYan Puede leer la respuesta de un moderador por defecto del servidor que se refiere a las mismas especificaciones ATA en las que se basa la respuesta anterior. DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
Hastur
1
@MichaelHampton Es una oración informada desde la misma página de archlinux. Estoy de acuerdo con los 2 segundos para las teclas, incluso si dos minutos me parecen demasiado cortos para borrar todos los bloques, incluso si se trata de un comando interno (velocidad máxima de escritura 70 MB / s * 120 segundos ~ 8.4G = 1 / 10 de 80 GB). Además, en una respuesta en el sitio de seguridad SE dijeron: _ "2 minutos no son suficientes para sobrescribir todo el disco, por lo que si ese disco implementa algún" borrado seguro "real, debe ser con el mecanismo de cifrado" _. Si tiene alguna referencia al respecto por favor agregue, será útil.
Hastur
1

Dado que un SSD no se preocupa por la cantidad de pasadas de datos que ingresa (excepto que se desgasta más rápido), y la recuperación de datos no es posible después de una pasada completa (a menos que coloque datos en un espacio aprovisionado), solo escriba completamente con 1 eliminará todos los datos existentes.

El problema que enfrenta estará principalmente en el almacenamiento no accesible para el usuario, como cualquier espacio sobreprovisado utilizado para nivelar el desgaste, cualquier caché y posible NVRAM que pueda contener datos que identifiquen un sistema, sistema operativo o algo así.

Para borrar de forma segura un SSD, debe admitirlo explícitamente, y eso todavía es específico del controlador y del firmware. El uso de software de borrado seguro que fue diseñado para medios magnéticos no tiene sentido aquí, ya que la forma en que los datos se borran de manera segura básicamente no tiene relación entre el almacenamiento en estado sólido y el almacenamiento magnético. Con el almacenamiento magnético, teóricamente podría recuperar estados anteriores de bits, pero con la memoria flash, un bit realmente no puede tener un estado 'anterior' que pueda detectar. Tiene un 0 o un 1 y no un polo magnético con fuerza variable según los valores que tenía anteriormente.

Simplemente puse el PCB en una licuadora industrial, y luego el chip flash se convirtió en polvo. No obtener ningún dato de eso. La reventa de SSD usados ​​tampoco es realmente una cosa, ya que todavía no tienen una vida útil / patrón de uso tan conocido como el HDD. En el mejor de los casos, tienen datos SMART de "estado de uso".

John Keates
fuente
1

Si se trata de datos realmente importantes que nunca deberían recuperarse, ya no es seguro usar el disco.

Como otros han dicho, la sobrescritura no funciona en los SSD, y si el fabricante se equivocó en el cifrado (cortar esquinas para ahorrar dinero, incompetencia, etc.), incluso quitar la clave no ayudará.

Con vigencia inmediata, DSS ya no aprobará los procedimientos de sobrescritura para la desinfección o degradación (por ejemplo, liberación a controles de información clasificada de nivel inferior) de dispositivos de almacenamiento IS (por ejemplo, discos duros) utilizados para procesamiento clasificado.

Si trabaja con datos confidenciales (especialmente los que involucran al gobierno) necesita algo un poco más seguro. Recomiendo un soplete:

Fuente, CNET

Tim
fuente