Borrado seguro para hacer irrecuperable la información de la PC

Por qué se realizan borrados seguros

Es habitual en empresas de todo el mundo —que se toman en serio la seguridad— el realizar borrados de información seguros a sus dispositivos de almacenamiento: cuando finaliza su vida útil, cuando se reutilizan los dispositivos, cuando los pendrives y los discos externos van de mano en mano, o cuando simplemente quieren cambiarlos por unos nuevos. 

El motivo, para las personas que trabajan en estos ámbitos, es claro: Todos sabemos que enviar un fichero a la papelera de reciclaje no es borrar la información, pero no todos saben que borrarlo de la papelera o vaciar la papelera tampoco es borrar la información, ni que se pueden recuperar los datos una vez borrados de este modo.
¿Por qué no se borra la información si le hemos dicho al PC que la borre?  
Imaginemos que queremos borrar un fichero con x cantidad de documentos con información sensible. Eso puede suponer un fichero de alrededor de 1 GB de tamaño. Moverlo de un disco a otro puede suponer cosa de 1 minuto; sin embargo, borrarlo es cuestión de medio segundo. Veamos qué es lo que ocurre en un sistema de ficheros NTFS:



                                                                     
                                                                     Entrada en la $MFT de un fichero en NTFS

Lo que estamos viendo es uno de los registros de 1024 bytes de longitud de la tabla maestra de ficheros, o la $MFT de un sistema de ficheros NTFS. El valor hexadecimal 0x0001 (recuadrado en little endian en el disco) indica al driver NTFS del sistema operativo que elfichero fotos_your_birthday.zip está activo, y, por tanto, tiene un espacio asignado y reservado. En la imagen se puede ver asimismo su nombre corto (en formato 8.3 que se mantiene por retrocompatibilidad) y su nombre largo, ambos recuadrados.
Cuando el fichero se manda a la papelera de reciclaje, no se modifica este estado. En Windows XP y anteriores, se modificaba el nombre corto, asignándosele uno del tipo DXYY.EXT, siendo D de deletedX la letra de la unidad (C, D…), YY un índice que empezaba por 01, yEXT la extensión del fichero. Pero nada más. Era el directorio especial $Recycle.bin o $RECYCLER el que se convertía en su padre, y eso es todo: el fichero seguía activo y con las mismas garantías de supervivencia. Sin embargo, si borramos el fichero directamente conShift + Del, o lo borramos de la papelera de reciclaje, cambia una cosa:


Entrada en la $MFT de un fichero borrado

Ahora, el flag ha cambiado al valor 0x0000, indicando al driver NTFS que ese fichero está borrado. El fichero en sí, ubicado en otra parte a la que apunta este registro, está intacto. El sistema operativo, por lo tanto, al navegar por su directorio padre, no lo mostrará, y, además, cuando haya que escribir un fichero que quepa en el “hueco” que ha dejado este fichero, no dudará en escribir en dicho hueco, sobrescribiendo todo o parte del contenido del anterior fichero, frustrando cualquier intento de recuperar los datos con herramientas que se basan precisamente en recorrer la $MFT en busca de ficheros con el flag a 0x0000.
Pues bien, el motivo de realizar un borrado seguro es precisamente que el utilizar técnicas de borrado convencionales como las que acabamos de mencionar no borra en absoluto los datos, sino que simplemente cambia flags que indican al sistema operativo que el fichero se ha borrado y que el espacio queda disponible, pero no borrado, para futuros ficheros.

Tipos de borrado seguro

Para asegurar que el contenido se elimina definitivamente de un dispositivo, se inventaron varios mecanismos, más o menos complejos, que principalmente se pueden dividir en dos clases:
  • Borrado seguro lógico. Consiste en la sobrescritura de todo el disco duro con algún patrón de bits, asegurando que toda la información anteriormente presente es pisada por datos nuevos.¿Toda? ¡No! Una aldea poblada por irreductibles galos…
  • Destrucción física. Se pueden combinar varias técnicas, siendo las más seguras las que sumergen el disco en medio de unatormenta de potentes impulsos electromagnéticos —de hasta 1 Tesla de densidad—, que destruyen literalmente toda la información contenida en los platos magnéticos.
Contra una destrucción física lo bastante potente, obviamente, no podemos hacer nada. El problema es que muy pocas empresas lo hacen así; la mayoría suele usar técnicas de borrado lógico, que no requieren de maquinaria especializada.
Dentro de las técnicas de borrado lógico, nos encontramos varios mecanismos y estándares, de los que destacaremos:
  1. U.S. Navy Staff Office Publication, NAVSO P-5239-2. Hace tres sobrescrituras: la primera compuesta por un patrón de un único byte, la segunda del byte complementario, y la tercera de un patrón generado pseudoaleatoriamente.
  2. El algoritmo de Bruce Schneier. Escribe en primer lugar todo 1’s, luego todo 0’s, y por último realiza cinco sobrescrituras con patrones pseudoaleatorios.
  3. El algoritmo de Peter Gutmann. Escribe, combinando sobrescrituras de las anteriores (patrón de bits, 1’s, 0’s, patrones pseudoaleatorios) hasta 35 pasadas por el disco.

 ¿Por qué tantas pasadas?

Los discos duros son aparatos mecánicos y, fundamentalmente, analógicos. Como tales, están sujetos a imprecisiones, vibraciones, y problemas típicos del mundo analógico y mecánico, como que juegan con niveles de señales eléctricas que, en los discos actuales, distan de ser claros y diferenciados unos y ceros. Además, las vibraciones propias del disco hacen que sea virtualmente imposibleescribir dos veces exactamente en el mismo sitio. Todo esto en su conjunto, sin entrar en mucho detalle, significa que:
  1. Las cabezas de escritura inyectan una señal electromagnética para escribir, que va a provocar que el registro magnético en cuestión se oriente hacia un lado o hacia otro.
  2. Si el registro magnético ya estaba orientado en el mismo sentido que se ha escrito, se acentúa dicho sentido de magnetización, hasta acercarse a un límite.
  3. Si, por el contrario, el registro magnético se trata de orientar en sentido contrario, el estado anterior contrarresta en cierta medida el pulso que se escribe, dando lugar a un nivel de señal más bajo.
  4. Si la nueva escritura no tapa completamente la escritura anterior, debido a vibraciones, el nivel de señal se verá afectado en la medida en que se acentúe la diferencia de las distancias.
  5. Por cuestiones físicas relativas a la atenuación de la señal debido a las altas frecuencias a las que funciona, y dado que es un sistema con cierta memoria, hay que tener en cuenta que influye en la escritura de cada registro lo que se ha escrito en los registro anteriores.
Por tanto, escribir varias veces en un disco disimula notablemente lo que hubiera escrito en el disco con anterioridad, dificultando enormemente la tarea.


Con una sola pasada ya no podemos recuperar datos del disco duro que se hayan sobrescrito

Lo cierto es que todo esto podría tener algo de sentido hace 30 o 40 años, cuando cada bit tenía el tamaño aproximado de una aceituna. En la actualidad, es teóricamente posible pero prácticamente inviable el sacar un osciloscopio o, ya puestos, un microscopio de fuerza magnética para recuperar los datos de un disco duro moderno, debido principalmente a tres factores:
  1. La densidad de bits es tal que solo con los microscopios de fuerza magnética más potentes del mundo se obtendría la resolución adecuada. Además, la señal ya hemos dicho que actualmente dista de ser “ideal”, por lo que se requeriría de un estudio aparte para buscar la mejor forma de analizar la señal recuperada.
  2. La técnica de escritura varía entre fabricantes, y entre discos duros de cada fabricante. Se utilizan distintas formas de registrar los datos (láminas monocapa o bicapa, y diversas técnicas de escritura, de las cuales algunas modernas utilizan fenómenos cuánticos como GMR), y distintas formas de codificarlos (RLLPRML, etc.), y lo que es peor, el fabricante no suelta prenda fácilmente y sería difícil saber por dónde empezar.
  3. Los bits no se escriben a pelo. Si tuviéramos un disco nuevo, escrito todo a 0’s, y todos los registros magnéticos estuvieran orientados de la misma forma, tendríamos un superimán entre nuestras manos, y las cabezas de lectura se volverían literalmente locas. Por ello, el propio disco duro tiene un mecanismo de dispersión de los bits, que hace que el disco duro sea casi como un átomo desde cierta distancia: magnéticamente neutro. Este mecanismo bien podría ser consecuencia de un algoritmo tipo RLL o un simple XOR con una clave escrita en la ROM del disco, pero los fabricantes tampoco dicen nada.
Con todo ello, lo que quiero decir es que con una pasada basta para que nadie actualmente pueda recuperar información de un disco duro. Treinta y cinco son realmente demasiadas.

Vía: Hard2bit.com/blog/