En estos tiempos que corren no creo que nadie se extrañe por decir que los ficheros eliminados de un sistema se pueden recuperar. De manera muy breve, diremos que cuando se elimina un fichero, lo único que se pierde es el acceso al mismo, es decir, se marcan los clúster o bloques como disponibles, pero el contenido íntegro del fichero sigue estando en el disco duro, pendrive, tarjeta de memoria o cualquiera que sea el medio de almacenamiento hasta que sea sobrescrito. Si hacemos el típico símil con una biblioteca, al eliminar un fichero, lo único que se destruye es la ficha que nos apunta hacia el libro en la estantería, pero el libro sigue en el mismo sitio y si somos meticulosos y pacientes, acabaremos por encontrarlo.
Independientemente de si al borrar seleccionamos enviarlo a la papelera de reciclaje o eliminarlo de manera permanente, el fichero en ninguno de los dos casos desaparecerá del soporte de almacenamiento.
Las razones por las que los Sistemas Operativos se comportan de esta manera son eficiencia y rapidez. Eficiencia por el hecho de no sobrescribir un conjunto de datos inútilmente, que más tarde se sobrescribirá para utilizarse con otro fichero y rapidez ya que cambiar los descriptores de un bloque o clúster y marcarlo como disponible es prácticamente inmediato.
Por ello, a la hora de destruir información que por su naturaleza nos comprometa de alguna manera o simplemente no queramos que salga nunca a la luz, debemos utilizar una herramienta de borrado seguro de ficheros para garantizar nuestra privacidad. En sistemas MS Windows, existe una idea incorrectamente extendida y es pensar que con hacer un formateo lento del dispositivo, éste es borrado de manera segura. Esto es rotundamente falso y lo único que hace a diferencia del formato rápido es una comprobación de los sectores del disco para marcar los incorrectos y que éstos no sean utilizados.
Para llevar a cabo un borrado seguro necesitamos utilizar una herramienta que “sobrescriba” el área de datos donde estaba almacenado el fichero a eliminar. Este tipo de herramientas lo que hacen (básicamente) es escribir un número finito de pasadas sobre el área de datos a eliminar, de manera que si intentamos recuperar los ficheros originales, nos encontraremos bien con un patrón de datos aleatorios sin sentido o simplemente con “ceros”. Aún así, no vale con sobrescribirlos una sola vez, en función del nivel de seguridad que queramos otorgar a los datos, haremos más o menos pasadas.
En la siguiente imagen, vemos un resumen de los principales algoritmos estándar de borrado seguro.
La seguridad siempre es importante, aunque no debe convertirse en una obsesión, sobre todo si no tenemos secretos de estado que ocultar. Pero hay que tener en cuenta que nunca se nos olvide borrar de forma segura un disco si, por ejemplo, lo vamos a vender de segunda mano o a regalar a un amigo. Este hecho es extensible para móviles, tarjetas de memoria, pendrives, etc. porque nunca se sabe dónde pueden aparecer nuestros datos más personales el día de mañana.
Aunque hay multitud de herramientas, éstas son algunas recomendaciones para los distintos sistemas:
- GNU/Linux: Shred.
- MS Windows: Eraser.
- MacOS: Srm.
- Android: Secure Delete.
Muy buen artículo David.
¿Sabes si las herramientas que propones borra la información de clusteres ocupados?
Lo que se conoce normalmente como “slack data”
Gracias.
Sobre este tema vale la pena echarle un ojo a:
‘The broken file shredder Programming traps and pitfalls’ de Wietse Venema
http://www.first.org/conference/2007/papers/venema-wietse-2-slides.pdf
donde se meten incluso en la parte física del borrado de datos.
Buenas tardes J.J
En relación a tu pregunta, he estado revisando documentación y te respondo:
Para el caso de Eraser (S.O Microsoft), Posee una opción que borra todo el slack space disponible en el disco duro de cada cluster afectado. Para más info visita este enlace:
https://uwnthesis.wordpress.com/2012/09/04/secure-delete-eraser-wipe-all-free-space-including-cluster-tips/
Respecto al caso de shred, se trata de una utilidad que elimina ficheros individuales, sobreescribiendo por defecto también el slack space de los bloques utilizados por el fichero.
Para sobreescribir completamente el espacio vacío del disco duro en linux puedes utilizar las siguientes instrucciones:
dd if=/dev/zero of=zero.small.file bs=1024
cat /dev/zero > zero.file
rm zero.small.file
rm zero.file
Respecto a Android y MacOS no lo sé a ciencia cierta como funcionan. Lo investigaré y te responderé.
Como consejo final, la mejor manera de proteger ante recuperaciones de ficheros es cifrar el disco duro entero y utilizar herramientas de borrado seguro como las mencionadas anteriormente. En el caso de que intenten recuperar ficheros, únicamente recuperarán datos cifrados que además habrán sido sobreescritos por dichas herramientas.
Un Saludo.