jueves, octubre 29, 2009

Abrir ficheros seguros en Safari

Safari, el navegador de MacOS X, tiene un mecanismo que permite abrir ciertos tipos de ficheros de manera segura, sin preguntar al usuario si desea abrirlo o no. Fundamentalmente son archivos PDF, imágenes o archivos de música, que el Safari automáticamente muestra o interpreta sus contenidos. Esto se puede configurar a través de una opción en las preferencias: Si abrimos el cuadro de diálogo de configuración, y se pulse sobre el botón General:

Diálogo de configuración de Safari

Abrir archivos "seguros" al descargarlos

Si está seleccionada esta opción, Safari abrirá automáticamente los archivos que el considera seguro. Ahora, ¿Cómo se puede añadir otros tipos de ficheros?. Por ejemplo, si deseamos que se abran archivos de Word (.doc) o de Excel (.xls) de manera automática. ¿Cuál es el mecanismo que tiene Safari?.

Para ello, es necesario crear un fichero Property List, situado en el en el directorio ~/Library/Preferences, llamado com.apple.DownloadAssessment.plist. Este fichero es XML, y puede ser editado, con un editor de texto de manera sencilla. Así, por ejemplo, si queremos que los ficheros de Word (.doc) y Excel (.xls) que nos bajemos automáticamente se lance el Word y el Excel de manera automática, habría que crear el fichero com.apple.DownloadAssessment.plist, con el siguiente contenido

<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com-PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>LSRiskCategorySafe</key>
<dict>
<key>LSRiskCategoryExtensions</key>
<array>
<string>doc</string>
<string>xls</string>
</array>
</dict>
</dict>
</plist>

Si se tiene instalado las herramientas de desarrollo, este fichero se puede crear con ayuda del programa Property List Editor.app,que está en /Developer/Applications/Utilities

Implicaciones de seguridad

Hay que comentar las implicaciones y los riesgos de seguridad que implica hacer que el Safari abra automáticamente cierto tipos de ficheros. Por tres motivos.
  1. Si existe algún problema en el Safari que identifique de manera errónea un tipo de fichero, se puede ejecutar código disfrazado como un fichero inocuo. Hemos visto varios fallos graves de seguridad en Windows, donde el usuario cree que está abriendo un fichero de un tipo determinado e inocuo, pero realmente, está abriendo un fichero ejecutable que contiene un virus que infecta al ordenador.
  2. El programa que abra los ficheros puede tener problemas de seguridad (por ejemplo, supongamos que un visor de fotos o un reproductor mp3 que usar Safari, es vulnerable a la hora de interpretar un fichero de imágenes o un mp3 especialmente preparado). En este caso, el Safari podría estar lanzando un programa vulnerable de manera automática.
  3. No he probado si una mala configuración del Safari en este aspecto, puede lanzar automáticamente programas maliciosos servidos por un servidor web cuya seguridad esté comprometida.

Propiedades que se pueden modificar

  • LSRiskCategorySafe: Todos los tipos de fichero que estén en esta clave de la plist, se considerarán seguros y se abrirán automáticamente.
  • LSRiskCategoryNeutral: Todos los tipos de fichero que estén en esta clave de la plist, se considerarán seguros, pero no se abrirán automáticamente.
  • LSRiskCategoryUnsafeExecutable: Todos los archivos ejecutables pertenecen a esta categoría, son considerados no seguros por definición.
  • LSRiskCategoryMayContainUnsafeExecutable: Cubre todos los archivos contenedores, como los archivos de disco (dmg,iso), que podrían contener contenido peligroso.
Estas preferencias, almacenadas en el fichero ~/Library/Preference/com.apple.DownloadAssessment.plist, afectan tanto al comportamiento de Safari como de Mail, así que hay que tener cuidado a la hora de modificarlos por las consecuencias de seguridad que tiene.

No sólo se puede usar extensiones de fichero, sino también se puede usar tipos MIME que los identifican.

Referencias

  1. How to automatically open .torrent and other files in Safari.
  2. Changing the system’s default settings for html files (safe)
  3. Modifying Safari Safe File

Technorati Tags: ,

No hay comentarios: