Buenas prácticas: Prevención de ataques a través de PDFs

Está claro que la moda últimamente es la distribución de malware/explotación de vulnerabilidades mediante ficheros PDF. De los productos de Adobe salen unas 200 vulnerabilidades al día (ojo, dramatización, este dato no está basado en ninguna estadística...), y si hace unos años el peligro venía en forma de ficheros .vbs, .ppt, .scr que llegaban a nuestros correos, ahora hay que tener cuidado con este formato de documentos y concienciarnos sobre ellos.

Y ya no sólo porque se nos instale en nuestro sistema un maravilloso servicio que pueda pertenecer a una superbotnet; es que podría convertirnos en la perfecta pasarela desde Internet a nuestra red corporativa, y da igual que seas Google

Por ello, después de comprobar que no es suficiente con tener nuestro Adobe Acrobat actualizado a la últimísima versión, que se nos actualice silenciosamente, y tras estar cansados de leer siempre que se ha descubierto que se está explotando una vulnerabilidad "in-the-wild" (activamente, sin que nadie se entere salvo dos o tres personajes...), en SearchSecurity nos recopilan una serie de buenas prácticas, enfocadas sobretodo al mundo corporativo (aplicables también a nuestros equipos personales), para prevenir estos ataques mediante PDFs, o por lo menos, que en caso de que se exploten mediante vulnerabilidades del producto no reportadas, que el riesgo o impacto sea mínimo y no se vea comprometida toda una infraestructura. Punto por punto de dicha recopilación, intentaremos ampliarlo con un poco más de información al respecto:
  • Únicamente confiar en archivos PDF que provengan de fuentes conocidas
Es algo que siempre se intenta transmitir, cayendo en comentarios del tipo "eso es muy fácil decirlo, pero, ¿y si comprometen la dirección de correo electrónico de mi compañero? ¿o del proveedor? ¿o de mi cliente?". Nunca está de más comprobar que realmente se espera un documento del remitente, y en caso de resultar sospechoso, comprobarlo telefónicamente o con otro correo electrónico como respuesta (aunque igual de esa cuenta de correo no podemos esperar nada bueno...).

Si lo habitual es la distribución de los informes por su parte en .doc o .docx por ejemplo, sería un poco extraño que de repente se adjunte un .pdf. Si viene por parte de un compañero, que incluso podría sentarse a 3 metros de tu sitio, y se supone que el fichero incluye las fotos de su último viaje a Cancún (que no ha hecho), un poema gracioso sobre política (que te lo podría recitar en la hora del café), o fotos del mundial y de vuvuzelas (que te las enseñe en su equipo), evitar abrirlo, se puede seguir viviendo sin problemas, no es indispensable.
  • No visitar enlaces web a ficheros .pdf y y protección frente a direcciones peligrosas
El comportamiento habitual es que el navegador invoque a Adobe Acrobat para la lectura del fichero desde el propio navegador, pudiendo comprometerlo. No hay excusa frente a correos del tipo "como informe es heavy, mejor le dejado uploaded en nuestro almasen online de documentos...de Rusia...si no possible to acceder, go a este de China...por cierto ganó 1 millón de libras". Si aún así, alguna persona hiciese clic en este enlace del correo, se debería contar con un software antivirus capaz de analizar URLs que pudiesen resultar maliciosas antes incluso de llegar a acceder a ellas. 
  • Manejo de ficheros PDF por parte del navegador
Al hilo del punto anterior, trataremos a continuación como poder evitar que, automáticamente, el navegador abra el fichero PDF directamente, y proceda a su descarga, dónde podría ser analizado.

En las propias preferencias de Adobe AcrobatEdición -> Preferencias, en la categoría Internet, podremos desactivar la casilla Mostrar PDF en explorador.


