Others

¿Puedes saber si un PDF contiene un código de seguimiento oculto?

Un PDF puede contener más de lo que ve en la página. Se pueden utilizar JavaScript integrado, campos de formulario ocultos, llamadas a recursos remotos y metadatos personalizados para realizar un seguimiento de cuándo se abre un documento, desde dónde se abre y qué hace el lector con él. Seguridad de PDF Los escaneos en busca de mecanismos de seguimiento se están convirtiendo en un paso estándar en la debida diligencia empresarial, especialmente cuando se reciben archivos PDF de fuentes desconocidas o que no son de confianza. La pregunta no es sólo si existe el código de seguimiento, sino si se cuentan con las herramientas para detectarlo antes de abrir un documento confidencial.

El código de seguimiento en archivos PDF se divide en dos categorías: intencional y benigno. El seguimiento intencional utiliza JavaScript para llamar a casa cuando se abre el documento, enviando la dirección IP del abridor, la ubicación aproximada y la duración de la lectura a un servidor de seguimiento. El seguimiento benigno incluye funciones como recibos de lectura integrados en facturas en PDF o gestión de derechos digitales que verifica una licencia antes de mostrar contenido. Ambos tipos utilizan mecanismos técnicos similares y los métodos de detección descritos aquí funcionan para ambos.

Las funciones PDF Privacy de WukongPDF incluyen herramientas de inspección de seguridad que escanean documentos en busca de scripts incrustados antes de procesarlos. Realizar una verificación rápida antes de abrir un PDF de un remitente desconocido agrega una capa de protección contra el seguimiento que la mayoría de los lectores de PDF no brindan de forma predeterminada.

Can You Tell If a PDF Contains Hidden Tracking Code

Cómo funciona técnicamente el código de seguimiento PDF

Los archivos PDF admiten JavaScript a través de la API de JavaScript de Acrobat, un subconjunto de JavaScript que se ejecuta dentro del motor de secuencias de comandos del lector de PDF. Los scripts a nivel de documento se ejecutan automáticamente cuando se abre el PDF, cuando se ve una página, cuando se imprime el documento o cuando se cierra. Un script de seguimiento normalmente se ejecuta en el evento DocOpen, recopila información disponible a través de la API de JavaScript, como la dirección IP del lector a través de una solicitud HTTP, y envía esos datos a un servidor remoto utilizando los métodos app.launchURL o Net.HTTP.request.

Los datos que PDF JavaScript puede recopilar son limitados en comparación con los del navegador JavaScript. No puede acceder a archivos en la computadora del usuario, leer las cookies del navegador ni interactuar con otros documentos abiertos. Sin embargo, puede realizar solicitudes de red, que es la capacidad principal que permite el seguimiento. Un PDF abierto en Adobe Acrobat Reader con JavaScript habilitado ejecutará el script de seguimiento de forma silenciosa. Un PDF abierto en un visor basado en navegador que no admite la API de JavaScript de Acrobat no ejecutará el script y el intento de seguimiento falla silenciosamente.

WukongPDF

Pruebe Proteger PDF

No se necesita instalación. Funciona directamente en su navegador.

Empezar ahora →

Método 1: Verificar JavaScript en Adobe Acrobat Pro

La forma más directa de comprobar el código de seguimiento es inspeccionar el contenido de JavaScript del PDF. En Adobe Acrobat Pro, abra el PDF, vaya al menú Editar, seleccione Preferencias y luego haga clic en la categoría JavaScript. Desmarque Habilitar Acrobat JavaScript para deshabilitar globalmente toda la ejecución de JavaScript en el lector. Esto evita que se ejecute cualquier secuencia de comandos de seguimiento al abrir el archivo. Antes de deshabilitar JavaScript, puede inspeccionar qué scripts existen sin ejecutarlos.

