23 octubre 2012

Sandbox en Adobe Reader X


Teniendo en cuenta el amplio historial de vulnerabilidades que han surgido en los productos Adobe, y especialmente Reader, finalmente se decidieron a incorporar a finales del 2010 más medidas de protección. En este artículo se va a hablar del Protected Mode de Adobe X, en el que implementa una sandbox para mitigar la explotación de las vulnerabilidades del conocido lector de PDFs. Este es realmente necesario y más teniendo en cuenta las formas de infección automáticas que pueden producirse.

Descripción de Protected Mode

El Protected Mode tiene como objetivo proteger al usuario aunque Adobe Reader sea vulnerable. Esto no sucedía en las versiones anteriores, donde la explotación exitosa de cualquier bug de seguridad tenía un impacto directo. La sandbox es un mecanismo de seguridad para ejecutar una aplicación en un entorno restringido donde ciertas acciones están prohibidas. Al fin y al cabo es una capa adicional de seguridad.

Con Protected Mode todas las operaciones necesarias para renderizar un PDF se ejecutan en un entorno restringido; la sandbox. Todas las acciones que no se permiten realizar en la sandbox, como la escritura en el directorio temporal o apertura de un adjunto incrustado en el PDF mediante una aplicación externa, se envían al broker. Éste mediante un listado de políticas determina si se puede realizar o no para evitar acciones maliciosas.

Ventajas / Inconvenientes

Sus puntos fuertes son:
  • Utilizar el sistema de seguridad implementado a nivel de SO: la sandbox de Adobe Reader recae en las características de seguridad de Windows (niveles de integridad bajos, job objects y tokens restringidos).
     
  • La sandbox se basa en Google Chrome y Microsoft Office 2010 (Protected Viewwing Mode) los cuales toma en consideración.
     
  • Principio de menor privilegio: un proceso sólo puede acceder a lo necesario para realizar su función; nada más.
  • Asumir que todas las acciones que se quieren realizar fuera de la sandbox son maliciosas hasta que se valide y se demuestre lo contrario. Para realizar estas acciones se hace uso de broker para comunicarse con el exterior.
     
  • Entorno limitado para la ejecución del render.
     
  • Se hace diferencia entre dos entornos: PDF principal / user principal.
Tiene una serie de limitaciones:
  • Está basada en la seguridad de Windows, y por lo tanto si se encuentra algún fallo en la misma, la seguridad de la sandbox se ve comprometida.
  • Existen funcionalidades no implementadas. Pero los ataques derivados de no separar escritorios se pueden mitigar con otras técnicas.

Funcionamiento

En Adobe Reader se utilizan los mecanismo del SO para ejecutar los procesos usando el principio de mínimo privilegio posible. En este escenario cada proceso tiene el privilegio necesario para realizar sus acciones habituales y ninguno más. Esto tiene tres consecuencias directas:
  • El procesado de un PDF sucede dentro de la sandbox (parseo del PDF e imágenes, ejecución de JavaScript, renderizado de fuentes y 3D)
     
  • Cuando algún proceso necesita ejecutar una acción fuera del sandox se realiza a través del broker que funciona como una especie de proxy.
     
  • Existencia de dos entornos separados: user principal que es el contexto en el que se ejecuta la sesión de usuario, y PDF principal el cual es un proceso aislado que parsea y renderiza el PDF. El límite entre la sandbox y la sesión de usuario/SO viene determinado por el proceso broker.
El objetivo que se persigue es ejecutar el renderizado del fichero PDF, el cual puede contener datos maliciosos, en un contexto restringido (PDF principal) y no privilegiado (user principal). Es el broker en el que realiza las acciones como user principal cuando se requiere hacer una llamada al sistema o conseguir acceso de escritura a un fichero.

Artículo cortesía de David Montero

2 comments :

asdf dijo...

No pueden poner la ejecución en Sandbox como algo estandard para abrir pdfs? Cada vez que abro uno tiemblo xD

damontero dijo...

El uso de la sandbox es algo por defecto. No tienes que hacer nada especial para utilizarla.

Saludos