Búsqueda

viernes, marzo 30, 2007

«Forzando» discos duros

Carátula de la serie Mentes Criminales

Hace unas semanas que Tele 5 comenzó a emitir la segunda temporada de la serie Mentes Criminales. Recuerdo que cuando estrenaron la primera temporada, hace ya bastante tiempo, apunté mentalmente un detalle para comentar aquí, y que quedó olvidado en algún rincon de mi memoria; hasta ahora. En el primer episodio, los protagonistas deben resolver un caso de secuestro. En un momento dado, los protagonistas localizan la vivienda del secuestrador, pero la chica secuestrada se encuentra en otro lugar. Hace tanto tiempo que no recuerdo los detalles, así que no sé si el secuestrador no estaba, o fue malherido, o se resistía a hablar, pero la cuestión era que tenían que localizar a la chica con cierta urgencia, y tenían como única fuente de información el ordenador del secuestrador. Sin embargo, el secuestrador había protegido el disco duro de alguna manera, de forma que si no se introducía una contraseña correcta, se borraba toda la información. Y sólo disponían de un intento. Tras unos momentos de tensión y razonamientos, como los protas son psicólogos y estudian el comportamiento y todo eso, consiguen adivinar la contraseña correcta a partir de los datos que tienen del sujeto.

Bueno, obviamente, puesto que la serie trata de un grupo de analistas del comportamiento que desarrollan perfiles de criminales, y además era el primer episodio, había que mostar una solución en la que viéramos lo que son capaces de hacer con unos pocos datos. Sin embargo, existen mejores métodos, y más seguros, para extraer información de un disco duro protegido de esa manera.

Veamos, un disco duro no es más que un dispositivo que almacena información. Dentro de esa cajita con tornillos y etiquetas, hay unos discos físicos (normalmente 2 ó 4) donde se escribe y se lee la información (de forma magnética, sin tocar físicamente las caras de los discos). Y nada más. El hardware de un disco duro no hace mucho más. Para poder ser utilizado, al disco se le realiza un proceso (llamado formateo de bajo nivel) en el que se «crean las bases» donde guardar la información. Esto consiste en dividir cada cara de cada disco en pistas y sectores (geométricamente, una pista es una corona, y un sector es un sector circular), formando lo que se denominan bloques. Un disco duro sólo sabe leer y escribir datos (bytes) en bloques. No entiende de ficheros ni directorios. Eso son abstracciones que realiza el sistema operativo, de forma que cuando una aplicación quiere leer un fichero, el sistema localiza en qué bloques están los datos del fichero (que no tienen por qué estar contiguos), y le dice al disco duro que los lea y le devuelva esa información almacenada. Con la escritura sucede algo parecido: el sistema le dice al disco que sobreescriba algunos bloques, o busca bloques libres y escribe en ellos, o marca bloques escritos como disponibles.

Es importante hacer notar que cuando el sistema operativo borra ficheros, normalmente los bloques que lo componen no son borrados realmente, sino que únicamente los marca como libres, y se pueden recuperar mientras no se sobreescriban con datos nuevos. Esto se hace para ahorrar tiempo y alargar la vida de los discos, aunque existe software para borrar realmente los datos, sobreescribiendolos con basura. Esto puede ser útil si deseas impedir el acceso a información comprometedora, pero requiere más tiempo que un simple borrado.

Sin embargo lo más importante de todo es darse cuenta de que un disco duro no es más que una «caja tonta» de almacenamiento de datos. No es capaz de ejecutar nada, sólo de leer y escribir datos, según le digan. Ese sistema de seguridad que se menciona en la serie, o cualquier otro que podamos imaginar (como un sistema de permisos, en los que se limita a los usuarios la escritura o lectura de determinados ficheros y directorios), debe de ser necesariamente un software, que ejecuta el sistema operativo. ¿Y cómo saltarse todo eso? Pues de una forma muy simple: nos procuramos un destornillador, abrimos la caja del ordenador (apagado, claro, no es cuestión de que nos dé un calabre), extraemos el disco duro, y lo montamos en otra máquina. Podemos simplemente instalarlo en otro ordenador como disco esclavo, o en algún tipo de hardware especializado en recuperación de datos. Toda la información del disco está ahí, intacta y accesible.

