¿Cómo eliminar de forma segura los archivos almacenados en un SSD?

27

De un artículo (muy largo, pero definitivamente vale la pena leer) sobre SSD :

Cuando elimina un archivo en su sistema operativo, no hay reacción de un disco duro o SSD. No es hasta que sobrescribe el sector (en un disco duro) o la página (en un SSD) que realmente pierde los datos. Los programas de recuperación de archivos usan esta propiedad para su ventaja y así es como lo ayudan a recuperar archivos borrados.

Sin embargo, la distinción clave entre HDD y SSD es lo que sucede cuando se sobrescribe un archivo. Mientras que un HDD puede simplemente escribir los nuevos datos en el mismo sector, un SSD asignará una página nueva (o utilizada previamente) para los datos sobrescritos. La página que contiene los datos ahora no válidos simplemente se marcará como no válida y en algún momento se borrará.

Entonces, ¿cuál sería la mejor manera de borrar de forma segura los archivos almacenados en un SSD? La sobrescritura con datos aleatorios a los que estamos acostumbrados desde discos duros (por ejemplo, utilizando la utilidad "triturar") no funcionará a menos que sobrescriba TODA la unidad ...

c089
fuente

Respuestas:

22

¿Qué hay de cifrar el volumen en sí? Los datos eliminados seguirán estando allí, pero nadie debería tener acceso a ellos sin la clave correspondiente.

teabot
fuente
Es curioso que no haya pensado en eso, ya que siempre uso el cifrado LUKS en mis discos duros de todos modos;)
c089
Como se indicó aquí, esto tendrá graves impactos en el rendimiento. Con las unidades basadas en SandForce, el uso de borrado seguro ATA borrará la clave de cifrado AES, proporcionando una solución al problema de borrado seguro cuando no se utiliza el cifrado de software.
c089
12

Si la unidad SSD admite el conjunto de características del modo de seguridad ATA, entonces tiene una funcionalidad de borrado seguro incorporada, a la que debería poder acceder usando algo como Borrado seguro, documentado aquí y aquí .

bk1e
fuente
2
+1 para el conjunto de funciones del modo de seguridad ATA. Hay un buen video sobre esto en SecurityTube.net
RJFalconer
2
Pero esa característica es solo para unidades completas también, ¿no?
c089
@ Chris089: Eso es correcto: el borrado seguro borrará todo el disco. No se garantiza que sobrescribir todo el disco con datos aleatorios para borrar todo el disco, debido a la falta de aprovisionamiento. (Pero podría hacer que algunos de los datos no borrados sean inaccesibles para los usuarios comunes, al menos). Consulte anandtech.com/storage/showdoc.aspx?i=3531&p=9 para obtener más información.
bk1e
Tenga en cuenta que se ha encontrado que las unidades (más antiguas) no implementan esta función como debería. También debería funcionar para HDD, pero en SSD tiene la ventaja de que en realidad puede terminar en segundos en lugar de horas.
Maarten Bodewes
Un problema frustrante con Secure Erase es que muchas unidades requieren que apague y encienda físicamente (desenchufe el conector de alimentación y vuelva a enchufarlo) para que salgan de su estado de "seguridad congelada". Solo entonces funciona el borrado seguro. No siempre es fácil o deseable tener que abrir su PC, especialmente cuando se trata de una computadora portátil o peor sistema integrado.
misha256
10

Incluso si sobrescribe toda la unidad, no puede estar absolutamente seguro, ya que tanto las HD como las SSD contienen sectores de repuesto que se sustituyen cuando ocurren fallas , o en el caso de las SSD para ayudar a nivelar el desgaste .

Si desea estar absolutamente seguro de que los datos se han recuperado irreparablemente, debe destruir físicamente el disco más allá de la recuperación. La sobrescritura le brinda una certeza razonable en HD: en SSD, no hay realmente una manera de lograrlo. Si llena todo el disco, aún es posible que el bloque en el que estaban los datos se haya cambiado a un bloque de repuesto para nivelar el desgaste y reaparezca más tarde.

