En los discos duros, un "formato rápido" no hace nada a los datos reales en el disco, simplemente borra la FAT (tabla de asignación de archivos), que luego aparece como un "disco en blanco" para el usuario. Por lo tanto, es bastante fácil ignorar la FAT y leer esos datos. Aunque es complicado leer datos específicos , ya que no hay indicadores de dónde comienza y termina un archivo en particular. Algunos comandos de formato incluso guardan una copia de seguridad de la tabla FAT, y la restauración de esta copia de seguridad se manifiesta como la función "desformatear".
Un formato largo de un disco duro restablece la mayoría de los datos, lo que parecería eliminar la posibilidad de leer dichos datos, excepto por una característica inherente a los medios de almacenamiento magnético: la histéresis . Cuando se establece o borra un bit en un disco duro, el proceso no es 100.00% preciso, ya que los medios muestran histéresis. Por lo tanto, queda una pequeña cantidad de magnetismo residual de la operación anterior, y ciertas herramientas de software se pueden usar para escanear áreas del disco (muchas veces) para leer esa fracción de un porcentaje de magnetización latente y "recuperar" estos datos sobrescritos.
Pero, ¿cómo les va a las memorias no volátiles de estado sólido de hoy? ¿Memorias USB, SSD, NAND Flash? La única información relevante que pude encontrar sobre su seguridad y vulnerabilidad está en este artículo de Wikipedia que dice:
Además, los archivos eliminados en SSD pueden permanecer por un período de tiempo indefinido antes de que se sobrescriban con datos nuevos; Las técnicas o el software de borrado o trituración que funcionan bien en las unidades de disco duro magnéticas no tienen ningún efecto en las SSD, lo que compromete la seguridad y el examen forense.
¿Esperar lo? Estas parecen ser dos declaraciones completamente diferentes: la primera implica que los formatos largos nunca se realizan y, por lo tanto, Flash siempre es susceptible a la vulnerabilidad de mi primer párrafo. Esto no puede ser, ¿verdad? Como puedo "formatear mucho" una memoria USB o SSD, o indicarle a un uC que sobrescriba cada bloque de un NAND Flash. Y dado que la nivelación de desgaste coloca los bloques de forma algo aleatoria, supongo que los bloques que se sobrescriben también son bastante aleatorios. Entonces, quizás no se sobrescriba todo el archivo a tiempo, pero parece muy probable que parte de él.
También dice lo erasure or shred techniques do not work on Flash
que encuentro difícil de creer. Siempre que se sobrescribieran todas las unidades de asignación, eso haría que los datos fueran completamente irrecuperables, ¿correcto?
Cómo se aplica esto a EE.SX: imagine una NAND Flash con varios pares de claves criptográficas. Si se abre el chasis, el dispositivo se borra, por lo que nadie puede "obtener" las llaves. Pero, ¿es suficiente un "borrado"?
Dicho esto, ¿son las memorias flash no volátiles susceptibles a cualquier tipo de técnica de recuperación de datos? ¿ Hay alguna histéresis de campo eléctrico para aprovechar para recuperar datos sobrescritos?
El problema con el borrado seguro es que el dispositivo tiene una capa de traducción. En un disco, escribir en el sector Y del cilindro X siempre sobrescribirá la misma área. En un SSD, el firmware del dispositivo mantiene una lista de bloques en blanco y escribe en el siguiente disponible, manteniendo una tabla que asigna direcciones lógicas a bloques flash reales. Por lo general, hay un poco más de memoria flash que la capacidad indicada como repuestos, por lo que es posible que una escritura completa no toque todos los bloques. Borrar bloques es lento, por lo que no se borran inmediatamente, y tal vez no se borran hasta que queda poco espacio.
El firmware de la unidad puede ofrecer tres posibles soluciones a esto. Uno es TRIM: decirle a la unidad qué bloques no tienen datos del sistema de archivos y dejar que los borre de forma preventiva. Uno es un comando específico de "borrado seguro", que en realidad debería borrar todos los bloques (pero lleva mucho tiempo). Y uno es el cifrado transparente a nivel de bloque, en el que al pedirle a la unidad que deseche la clave, se pierden instantáneamente todos los datos. Sin embargo, eres rehén de lo bien que se ha implementado y puede haber errores.
No estoy al tanto de las técnicas para recuperar datos de celdas flash que realmente se han borrado. (De hecho, puede perder bits espontáneamente, por lo que la corrección de errores está integrada).
Eugenio Sh.
Robherc KV5ROB
Asmyldof
tubo
DoxyLover
rdtsc