Detalle de la página 3 del número 25 del manga IO, que muestra unas manos desatornillando la parte de abajo de un ordenador portátil, para acceder a su disco duro.

Curiosamente, estoy leyendo un manga llamado IO (que trata de unas misteriosas ruinas submarinas en Zamani, Okinawa), en el que se da una situación similar, y está bien tratada: unos desconocidos, para acceder a la información del disco duro de un portátil, lo extraen y lo sustituyen por otro para no despertar sospechas inmediatas, pudiendo analizarlo tranquilamente en otro lugar. Al igual que en otra ocasión, en un medio que mucha gente considera más infantil (consideración con la que no estoy de acuerdo en absoluto), se da un tratamiento más verídico y coherente.

Para proteger de verdad los datos, no hay que confiar en ningún «obstáculo» vía software, sino que hay que guardarlos cifrados. De esta forma, si uno no dispone de la clave para descifrar los datos, sólo obtendrá algo ininteligible. Pero fijáos que los datos siguen ahí. Se podrían intentar diversos ataques para descifrar el contenido, y si el algoritmo elegido es adecuado, sería inútil (se tardarían miles de años), pero los datos no se borrarían. Uno puede realizar todos los intentos que quiera, y fallar, que no pasaría nada. Una situación así, ciertamente sería igualmente tensa y dramática, pues en la serie había un límite de tiempo para localizar al chica secuestrada, y los protas tendrían que haber tirado igualmente de su psicología para adivinar la contraseña (suponiendo que se utilizara un sistema de generación de claves basado en contraseñas).

