Un modo de infección del malware son los lectores de ficheros PDF. Debido a la gran difusión del formato y a que son multiplataforma, son un objetivo prioritario y configurar estas aplicaciones de forma segura es importante
El formato PDF (Formato de documento portable), es un formato de documento compuesto (imagen vectorial, mapa de bits y texto), pensado para su visualización e impresión en cualquier plataforma, dispositivo o impresora.
En un fichero PDF, es posible incluir algún tipo de código malicioso debido a que la aplicación permite aumentar las funcionalidades habituales de gestión de los datos (texto e imágenes) que ha de presentar por pantalla utilizando código JavaScript, por ejemplo, y otra información que el lector PDF debe interpretar y/o procesar. Mediante la manipulación de esta información y aprovechando alguna vulnerabilidad que tenga la versión del programa empleada, podría ser posible ejecutar código malicioso incluido en un fichero PDF, cuando en principio no debería ser un fichero «peligroso».
También, hay que señalar que una gran parte de este problema viene provocado por el aumento de capacidades del formato PDF. Si contiene un fichero en formato SWF, será posible «sufrir» los problemas de seguridad asociados a este tipo de formato, igual que ocurre con otro software como son los reproductores multimedia.
Hoy día, hay múltiples programas para visualizar este tipo de ficheros, pero los más populares son Adobe Reader y Foxit PDF Reader. Estas aplicaciones tienen ciertas características que permiten aumentar la seguridad de la lectura de los documentos PDF desactivando o modificando algunas opciones de configuración.
A causa de la funcionalidad extendida, los lectores de ficheros PDF deben avisar al usuario y pedir confirmación cuando se inicia una acción que podría ser potencialmente peligrosa, como ejecutar comandos JavaScript o acceder a una dirección de Internet (cargar una página Web por ejemplo). Por ello, este tipo programas, para garantizar un mínimo de seguridad, deben incorporar al menos estas dos funcionalidades: la de bloqueo de JavaScript y solo acceder a sitios web cuando el usuario lo autorice de forma expresa.
Este tipo de medidas de protección implican una merma en la funcionalidad en este tipo de ficheros, como por ejemplo el uso de formularios o comprobación de los campos. En caso de necesitar utilizar esa funcionalidad, se puede activar de forma momentánea, y siempre conociendo el origen del documento en el que la vamos a utilizar.
Cada programa, además de este par de características básicas, incorpora una serie de mejoras en cuanto a seguridad. Aquí se van a exponer las opciones de los dos programas más usados para visualizar este tipo de documentos.
Adobe Reader.
La empresa Adobe, consciente del problema de seguridad, ha ido incorporando una serie de mejoras en relación a la seguridad de su lector. Las últimas a destacar serían la incorporación de la actualización automática del software, así como la ejecución en modo protegido (sandbox), para que la ejecución de código se produzca en un entorno totalmente controlado y que las operaciones del fichero no afecten al sistema anfitrión, lo que limita el alcance de una posible amenaza respecto a ese entorno de ejecución.
Para acceder a la ventana de configuración de las opciones de seguridad, desde la opción «Edición» del menú principal se selecciona la opción «Preferencias».
Secuencia para abrir el menú preferencias de adobe Reader
La primera opción de seguridad que se revisará es «Actualizador», que permite indicar como se harán las actualizaciones, y debería configurarse para hacerse automáticamente o, al menos, que la descargue y que notifique al usuario cuando esté disponible para su instalación.
Configuración de la comprobación de actualizaciones de Adobe Reader
En la opción «Administrador de confianza» se configura la posibilidad de abrir, con otras aplicaciones, ficheros adjuntos no PDF. En principio, esta opción debería estar desactivada para evitar ese riesgo. En caso de necesitar utilizar esta función, se modificaría la opción y se volvería a desactivar una vez realizada la operación requerida. También, aparece la configuración del acceso a Internet sin usar el navegador que debe estar bloqueada o bien que pregunte al usuario si permite esa acción.
Por último, existe la posibilidad de descargar una serie de certificados raíz, «aprobados por Adobe», para gestionar certificados de forma mas sencilla (esos certificados ya no habrá que descargarlos).
Configuración la apertura de adjuntos al PDF y el intercambio de información con Internet
La opción «confianza en contenido multimedia (heredado)» permite configurar la reproducción de contenidos multimedia en ficheros PDF. Esta opción no debería estar marcada o, en caso de estarlo, que «solicite» permiso para ejecutarse.
Configuración de las acciones sobre algunos contenidos multimedia
En la opción «JavaScript», el mayor nivel de protección se consigue en el caso de que no estuviera activado (se evita totalmente ese riesgo), activándose solamente cuando sea necesario rellenar un formulario. En caso de estar activo, como en la imagen, al menos hay que seleccionar la opción «Activar normativa de seguridad global de objetos», de forma que la ejecución de código Javascript sea supervisada.
Configuración del JavaScript y seguridad global de objetos
Desde «Seguridad» se configura la verificación de firmas electrónicas, que debería estar activado para que, en caso de que el documento esté firmado, se compruebe si la firma es correcta. Dentro de esta opción, está el botón «Preferencias avanzadas» desde donde se puede configurar cómo se hará la verificación de la firma.
Configuración de la comprobación de las firmas digitales del documento.
La opción de «Seguridad mejorada» permite prevenir la ejecución de comandos en Adobe Reader, de forma que solo los documentos de la lista, o que estén en la ruta especificada, se podrán ejecutar sin restricciones.
Configuración de la seguridad mejorada
Foxit PDF Reader
En este caso se ha incluido un administrador de seguridad, que permite configurar las opciones que incorpora. El programa ha mejorado la compatibilidad con las protecciones ASLR (Addres Space Layout Randomización) y DEP (Data Executión Prevention) del sistema operativo. También incorpora un Modo Seguro (Safe Mode) que se activa o desactiva desde el Trust Manager (Gestor de confianza) mediante el que, directamente, no ejecuta comandos embebidos en el documento.
Para acceder a las opciones de Foxit PDF Reader (Preferences), desde el menú principal, la opción «Herramientas» (Tools) y después en «Preferencias» (Preferences). Se accede a una lista en la cual están las opciones de seguridad, entre otras muchas opciones.
Acceso al menú «preferencias» de Foxit Reader
Configuración de JavaScript. Por defecto deberían estar desactivadas las acciones JavaScript.
Configuración del JavaScript
Configurar la validación de las firma electrónicas. Por defecto debería estar activada.
Configuración de la comprobación de las firmas digitales
Configuración de modo de lectura seguro. Por defecto debería estar activado.
Configuración del administrador de confianza (modo seguro)
La última opción de seguridad es la de actualización (Updater), que debe estar marcada para comprobar las actualizaciones de forma automática cada 7 días, que es el periodo que viene prefijado y no permite poner una mayor frecuencia de actualización.
Configuración de la comprobación de actualizaciones
Resumen.
Los ficheros PDF pueden contener, además de imágenes vectoriales, mapas de bits y texto, otro tipo de contenidos como secuencias de comandos o ficheros multimedia que son un posible vector de ataque para nuestro equipo si el malware aprovecha alguna vulnerabilidad en el software de lectura de ficheros PDF. Por este motivo, se debe configurar el lector de ficheros PDF de la forma más segura, sin comprometer la usabilidad.
Además, se deben tomar las precauciones necesarias sobre el origen de los ficheros PDF y, en caso de no conocerlo o no estar seguro, desecharlos. En el caso de ficheros PDF recibidos por correo electrónico, mensajería instantánea o redes sociales, que no se hayan solicitado, hay que ser muy cauto, al igual que con cualquier tipo de fichero «potencialmente peligroso» que pueda contener comandos (ejecutables, con macros y multimedia).
En caso de duda, se recomienda comprobar la «peligrosidad» de un PDF mediante un antivirus, aunque también hay servicios orientados a ficheros PDF, como por ejemplo:
- PDF Examiner , permite subir y analizar ficheros PDF para comprobar una gran variedad de exploits . También puedes consultar el blog de Malware Tracker que contiene numerosos análisis, write ups e informes.
- PDF X-RAY – permite subir y analizar ficheros PDF sospechosos para detectar comportamiento malicioso
- PDF Stream Dumper –herramienta (freeware) instalable en local para el análisis de documentos PDF maliciosos.
- PDF Tools “Didier Stevens” – Didier tiene una gran colección de herramientas locales.
- 6 Free Local Tools for Analyzing Malicious PDF Files –lista de herramientas PDF de Lenny Zeltser.
- peepdf – PDF Analysis Tool– herramienta gratuita en Python de Jose Miguel Esparza. En el post Analyzing Suspicious PDF Files With Peepdf se explica cómo usar la herramienta peepdf.
- jsunpack – a generic JavaScript unpacker – herramienta online para extraer el código JavaScript de ficheros PDF, pcap, HTML o JavaScript. Para más información, visitar jsunpack-n – A generic JavaScript unpacker en el alojamiento de proyectos en Google Code.