Analizzare e “disinfettare” file PDF con pdfid

I file PDF stanno diventando sempre di più un vettore di attacco e vengono usati sempre di più come “cavalli di troia” per far breccia nei sistemi operativi. Ecco perché prima di aprire PDF provenienti da mittenti/fonti non fidate può essere utile eseguire un’analisi automatizzata ricorrendo al tool pdfid.py di Didier Stevens. Si tratta di uno script, funzionante su Windows, Linux e qualsiasi sistema che abbia installato Python, che si occupa di analizzare qualsiasi file PDF verificando la presenza di stringhe potenzialmente “nocive”, come /JavaScript, /OpenAction, /Launch (la cui individuazione è stata aggiunta solo nell’ultima versione) o /RichMedia, solo per citarne alcune.

Basta dare in pasto a pdfid.py qualsiasi file PDF (nell’esempio “calc.pdf”) per ottenere un resoconto di tutte le stringhe potenzialmente nocive con relative occorrenze riscontrate:

pdfid.py calc.pdf

Il tool è anche in grado di ripulire un file PDF e con l’ultima versione rilasciata, 0.0.11) pdfid disattiva anche le azioni /Launch, rendendo di fatto inefficaci tutti quei file PDF che siano stati modificati per lanciare degli eseguibili nocivi. La disinfezione di un file PDF consiste nella riscrittura delle stringhe pericolose alterandone maiuscole e minuscole, questa semplice azione basta a rendere inoffensivi i file PDF nocivi. La pulizia è possibile utilizzando lo switch “-d” in questo modo:

pdfid -d calc.pdf

Si otterrà in questo modo un file PDF pulito, che nel nostro caso prenderà il nome di “calc.disarmed.pdf”.

Per un’analisi manuale approfondita di un file PDF, ma anche di qualsiasi altro file, si può ricorrere anche a FileInsight di McAfee o a un hex editor potente come HxD.