Michael Borgwardt
fuente
No se puede votar a favor todavía, pero la respuesta de borrado seguro invalida este argumento. Por supuesto, si no desea confiar en el borrado seguro del fabricante, entonces destruir físicamente el flash es una opción. Pero asegúrese de incinerarlo o romper todos los chips, el flash es muy resistente.
Maarten Bodewes
Tenga en cuenta que esta es una vieja respuesta; a estas alturas, la BORRADO SEGURO debería ser compatible con la mayoría de las unidades, si no todas, incluidas la mayoría de las unidades de disco duro.
Maarten Bodewes
1
Borrado seguro borrar todos los SSD. Pero no separe el conjunto de archivos o partición
Mikhail Moskalev
9

Debido a la naturaleza de la memoria flash NAND, los SSD no pueden sobrescribir directamente los datos. Sobrescribir repetidamente un archivo antes de eliminarlo no lo borrará de forma segura en un SSD: los datos simplemente se escribirían en otra parte de la NAND.

Para entender por qué este es el caso, es necesario explicar cómo funcionan los SSD en el interior.

  • La memoria flash NAND se divide en bloques , cada uno de los cuales consta de un conjunto de páginas que suelen tener un tamaño de 4 KB (más códigos de corrección de errores). La mayoría de los SSD modernos usan NAND con bloques de 128 páginas para un tamaño de bloque de 512 KB, aunque algunas unidades, especialmente las más antiguas, pueden usar bloques de 256 KB o más pequeños. El siguiente diagrama supone bloques de 256 KB, pero el concepto es el mismo independientemente del tamaño del bloque.

Diagrama de páginas en un bloque NAND
Fuente - Cortesía de Music Sorter en Wikipedia, CC BY-SA 3.0

  • Cada página puede escribirse individualmente, pero las páginas no pueden reescribirse hasta que se borren, y el borrado solo se puede hacer en bloques enteros. Esto significa que cada vez que se reescriben los datos, el SSD debe marcar los datos en las páginas afectadas como inválidos y reescribirlos en otro lugar, posiblemente en un bloque diferente. En un momento más apropiado, idealmente cuando la unidad está inactiva y todas las páginas de un bloque están marcadas como no válidas, la SSD puede borrar bloques que ya no están en uso. Este proceso de limpieza se llama recolección de basura .

  • Para que el SSD sepa qué bloques se pueden borrar, el sistema operativo debe indicar qué bloques ya no contienen datos válidos. Esto se hace usando el comando ATA TRIM . El SSD es libre de recolectar basura esos bloques no utilizados.

Los SSD intentan distribuir las escrituras de manera uniforme sobre la NAND para evitar fallas prematuras, un proceso que depende del espacio libre disponible para la unidad.

  • Cada bloque NAND solo puede mantener un número finito de ciclos de escritura / borrado. Muchos de los SSD de grado de consumo actuales usan NAND de 19-21 nm, donde cada bloque es bueno durante aproximadamente 3,000 ciclos antes de quedar inutilizable, aunque los SSD de empresa y varios SSD de consumo de gama alta que usan tipos de NAND más duraderos están disponibles comercialmente.

  • Sin embargo, en todos los casos, los SSD deben extender las escrituras en todo el disco para evitar el desgaste indebido en cualquier bloque para evitar una falla prematura del disco, a través de un proceso llamado nivelación del desgaste . La nivelación eficiente del desgaste solo se puede lograr si hay una cierta cantidad de espacio ( sobreaprovisionamiento ) reservado para permitir una recolección de basura eficiente según sea necesario, incluso si la unidad está casi llena.

  • En condiciones extremas en las que se le pide al SSD que escriba datos más rápido de lo que puede borrar bloques antiguos (común en las cargas de trabajo del centro de datos con gran cantidad de escritura), puede verse obligado a reescribir los datos en un bloque en otro bloque, luego borrar el bloque viejo inmediatamente para dar paso a nuevos datos, antes de que haya tenido la oportunidad de realizar la recolección de basura.

  • La reescritura forzada de un bloque es menos que ideal porque degrada el rendimiento y contribuye a la amplificación de escritura , donde se escriben más datos en la NAND subyacente que la cantidad real que se le indica al disco que escriba. El sobreaprovisionamiento agregado ayuda a mitigar la amplificación de escritura al proporcionar más espacio libre para reescribir datos y borrar bloques antiguos. Esta es la razón por la cual los SSD empresariales de gama alta como el Samsung SSD 845DC PRO vienen en tamaños como 200 GB y 400 GB, aunque el disco realmente contiene más cerca de 256 o 512 GB de NAND en su interior, respectivamente. Ver también: ¿Por qué los SSD tienen tamaños extraños?

  • La serie de documentos técnicos SSD de Samsung proporciona una explicación detallada del funcionamiento interno de los SSD. La escritura y el borrado de páginas y bloques NAND y la recolección de basura se explican en el documento técnico 04 .

La única forma de borrar realmente los datos en un SSD es usar los comandos de borrado seguro ATA.

  • Secure Erase le indica a la unidad que borre todos los datos almacenados, incluidos los datos que pueden permanecer en las regiones NAND sobreaprovisionadas. Todos los bloques se borran cuando se hace esto, lo que da como resultado una unidad impecable.

  • En unidades con capacidad de autocifrado, Secure Erase se puede implementar simplemente limpiando la clave de cifrado. Dado que los datos en el NAND de una unidad cifrada no se pueden leer sin la clave, no es necesario borrar todos los bloques, ya que sería necesario en una unidad no cifrada.

bwDraco
fuente
Tenga en cuenta que no todas las unidades implementan correctamente los comandos de borrado seguro. Si todavía desea usar la unidad, eso podría ser lo mejor que puede hacer si no tuvo la previsión de cifrar desde el principio. Si desea deshacerse de la unidad, debe destruirla físicamente, especialmente los chips flash.
Bob
Si se requiere destrucción física, abriría la unidad y destruiría la PCB subyacente.
bwDraco
@Bob ¿Tiene un enlace a una fuente que discute la implementación incorrecta? El secure_erasecomando es parte del estándar ATA. Es posible que no esté presente en algunas unidades más baratas, pero si está allí, debería funcionar correctamente. La razón por la que funciona mejor que otras opciones es porque restaura la unidad a su configuración original de fábrica. Incluso en discos duros es más rápido y más efectivo que herramientas como DBAN.
Paul
@Paul security.stackexchange.com/questions/41676/… , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/… No hay absolutamente ninguna garantía de arbitrario El firmware de la unidad implementa correctamente cualquier comando dado (los errores pueden ocurrir en cualquier lugar), y las pruebas han demostrado que al menos algunas unidades definitivamente no lo hacen. Al final del día, el mayor problema es que realmente no puede verificar la eliminación correcta.
Bob
1
Como no podemos hacer una declaración general / garantía de éxito, debemos asumir que al menos algunas unidades no lo implementan correctamente. Si suponemos que algunas unidades no lo implementan correctamente, lo más seguro es asumir que ninguna unidad lo implementa correctamente hasta que se demuestre lo contrario. Y no es fácil de probar: el borrado puede parecer correcto para usted, al tiempo que retiene información en los chips flash por todo lo que sabe, lo que significa que siempre debe destruir físicamente para cualquier cosa realmente sensible.
Bob
6

Según lo indicado por @teabot, el uso de software de cifrado de disco completo evitará el problema de la eliminación segura porque ya no tiene que hacerlo. Sin embargo, como se indicó en una pregunta relacionada , esto tendrá un gran impacto en el rendimiento porque evita muchas de las características del controlador, como la compresión y el TRIM, y se ha informado que disminuye el rendimiento hasta un nivel en el que un disco duro normal es más rápido que el costoso SSD Para los dispositivos basados ​​en SandForce, hay una mejor solución: esos dispositivos hacen el cifrado AES de forma predeterminada y la clave se borrará cuando use la función de eliminación segura de ATA, haciendo que todos los datos sean inaccesibles a menos que el atacante pueda romper AES (128 bits para actual, 256 bits para las nuevas unidades lanzadas en marzo de 2011).

c089
fuente
1
Sin embargo, no parece haber una solución para eliminar de forma segura solo unos pocos archivos. Tienes que borrar todo el disco.
c089
3

Como pensabas, limpiar todo el espacio libre para asegurarte de que los bloques que solían contener los datos se borren es la única manera de estar seguro. Bueno, aparte de quitar un sitio nuclear de la órbita ...

Esto consumirá bastante tiempo y reducirá la vida útil de los chips flash, si usa una trituración de varias pasadas.

La otra forma de proteger los datos eliminados es almacenarlos encriptados en primer lugar usando un sistema de archivos encriptado usando algo como truecrypt.

David Spillett
fuente