我目前正在寻找在网络边界防止恶意 PDF 文件的方法。这将包括病毒扫描 - 但有已知的限制。我看到一种常见的方法是使用以下方法展平 PDF 文件:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=flattened.pdf raw.pdf
虽然这似乎从pdfid的输出中消除了通常的嫌疑人,但这并不意味着相关威胁已被消除。
因此:
这种方法会消除大多数 Flash 和 Javascript 漏洞吗?
哪些威胁可能会持续存在?
笔记:
由于这是用于批量扫描,因此诸如此类的建议在规模上并不实用。
与权威来源的链接将不胜感激。
更新
上述方法从 PDF 中删除 Flash 和 Javascript。Steffen(见下文)强调嵌入在图像文件中的恶意软件可能会存活下来。为了缓解这种情况,我正在对图像进行下采样。我无法明确回答 gs 是保留还是删除 EXIF 数据,但下采样可能会改变嵌入其中的任何恶意软件的偏移量,从而使其可利用性无效,并且下采样还应该删除嵌入图像数据中的任何恶意软件。因此:
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}