25 comentarios:

  1. Sin contradecir lo que dices, y desconociendo los detalles de la serie de la que hablas, si se podría matizar que es posible tener dispositivos de almacenamiento con una inteligencia asociada al mecanismo de acceso a datos (mediante firmware). De esta forma, sería el propio dispositivo, el que borrara la información en caso de acceso incorrecto, en vez del S.O. Evidentemente, esto implicaría que el ordenador dispusiera de un driver especial para saberlo manejar. No obstante el ataque de apertura y extracción de los discos magnéticos, siempre estaría disponible, a no ser, como comentas, que el propio dispositivo usara un mecanismo de cifrado de datos basándose, por ejemplo, en la misma clave de acceso.

    ResponderEliminar
  2. Es evidente que haciéndolo así es mucho más dramático! ;)

    Por cierto, la criptografía siempre me ha resultado interesante...

    ResponderEliminar
  3. ¿Y usar un sistema de arranque con un CD-live de GNU/linux?
    Luego montamos el disco y a partir de aqui podemos ir tocando lo que queramos.

    ResponderEliminar
  4. En realidad, es posible recuperar datos de discos duros aunque hayan sido borrados e incluso sobreescritos varias veces. Por supuesto que el software para lograrlo no esta disponible por ahi en cualqueir sitio warez.

    ResponderEliminar
  5. borra ficheros, normalmente los bloques que lo componen no son borrados realmente, sino que únicamente los marca como libres

    Según me enseñaron esto es cierto segun el sistema operativo, en concreto windows actua como tu dices, linux y tigger creo que si que los borran totalmente. Y unix los borra realmente

    ResponderEliminar
  6. Como siempre me ha encantado la explicación del error, pero a demás la solución alternativa que propones funciona mucho mejor narrativamente que la que aparece en el capítulo (según lo cuentas, porque no sigo la serie, aunque salga Íñigo Montoya).

    ResponderEliminar
  7. Me doy cuenta que no es una leyenda urbana lo que dice que se puede sacar información de cualquier disco duro, aun cuando la información haya sido borrada.

    ¿Existe alguna forma de borrar definitivamente los datos de un disco duro?

    ResponderEliminar
  8. Hacia tiempo que no tocaba las narices y ya me tocaba :).

    Es posible, con determinado software, que los datos del disco duro no sean más que basura.

    Me explico, existe un cifrado de bajo nivel que traduce lo que esta en el disco duro a información inteligible. Para ello necesita dos claves, que por poner un simil se pueden entender como una llave y una cerradura. La cerradura sería una clave incorporada al software y la llave una contraseña que se introduce al arrancar. No sería muy complicado que este "traductor" tenga, además, programado que se borre a si mismo cuando se produzca un intento fallido de acceso.

    Igualmente se podría realizar un ataque por fuerza bruta, pero sin trucos psicologicos que valgan. Esto les podría llevar algunas decadas.

    Por cierto, respondiendo a consumidor irritado, para borrar los datos de un disco duro definitivamente suele ser necesario grabar encima varias veces otra información. Pero para estar seguros al cien por cien, después de eso yo usaria un buen martillo.

    Un placer leerte, como siempre Alf.

    ResponderEliminar
  9. En Mac Os X " Tiger", puedes elegir entre 4 niveles de seguridad,
    1 borrar datos normal, se pueden recuperar muchas veces con programas normales,
    2 poner los datos a cero, ya no esta al alcance de cualquiera,
    3 Reescritura 7 veces, ¿te persigue la CIA?
    y 4 Reescritura 35 veces , Alguien va a dejarse el presupuesto del año en microscopio electrónico :)

    Así mismo te permite encriptar el contenido del disco con AES-128


    Pero si quieres destruir los datos de un disco, como comenta pesso no hay nada mejor que la destrucción física.

    ResponderEliminar
  10. Una pregunta: ¿Se puede recuperar los datos de un disco duro dentro de una PC que se incendo? O sea, se incendia una casa y la pc estuvo ahi, se puede recuperar, la pc quedo totalmente derretida.
    ¿Se puede?

    ResponderEliminar
  11. Hay discos duros con el cifrado integrado de los que no se puede extraer la informacion. No se si se habra alguno asi, pero tambien se podria inutilizar, como dice pesso, al n intentos de accesos invalidos.


    Tambien se podria mantener inaccesible una de las dos claves en firmare, para no perder los datos definitivamente y recuperarlos con otra contraseña como el sistema de PUK de los moviles.
    Los microcontroladores PIC tiene una opcion, que impide leer el programa que contiene, aunque se pueden usar y sobreescrbir sin ningun problema.

    Mas informacion sobre los discos duros cifrados

    ResponderEliminar
  12. De todas formas por mucho que bloquees el firmware del disco, utilizando uno de los sistemas de recuperación de información, que es desmontar el disco y poner en una mecánica nueva los discos metálicos originales, podrás acceder a los datos y a partir de ahí a descodificar :))

    Por cierto al que se le quemó el ordenador puede que le sirva este método, pero el precio suele ser sabroso y en general sin garantías

    ResponderEliminar
  13. Como ya han comentado anteriormente, es bastante sencillo recuperar datos de un hdd (si no eres un paranoico)
    Yo he llegado a recuperar datos de +15 formateos (el hdd empezo su andadura en el 1994 ) con el PC inspector file recovery
    Los hdd cifrados y demas, no se utilizan demasiado, ni siquiera las multinacionales.
    y como ya han dicho la forma mas fácil de evitar recuperaciones no deseadas es colocar en una superficie plana el hdd , a ser posible al aire libre y proceder a machacarlo con un mazo de no menos de 5 kilos...desestresa un "puñao"

    Saludos

    ResponderEliminar
  14. De todas formas en mi opinión el método de protección del disco por parte del secuestrador es una mierda (con perdón). ¿Qué pasa si el propio secuestrador se equivoca al meter la clave (por ejemplo, si tiene el Bloq. Mayús. dado sin querer o si le traba una tecla)? Es como si para proteger mi casa le pongo un mecanismo en la cerradura de la puerta que consiste en que si se mete una llave que no es, explota la casa. El primero que iba a pasarlo mal para acceder soy yo.

    ResponderEliminar
  15. Según me enseñaron esto es cierto segun el sistema operativo, en concreto windows actua como tu dices, linux y tigger creo que si que los borran totalmente. Y unix los borra realmente

    Si mal no recuerdo (me estoy fiando de la memoria), los distintos sabores de Unix no borran físicamente los datos necesariamente. En Linux, por ejemplo, me consta que (dependiando de la distribución y el sistema de ficheros utilizado), tienes la opción de borrar "lógicamente" (no borrar) y borrar físicamente (sobreescribe con ceros). Como curiosidad, en la versión que uso, esa opción aparece como "triturar".

    Fiándome nuevamente de la memoria, creo recordar que lo que ocurre es que en un sistema FAT (MS-DOS y los primeros Windows) es muy fácil recuperar datos si no te has cargado la tabla de asignación (la FAT en sí misma), ya que ni siquiera borra las entradas, sino que sólo sobreescribe el primer byte, por lo que toda la información de asignación de bloques está intacta. Incluso se puede recuperar el nombre original del fichero (salvo la primera letra).

    En Unix, en cambio, la recuperación de datos "borrados" requiere algo más de esfuerzo.

    ResponderEliminar
  16. Yo he tenido que lidiar con algún disco duro de portátil protegido por contraseña y... joer... ni jarto grifa.

    Algunos modelos se pueden resetear con un software especial usando una especie de clave maestra pero otros... tienen un sistema de bloqueo mecánico de cabezales o de autojodimiento, jeje.

    Q conste q la mejor solución (la misma q pensé yo) es la q dio, creo q javier, diciendo q se puede desmontar el disco, encasquetarlo en otra carcasa (con mucho cuidado) y a correr, aunque más simple aún sería sustituir la placa del disco duro, osease la controladora y listo ya que es la q lleva ese firmware y por tanto la protección.

    A menos q haya un tipo de identificación entre los datos y la placa o los cabezales y la placa... así se apañaría todo, y el FBI digo yo q se puede permitir una cosa asín.

    Salu2.

    ResponderEliminar
  17. ¿Reescritura 35 veces?
    ¿No quiere esto decir que mi disco duro podría almacenar en realidad 35 "datos" donde se supone que debería haber tan solo uno?
    ¿No significa a la larga que mi disco duro de 100Gb puede en realidad almacenar 3500Gb en teoría?
    Medio loco el asunto. Me recuerda a que hace años usabamos los discos flexibles por un solo lado, hasta que a alguien se le ocurrió hacerles un agujero adicional y descubrió que en realidad funcionaban por ambos lados, doblando su capacidad.

    ResponderEliminar
  18. También es ridículo que un tío que no quiere que accedan a su disco duro no haya previsto un sistema para evitar la extracción del mismo de la torre.
    En fin, estas series (CSI, House, la del artículo y unas decenas más) no aguantan un sólo análisis lógico, y menos uno científico, ya sea por incompetencia de los guionistas o por "evasión de la realidad" para realizar la ficción que mejor le venga a la historia. Por ejemplo, el otro día en uno de House le metía electroshocks a uno y como efecto secundario le borraban toda la memoria, cuando en realidad sólo se olvidan los días alrededor del tratamiento.

    Saludos.

    PD: joe, no sé qué pasa que no envía el comentario...

    ResponderEliminar
  19. Cgargu Ta-ty, reescritura 35 veces es escribir sobre el mismo byte 35 veces algo distinto (borrando cada vez lo anterior).

    Y esto se hace porque (explicado de forma simple), si tenemos un sector con la siguiente informacion: 0110-0101 y lo ponemos a 0000-0000, un analisis un poco más metódico presentaria diferencias entre el 0 que antes era 0 y el 0 que antes era 1, por lo tanto podriamos reconstruir la información.

    Pues así hasta 35 veces.

    ResponderEliminar
  20. a lo que se refiere Cgargu Ta-ty es que si se pueden recuperar datos reescritos varias veces, si vamos borrando y reescribiendo por encima a lo largo de varios años, y podemos recuperar lo que ibamos borrando, realmente nuestro HDD almacena lo actual mas lo de la pasada anterior mas lo de la anterior, mas lo de la anterior....

    ¿Es eso posible?

    ResponderEliminar
  21. Intentaré explicar un poco más lo de los datos sobreescritos.

    Imaginad que tenemos una palanca grande que puede estar en dos posiciones: arriba y abajo. Si sólo consideramos esas dos posiciones, podemos utilizar la palanca para almacenar un bit de información.

    Ahora, imaginad que la palanca es un poco dura, y que nos lleva mucho esfuerzo el moverla totalmente hasta un extremo. Al escribir un dato, le damos un empujoncito a la palanca en la dirección adecuada, pero no con suficiente fuerza.

    Si la palanca estuviese en la posición "abajo", y la empujamos hacia arriba, quedaría un poco más abajo que si ya estuviese arriba de antemano.

    Podríamos utilizar esas pequeñas diferencias para saber si la palanca estaba antes arriba o abajo.

    Intentemos ir más allá, para recuperar unas cuantas posiciones atrás. ¿Hasta dónde podemos llegar? ¿Cuánto sería nuestro error? Cuanto más intentemos retroceder en las "escrituras", más error tendremos.

    Seguramente las técnicas de recuperación de ese tipo se basan en estadísticas, y en el que el estado exacto de un bit dependa también del de sus "vecinos". No las conozco, pero deben tener cierto margen de error, ya que intentan obtener información fuera de los parámetros normales de operación de un dispositivo.

    ResponderEliminar
  22. La recuperación tras 15 formatos, creo que tiene una explicación más sencilla.
    El formateo, igual que el borrado normal, no sobreescribe todos y cada uno de los bits de información, con lo que queda mucho de donde recuperar.
    Para borrar por completo los datos, hay que sobreescribir todo el disco, o hacer un "poner los datos a cero".

    ResponderEliminar
  23. El borrado por escritura de ceros es suficiente para evitar que cualquiera con un programa de recuperación pueda obtener los datos. Sin embargo, extrayendo físicamente los platos del disco duro se puede analizar su contenido, y obtener prácticamente toda la información original.

    Imaginaos que tenemos el típico folio cuadriculado, donde pintamos con un lápiz en algunas casillas, y dejamos otras en blanco. Las casillas pintadas son un '1', y las que están en blanco representan un '0'. Aunque pasemos una goma de borrar, las casillas pintadas no llegarán a quedar nunca completamente blancas. Aunque el disco duro las interprete como borradas porque no son oscuras, un observador externo podría ver que tampoco son completamente blancas, y suponer que antes había un '1' en ellas. De esta forma se puede recuperar la información tras un borrado por ceros. Además en los discos duros, la escritura en un sector concreto también afecta magnéticamente a los sectores colindantes, por lo que se puede obtener más información útil para hacer la recuperación de los datos.

    Respecto a tener un disco duro con clave, tengo entendido que la especificación ATA soporta establecer una clave por hardware, almacenada y controlada por la propia electrónica del disco duro, que sería necesario suministrar para acceder a sus datos. Esto evita que los datos sean accesibles con solo pinchar el disco en otro ordenador. Eso sí, lo de que se borren los datos automáticamente tras el primer intento sí que es de película.

    No obstante, aunque el disco duro tuviera realmente el comportamiento descrito en la serie, hay más soluciones interesantes al problema:

    1. El borrado no es instantáneo, y de hecho escribir todo el disco con ceros llevaría un buen rato (minutos, quizá horas). Se podrían realizar varios intentos de entrada al sistema apagando el PC inmediatamente después de cada intento.

    2. Seguro que el modelo de disco duro del malo de turno no es un diseño exclusivo. Nada más fácil que conseguir un disco duro idéntico y cambiarle la electrónica. No será la primera vez que hago algo así para recuperar información de un disco aparentemente dañado.

    Un saludo.

    ResponderEliminar
  24. También se podría usar un S.O arrancable desde CD, DVD, USB, BIOS ... y no hay que estar extrayendo componentes de la carcasa :)

    ResponderEliminar
  25. Cuantas veces se nos ha pasado por la cabeza que se estropea el ordenador y que tenemos que hacer una copia de seguridad cuanto antes. Nadie ni núnca se esta a salvo de una eventual pérdida de datos de discos duros de ahí la importancia de un buen sistema de copias de seguridad. Esta es la mejor forma de recuperar su informacion en un momento de desastre que generalmente coincide con las prisas a la hora de utilizar el sistema. Y si a pesar de todo es necesario una recuperacion de datos ó recuperar el disco duro porque no teníamos las copias actualizadas, le recomendamos consulte con una empresa especializada como es el caso de www.lineared.com en dónde le podrán recuperar los datos ó llevar a cabo la recuperacion del disco duro.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.