Chrome le advierte a menudo «Este tipo de archivo puede dañar su computadora» cuando intenta descargar algo, incluso si es un archivo PDF. Pero, ¿cómo puede ser tan peligroso un archivo PDF? ¿No es un PDF solo un documento con texto e imágenes?
Los lectores de PDF como Adobe Reader han sido una fuente de muchas vulnerabilidades de seguridad a lo largo de los años. Esto se debe a que un archivo PDF no es solo un documento, puede contener scripts, medios incrustados y otras cosas cuestionables.
Los PDF no son solo documentos
El formato de archivo PDF es realmente muy complicado. Puede contener muchas cosas, no solo texto e imágenes, como es de esperar. PDF admite muchas funciones que posiblemente no debería, que han abierto muchos agujeros de seguridad en el pasado.
- JavaScript : los archivos PDF pueden contener código JavaScript, que es el mismo idioma que utilizan las páginas web en su navegador. Los PDF pueden ser dinámicos y ejecutar código que modifica el contenido del PDF o manipula las funciones del visor de PDF. Históricamente, muchas vulnerabilidades han sido causadas por archivos PDF que utilizan código JavaScript para explotar Adobe Reader. La implementación de JavaScript de Adobe Reader incluso contiene API de JavaScript específicas de Adobe, algunas de las cuales eran inseguras y han sido explotadas.
- Flash incorporado : los archivos PDF pueden contener contenido Flash incorporado. Cualquier vulnerabilidad en Flash también podría usarse para comprometer Adobe Reader. Hasta el 10 de abril de 2012, Adobe Reader contenía su propio Flash Player incluido. Es posible que las fallas de seguridad solucionadas en el Flash Player principal no se hayan solucionado en el Flash Player incluido de Adobe Reader hasta semanas después, dejando los agujeros de seguridad abiertos para su explotación. Adobe Reader ahora usa Flash Player instalado en su sistema en lugar de un reproductor interno.
- Acciones de inicio: los archivos PDF tenían la capacidad de iniciar cualquier comando después de que apareciera una ventana de confirmación. En versiones anteriores de Adobe Reader, un archivo PDF podía intentar ejecutar un comando peligroso siempre que el usuario hiciera clic en Aceptar. Adobe Reader ahora contiene una lista negra que impide que los archivos PDF inicien archivos ejecutables.
- GoToE : los archivos PDF pueden contener archivos PDF incrustados, que se pueden cifrar. Cuando un usuario carga el archivo PDF principal, puede cargar inmediatamente su archivo PDF incrustado. Esto permite a los atacantes ocultar archivos PDF maliciosos dentro de otros archivos PDF, engañando a los escáneres antivirus al evitar que examinen el archivo PDF oculto.
- Controles de medios integrados : además de Flash, los PDF históricamente podían contener medios de Windows Media Player, RealPlayer y QuickTime. Esto permitiría que un PDF aproveche las vulnerabilidades en estos controles de reproductor multimedia integrables.
Hay muchas más funciones en el formato de archivo PDF que aumentan su superficie de ataque, incluida la capacidad de incrustar cualquier archivo dentro de un PDF y utilizar gráficos 3D.
La seguridad de PDF ha mejorado
Es de esperar que ahora comprenda por qué Adobe Reader y los archivos PDF han sido una fuente de tantas vulnerabilidades de seguridad. Los archivos PDF pueden parecer documentos simples, pero no se deje engañar, podría haber muchas más cosas bajo la superficie.
La buena noticia es que la seguridad de PDF ha mejorado. Adobe agregó una caja de arena llamada «Modo protegido» en Adobe Reader X. Esto ejecuta el PDF en un entorno limitado y bloqueado donde solo tiene acceso a ciertas partes de su computadora, no a todo su sistema operativo. Es similar a cómo la zona de pruebas de Chrome aísla los procesos de la página web del resto de su computadora. Esto crea mucho más trabajo para los atacantes. No solo tienen que encontrar una vulnerabilidad de seguridad en el visor de PDF, tienen que encontrar una vulnerabilidad de seguridad y luego usar una segunda vulnerabilidad de seguridad en la caja de arena para escapar de la caja de arena y dañar el resto de su computadora. Esto no es imposible de hacer, pero se han descubierto y explotado muchas menos vulnerabilidades de seguridad en Adobe Reader desde que se introdujo la caja de arena.
También puede utilizar lectores de PDF de terceros, que generalmente no son compatibles con todas las funciones de PDF. Esto puede ser una bendición en un mundo en el que PDF contiene tantas funciones cuestionables. Chrome tiene un visor de PDF integrado que usa su caja de arena, mientras que Firefox tiene su propio visor de PDF integrado escrito completamente en JavaScript, por lo que se ejecuta en el mismo entorno de seguridad que una página web normal.
Si bien podemos preguntarnos si los PDF realmente deberían poder hacer todas estas cosas, la seguridad de los PDF al menos ha mejorado. Eso es más de lo que podemos decir del complemento de Java, que es terrible y actualmente es el principal vector de ataque en la web. Chrome le advierte antes de ejecutar contenido Java si también tiene instalado el complemento Java.