Para inspeccionar scripts, abra el PDF en Acrobat Pro y vaya a Herramientas, luego JavaScript y seleccione Documento JavaScript en el menú desplegable. El cuadro de diálogo enumera todos los scripts a nivel de documento por nombre. Seleccione un nombre de secuencia de comandos y haga clic en Editar para ver su código fuente. Busque patrones que indiquen seguimiento: URL que apuntan a dominios externos, llamadas app.launchURL, llamadas Net.HTTP.request o referencias a eventos this.docOpened o this.docClosed. Si el script realiza solicitudes de red y no esperaba que el documento necesitara acceso a la red, trátelo como un posible código de seguimiento.

Puede eliminar scripts individuales desde el cuadro de diálogo Documentar JavaScripts. Seleccione el nombre del script y haga clic en Eliminar. Después de eliminar todos los scripts sospechosos, guarde el PDF con un nuevo nombre de archivo para conservar el original como prueba. El PDF limpio conserva todo el contenido visible y la funcionalidad del formulario, pero ya no ejecuta los scripts eliminados.

Método 2: Inspeccionar el interior del PDF con un editor de texto

Para una inspección más profunda que no requiere Acrobat Pro, examine la estructura interna sin formato del PDF. Los archivos PDF utilizan un formato de objeto basado en texto en el que cadenas y palabras clave legibles por humanos se entrelazan con datos binarios. Abra el PDF en un editor de texto capaz de manejar archivos grandes, como VS Code, Notepad++ o Sublime Text. Busque la cadena /JavaScript o /JS. Estas palabras clave marcan el comienzo de los objetos de código JavaScript. El código fuente del script sigue la palabra clave, generalmente entre paréntesis o entre los marcadores de secuencia y final.

Busque también /URI o /URL para encontrar las direcciones web codificadas incrustadas en el PDF. Un script de seguimiento puede incluir la URL de un servidor de seguimiento. Busque /AA o /OpenAction, que son claves de diccionario PDF que especifican acciones a realizar cuando se abre el documento. Una entrada /OpenAction que apunta a un objeto JavaScript es el mecanismo más común para activar el código de seguimiento al abrir un documento.

Este enfoque de inspección manual requiere cierta familiaridad con la sintaxis de PDF, pero detecta el código de seguimiento que las herramientas automatizadas podrían pasar por alto. Es la misma técnica que utilizan los investigadores de seguridad para analizar archivos adjuntos PDF sospechosos en investigaciones de phishing. Si encuentra estructuras de seguimiento y desea neutralizarlas sin Acrobat Pro, puede eliminar los objetos relevantes del PDF sin formato usando una herramienta como qpdf con el indicador --remove-restrictions, aunque este enfoque requiere cuidado para evitar dañar la estructura del archivo.

Método 3: Escáneres de seguridad de PDF automatizados

Varias herramientas comerciales y gratuitas automatizan la detección de códigos maliciosos y de seguimiento en archivos PDF. DID-SIEM y herramientas de análisis de seguridad similares analizan la estructura del PDF y marcan objetos que contienen JavaScript, URL externas, acciones de inicio y archivos incrustados. Los verificadores de seguridad de PDF en línea aceptan la carga de un archivo y devuelven un informe que enumera todos los elementos potencialmente rastreables. Para la verificación rutinaria de archivos PDF recibidos de fuentes externas, un escáner automatizado es más rápido y completo que la inspección manual.

IndicadorQué significaCómo comprobar
Documento JavaScriptScripts que se ejecutan cuando el PDF se abre, se cierra o se imprimeAcrobat: Editar, Preferencias, panel JavaScript
Llamadas de recursos externosPDF carga imágenes, fuentes o datos desde URL remotas cuando se abreVerifique las propiedades del documento para ver las URL incrustadas
Campos de formulario ocultosCampos invisibles que se rellenan previamente con identificadores o tokens de seguimientoAbra el panel Formularios y busque indicadores de campos ocultos
Scripts de metadatosMetadatos XMP que contienen identificadores de seguimiento personalizadosVer propiedades del documento y datos XMP sin procesar

