Actualmente estoy buscando formas de prevenir archivos PDF maliciosos en el límite de la red. Esto incluirá escaneo de virus, pero hay limitaciones conocidas para eso. Veo que un enfoque común es aplanar el archivo PDF usando algo como:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=flattened.pdf raw.pdf
Si bien esto parece eliminar a los sospechosos habituales de la salida de pdfid , solo eso < a href="http://blog.9bplus.com/scoring-pdfs-based-on-malicious-filter/"> no significa que se hayan eliminado las amenazas asociadas.
Por lo tanto:
-
¿Este enfoque eliminará la mayoría de las vulnerabilidades de Flash y Javascript?
-
¿Qué amenazas es probable que persistan?
Notas:
Como está pensado para el escaneo masivo, sugerencias como this no son realmente prácticos a escala.
Los enlaces a fuentes autorizadas serían muy apreciados.
Actualizar
El método anterior elimina Flash y Javascript del PDF. Steffen (ver más abajo) destacó que el malware incrustado en los archivos de imagen probablemente sobreviviría. Para mitigar esto, estoy reduciendo el tamaño de las imágenes. No he podido obtener una respuesta clara sobre si gs preserva o elimina los datos EXIF, pero es probable que la reducción de resolución alterar la compensación de cualquier malware incrustado allí anula su capacidad de explotación, y la reducción de muestreo también debería eliminar cualquier malware incrustado en los datos de imagen. Por lo tanto:
DPI=63
gs -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite \
-dDownsampleColorImages \
-dColorImageDownsampleType=/Bicubic -dColorImageResolution=${DPI} \
-dDownsampleGrayImages \
-dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=${DPI} \
-dDownsampleMonoImages \
-dMonoImageDownsampleType=/Bicubic -dMonoImageResolution=${DPI} \
-sOUTPUTFILE=${TMPPDF} ${SRCFILE}