Los
archivos .DS_Store se generan de forma automática en las carpetas del sistema Mac OS X, por defecto, en cualquiera de las carpetas que sean accedidas por
Finder de tu Mac. Este fichero se utiliza para guardar la configuración que el usuario realiza de sus carpetas, desde la colocación de los iconos hasta la forma de visualizar dicha carpeta. Comparándolo con Windows, este fichero sería el equivalente a
desktop.ini y
thumbs.db.
Sin embargo, como se contaba en
El lado del mal, cuando estos ficheros se encuentran en un servidor web pueden utilizarse para acceder al contenido de la carpeta como si hubiera un listado de directorios abierto haciendo un análisis forense del mismo, como ya explicamos en el artículo de
Analizar ficheros .DS_Store. Además, podrían demostrar que se ha borrado un determinado fichero en un carpeta o que un usuario accedió a una ubicación concreta, lo que puede ser un riesgo para la privacidad del sujeto.
|
Figura 1: Archivos .DS_Store descubiertos en servidores web a través de Google |
Evitar que se generen ficheros .DS_Store en servidores
Apple, conociendo este fallo de seguridad, publicó
un artículo que explicaba como se puede evitar la creación de estos ficheros cuando el equipo se esté conectando a ubicaciones remotas. Para ello hay que modificar las preferencias en el comportamiento de Finder cuando se conecte a una carpeta remota mediante el comando:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Esta ejecución lo que hace es añadir al fichero de preferencias com.apple.desktopservices.plist, que se encuentra en la carpeta Libreria/Preferencias dentro del $Home de cada usuario una clave para indicarle a Finder que no se deben crear estos ficheros en ubicaciones remotas. Si no se ha modificado ninguna propiedad aún, es probable que el fichero no exista, pero tras la ejecución del comando aparecerá.
|
Figura 2: Preferencias en el fichero com.apple.desktopservices |
Como se puede ver, los ficheros plist son codificaciones de archivos en formato .xml, y desde el propio Finder se pueden leer correctamente. Sin embargo, si se abren con un editor de texto se verán codificados. No tendrá efecto el comportamiento hasta que se reinicie la sesión de usuario.
Hay que recalcar que este cambio que se ha realizado en el comportamiento respecto a la creación de ficheros .DS_Store en ubicaciones remotas sólo afecta al usuario que lanzó el comando, por lo que si se quiere que todos los usuarios tengan el mismo comportamiento hay que copiar ese fichero a todas las carpetas de preferencias de todos los usuarios.
Borrado de todos los ficheros .DS_Store del sistema
Tras el cambio anterior ya no se crearán más ficheros
.DS_Store en remoto, pero sin embargo se seguirán creando en local. Es por eso que
Adobe propuso la creación de una tarea que busque y elimine todos los archivos
.DS_Store del sistema y los elimine. Para encontrar todos los ficheros
.DS_Store en tu sistema y eliminarlos, basta con utilizar el siguiente comando:
sudo find / -name ".DS_Store" -depth -exec rm {} \;
Eso los encontrará y eliminará, pero sin embargo, se seguirán creando acto seguido, por lo que esa tarea se tiene que ejecutar al cierre de sesión, o cada cierto tiempo. Adobe proponía esta última opción, modificando el fichero de tareas con el comando:
sudo crontab -e
y añadiendo una línea como la siguiente:
mm hh * * * usuario find / -name ".DS_Store" -depth -exec rm {} \;
donde en las cinco primeras columnas (mm hh * * *) se indica el minuto, la hora, el día, mes y año que se quiere ejecutar la tarea. Al ponerse un * en día, mes y año, se está configurando una taréa diaria que se va a ejecutar la hora y minuto que se establezcan en mm y hh. Como se puede ver, es necsario especificar una cuenta de usuario para ejecutar la tarea, y esta deberá tener permisos suficientes para acceder a todas las ubicaciones, por lo que es necesario utilizar una cuenta privilegiada de administración.
Borrar los ficheros .DS_Store de las ubicaciones extraibles
Hay que tener en cuenta que cuando se inserta un pendrive o un disco duro externo, estos ficheros .
DS_Store, junto con alguno otro, se pueden copiar también en los pendrives, por lo que deben ser tanmbien eliminados. Para esto, o bien se hace manualmente, o incluso se puede utilizar alguna herramienta que se encargue de tener cuidado de esto, como
BlueHarvest 4.
|
Figura 4: BlueHarvest 4 |
Visualización de ficheros .DS_Store
Lo más importante de todo, es conocer los riesgos, y darse cuenta de la importancia de tener controlada la creación de estos ficheros. Hay que tener en cuenta que, por defecto, son ficheros ocultos y que si no se ha configurado la visualización en Finder de todos los ficheros ocultos, muchos usuarios no saben ni tan siquiera de su existencia. Para visualizar todos los ficheros ocultos en Finder, basta con ejecutar los comandos:
defaults write com.apple.finder AppleShowAllFiles True
Killall Finder
O buscar los ficheros .DS_Store en la consola de terminal de tu sistema.
|
Figura 5: .DS_Store buscados por terminal |
Si conoces su comportamiento, sabrás controlar mejor cualquier posible fuga de datos por medio de estos ficheros
.DS_Store.