¿Cómo detectar JavaScript malicioso en un archivo PDF?

2

¿Es peligroso tener JavaScript en un archivo PDF por definición o solo es peligroso cuando se usan funciones específicas (por ejemplo, eval ) dentro de un PDF, en cuyo caso, qué funciones de JavaScript son peligrosas en un PDF?

En otras palabras: ¿cuándo debe considerarse que JavaScript en un archivo PDF es peligroso?

    
pregunta Bob Ortiz 22.07.2016 - 13:42
fuente

3 respuestas

3

Hice una búsqueda adicional y encontré un interesante trabajo de investigación (de fácil lectura y solo 12 páginas). La investigación se llama Detección de JavaScript malicioso en PDF a través de Document Instrumentation .

En su trabajo de investigación, introducen un enfoque sensible al contexto para Detectar y confinar JavaScript malicioso en PDF a través de estática. Documentación de documentos y supervisión del comportamiento en tiempo de ejecución.

Las siguientes citas y figuras proporcionan información sobre cómo su sistema de detección desarrollado abordó la detección de PDF maliciosos.

Arquitectura de detección

  

Nuestro sistema consta de dos componentes principales, front-end y back-end,   Trabajando en dos fases. En la fase I, el componente frontal estáticamente   analiza el documento, analiza la estructura y finalmente los instrumentos.   Los objetos PDF que contienen JavaScript. Luego, en la fase II cuando un   El documento instrumentado se abre, el componente de back-end detecta   comportamientos sospechosos de un proceso de lector de PDF en el contexto de JavaScript   Ejecución y confines intentos maliciosos.

AnálisiseinstrumentaciónestáticosdefaseI

  

ParaPDFsospechoso,elfront-end  primeroanalizalaestructuradeldocumentoyluegodescomprimelosobjetos  yarroyos.Unconjuntodecaracterísticasestáticasseextraenenesteproceso.  Cuandoundocumentohasidodescomprimido,elfront-endinstrumentará  yagregarcódigodemonitoreodecontextoparaJavaScript.Enalgunoscasos,si  eldocumentosecifraconunacontraseñadepropietario,esdecir,unmodode  PDFenelqueeldocumentoeslegibleperonomodificable,necesitamos  eliminarlacontraseñadelpropietarioConlaayudadelarecuperacióndecontraseñadePDF  Herramientascomo[28],estosepuedehacerfácilmenteymuyrápido.

DeteccióndetiempodeejecuciónestáticadefaseII

  

Elcomponentedeback-endfuncionaendospasos,elmonitoreoentiempodeejecucióny  detecciónentiempodeejecución.CuandosecargaunPDFinstrumentado,elcontexto  Elcódigodemonitoreointernocooperaráconnuestromonitordetiempodeejecución,que  trataderecogerevidenciadeposiblesintentosdeinfección.Cuando  Javascriptseejecutahastaelfinaloseproduceunaoperacióncrítica,el  Eldetectordetiempodeejecucióncalcularáunmalscore.Sielmalscoresuperaun  umbralpredefinido,eldocumentoseclasificarácomomalicioso.

LaURLoriginaldeestetrabajodeinvestigación(PDF)es enlace , también referenciado en El comienzo de esta respuesta. Puede encontrar una copia / copia de este documento aquí enlace .

Créditos a: Daiping Liu y Haining Wang del College of William and Mary y Angelos Stavrou de la Universidad George Mason.

    
respondido por el Bob Ortiz 25.07.2016 - 12:35
fuente
0

Respuesta corta: Acrobat JavaScript es esencialmente inofensivo.

Respuesta más larga: Acrobat JavaScript (el JavaScript en PDF) es esencialmente inofensivo porque se ejecuta en su propio entorno seguro y tiene muy poco acceso al mundo exterior.

Sin embargo, es posible crear llamadas a un servidor (por ejemplo, utilizando el método getURL() o launchURL() ) que puede ejecutar código malicioso, pero ese código tuvo que ser llevado al servidor involucrado de alguna u otra manera. Además, hay ciertos protocolos que están bloqueados en los métodos mencionados, por ejemplo, javascript: .

Como se ha mencionado, no existe una correlación entre el peligro potencial y el tamaño del archivo PDF. Es muy fácil crear archivos PDF con más de 10 MB, o incluso 100 MB de tamaño, sin ningún problema (para el mundo de preimpresión, 100 MB se considera "normal", si no es "pequeño").

    
respondido por el Max Wyss 22.07.2016 - 20:06
fuente
-3

Respuesta corta: NO.

El archivo PDF complejo puede incrustar javascript para validar dentro de un formulario que le permita al usuario ingresar datos, hacer clic y enviarlos cuando los abra con el lector de PDF correcto. Normalmente, el archivo PDF masivo (> 5MB) con javascript es bastante seguro, cualquier cosa superior a 10MB es una carga de costo para el atacante por alojar el archivo. Sin embargo, siempre hay una excepción, por ejemplo. PDF rellenado con archivos basura vacíos para que sea enorme, pero se comprime a un tamaño más pequeño y deja que la víctima lo descomprima de manera voluntaria.

El enfoque en eval es bastante inútil para detectar malware en PDF. Con javascript, es fácil construir eval sin mostrarlo en absoluto.

Por ejemplo, uno puede usar Jeroglífico para ocultarlo.

    
respondido por el mootmoot 22.07.2016 - 14:54
fuente

Lea otras preguntas en las etiquetas