Qué hacer si encuentra el código de seguimiento

Encontrar un código de seguimiento en un PDF que recibió no significa necesariamente que el remitente esté actuando de manera maliciosa. Las facturas en PDF suelen incluir scripts de recibo de lectura que notifican al remitente cuando se abre la factura. Los materiales de marketing pueden incluir un seguimiento de la participación similar a los píxeles de seguimiento de apertura de correo electrónico. La pregunta es si el seguimiento es divulgado y apropiado para el tipo de documento. Se espera un recibo de lectura en una factura. Un rastreador oculto en un contrato enviado durante una negociación es problemático.

Si necesita compartir el documento con otras personas sin el código de seguimiento, elimine el JavaScript como se describe en el Método 1 y guarde una copia limpia. Si el código de seguimiento es parte de un DRM o un sistema de cumplimiento de licencias, eliminarlo puede violar los términos de uso del documento. Para documentos legalmente confidenciales, consulte con el equipo legal o de seguridad de su organización antes de eliminar cualquier código incrustado, ya que los mecanismos de seguimiento pueden ser parte de un sistema de cumplimiento o seguimiento de auditoría que está obligado contractualmente a preservar.

El código de seguimiento de PDF es detectable con las herramientas adecuadas. Ejecutar una inspección rápida de JavaScript antes de abrir archivos PDF de fuentes desconocidas lleva menos de un minuto y detecta la mayoría de los mecanismos de seguimiento. Hacer que esta verificación forme parte de su rutina estándar de manejo de documentos reduce la probabilidad de compartir, sin saberlo, su actividad de lectura con partes externas. Para las organizaciones que manejan documentos confidenciales, una política de deshabilitar JavaScript en el lector de PDF de forma predeterminada y habilitarlo solo para documentos confiables proporciona una sólida defensa básica sin ningún esfuerzo de inspección continua por documento.

Deshabilitar JavaScript en todos los lectores de PDF de una organización

La inspección individual de cada PDF en busca de código de seguimiento es práctica para un uso ocasional, pero no se adapta a una organización que recibe cientos de archivos PDF externos diariamente. Un enfoque más sistemático es deshabilitar la ejecución de JavaScript a nivel de lector en todos los dispositivos. En Adobe Acrobat Reader, la configuración se encuentra en Editar, Preferencias, JavaScript, donde al desmarcar Habilitar Acrobat JavaScript se bloquea toda la ejecución de scripts. Esta configuración se puede implementar a través de la Política de grupo en Windows, a través de un perfil de configuración en Mac y a través de preferencias administradas en implementaciones empresariales de Acrobat Reader.

Deshabilitar JavaScript globalmente tiene un impacto funcional. Algunos formularios PDF utilizan JavaScript para la validación de campos, cálculos automáticos y comportamiento dinámico del formulario. Estas funciones dejan de funcionar cuando JavaScript está deshabilitado. Para las organizaciones que dependen de formularios PDF interactivos, el enfoque debería ser deshabilitar JavaScript de forma predeterminada y habilitarlo solo para formularios de fuentes internas confiables, en lugar de aceptar el riesgo de seguridad de la ejecución de JavaScript en cada PDF de cada remitente externo. La inspección de seguridad de PDF para el código de seguimiento es una habilidad moderna de alfabetización documental. Tomarse un minuto para verificar JavaScript, URL externas y campos de formulario ocultos antes de abrir o compartir un PDF de una fuente desconocida evita una forma sutil de filtración de información que la mayoría de los usuarios de PDF ni siquiera saben que existe. Un enfoque consciente de la seguridad en el manejo de PDF protege tanto la privacidad individual como la seguridad de la información organizacional sin requerir software especializado ni conocimientos técnicos avanzados.

WukongPDF

Pruebe Proteger PDF

No se necesita instalación. Funciona directamente en su navegador.

Empezar ahora →