También es posible llevar a cabo una serie de acciones en los propios navegadores. Ahora distinguiremos estas acciones a seguir para cada uno de ellos, aunque al final sabemos cual es el navegador corporativo en la mayoría de entornos...
  1. Internet Explorer
    1. Mediante el registro de Windows, en caso de poder acceder a él, modificarlo, etc, únicamente tendríamos que modificar la clave HKEY_CLASSES_ROOT\AcroPDF.PDF.1\EditFlags y dejarla con el valor 00 00 00 00



    2. Accediendo a Herramientas -> Administrar complementos, podremos desactivar todos los plug-ins referentes a Adobe PDF.
  2. Mozilla Firefox
    1. En el menú de Herramientas -> Opciones -> Pestaña Aplicaciones, estableceremos "Preguntar siempre" en los ficheros PDF, evitando así su apertura directa.



    2. Es posible utilizar en su lugar, por comodidad, complementos que actúan como visor de documentos de tipo PDF u otros utilizando por ejemplo el visor de documentos mediante Google sin abandonar obviamente el navegador para su lectura.
  3. Google Chrome
    1. Este navegador directamente descargará los ficheros PDF sin abrirlos directamente o pidiéndonos su ubicación de descarga, y hace poco Google confirmaba que muy próximamente incluiría un visor integrado de ficheros PDF en el propio navegador.
    2. Al igual que con Mozilla Firefox, contamos con addons que permiten ver documentos PDF y de otros tipos directamente desde el navegador aprovechándose del visor del propio Google Docs.
  4. Opera
    1. Para modificar el comportamiento frente a ficheros PDF, acceder a Configuración -> Opciones (o Control+F12) -> Pestaña Avanzado -> sección Descargas, buscamos "pdf" y seguidamente Editar para seleccionar la acción. Lo más adecuado sería Guardar en disco o Mostrar diálogo de descarga.


    Emulando la acción que facilitan las extensiones para los navegadores que hemos comentado en Firefox y Chrome en referencia al visor de Google Docs para ver PDFs en base a una URL, podréis hacerlo mediante el servicio que encontraréis en la página http://docs.google.com/viewer?pli=1
  • Desactivar soporte de JavaScript en Acrobat
En el entorno que estamos tratando, resultaría cuanto menos extraño que necesitemos tener activado el soporte de JavaScript en Acrobat. Por ello, es conveniente desactivarlo para ahorrarnos algún que otro programa con muchas de las vulnerabilidades que aparecen. Sobretodo se recomienda mientras se espera a una solución o parche oficial por parte de Adobe a dicha vulnerabilidad. Workaround por excelencia.

Para desactivar el soporte de JavaScript en Adobe Acrobat / Reader, accederemos a Edición -> Preferencias y en la categoría JavaScript y des-marcamos la casilla de "Activar JavaScript para Acrobat".



  • Privilegios del usuario actual en el sistema operativo
Digamos que esta práctica debería ser llevada a cabo, no sólo para evitar los ataques a los que nos referimos, si no para minimizar el impacto de muchos problemas de seguridad.

En entornos corporativos se suele contar ya de por si con usuarios restringidos, no Administradores totales del sistema. En caso de ser el empleado del mes al que dejan total libertad con su equipo de trabajo, es conveniente utilizar una cuenta de usuario con privilegios mínimos sobretodo si realizamos un uso normal y corriente del sistema, como navegación, calculadora, Word, Buscaminas, etc.
  • Buen estado de la plataforma
Repetimos lo comentado anteriormente. Si ya de por si no se realiza por política de la empresa, mantener el equipo de trabajo actualizado a su última versión, con los últimos parches de seguridad aplicados (si es el Windows del trabajo, seguro que no tienes problemas con Windows Update y el wga ¿cierto?), actualización del software antivirus, etc.
  • Alternativas al software de Adobe
Es viernes, ¿tienes otras cosas que hacer, entregar esos informes de últimísima hora, y no tienes tiempo de cambiar registros, bucear en preferencias e instalar complementos? Ya contamos con alternativas perfectamente válidas para poder abrir ficheros PDF sin echar de menos ninguna funcionalidad de Acrobat, como por ejemplo Foxit Reader, de los más famosos visores de documentos PDF gratis.

Comentadnos vuestras experiencias, más buenas prácticas a tener en cuenta, alternativas, si en las paredes de vuestras oficinas contáis con posters de concienciación con dianas sobre Adobe, ¡lo que queráis!

Entradas populares de este blog

Trinity Rescue Kit: Tutorial para eliminar la contraseña de administrador en Windows

Cómo extraer el handshake WPA/WPA2 de archivos de captura grandes

HTTP Fingerprinting