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 ...
fuente
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í .
fuente
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.
fuente
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.
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.
fuente
secure_erase
comando 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.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).
fuente
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.
fuente