skip to main | skip to sidebar
49 commenti

PDF trappola, non c’è tregua

Un PDF può diventare un worm


Mi sa che è ora di riscrivere la regola 11 del mio piccolo dodecalogo. Non mi lamento: ha retto benino per quasi sette anni, che in informatica sono un'eternità. Ma il consiglio di usare PDF come formato di scambio sicuro di documenti sta diventando una trappola.

The Register segnala che Didier Stevens, ricercatore di sicurezza, ha dimostrato che è possibile annidare codice ostile eseguibile – un virus, insomma – all'interno di un documento PDF. Aprendo un documento del genere con Adobe Reader, normalmente compare una finestra di dialogo che chiede all'utente se vuole procedere, ma Stevens è riuscito a manipolarne il testo in modo che inganni buona parte degli utenti. Disabilitare Javascript è inutile e non è possibile rimediare aggiornando Reader, perché secondo Stevens non si tratta di una vulnerabilità, ma soltanto di un uso "creativo delle specifiche del linguaggio PDF". Sono disponibili un video e un PDF dimostrativo.

Stevens ha già condiviso la propria scoperta con Adobe, nella speranza che venga trovata una soluzione. I programmi alternativi di lettura di documenti PDF non se la cavano meglio: fino a pochi giorni fa, Foxit Reader non visualizzava nessun avviso (il problema è stato corretto con la versione 3.2.1, rilasciata il primo d'aprile, secondo questa comunicazione).

Il problema è appunto che l'esecuzione di applicazioni e di Javascript e l'invio di dati a un URL (quindi, per esempio, a un sito Internet) fa parte delle specifiche del formato PDF (tabella 198 delle specifiche stesse, segnalata da F-Secure).

Jeremy Conway di NitroSecurity ha rincarato la dose, partendo dalla segnalazione di Stevens e dimostrando come sia possibile infettare un documento PDF in modo che infetti tutti gli altri PDF del computer e della rete locale (per esempio quella aziendale) in modo invisibile all'utente: un documento PDF diventa insomma un worm. Lo spiegone e il video sono qui su Sudosecure.net (nome quanto mai azzeccato, visto che questa magagna farà sudare di sicuro molti utenti).

Che fare? In attesa che i produttori di software di lettura dei documenti PDF trovino una soluzione, F-Secure consiglia di non aprire i documenti PDF sul proprio computer, ma di visualizzarli tramite servizi come Google Documenti: un'operazione automatizzabile mediante plug-in per i browser, come gPDF (usabile in Chrome, Opera, Firefox e Iron, che è una variante meno ficcanaso di Chrome/Chromium) per i documenti PDF che trovate online, oppure usando un programma di lettura di PDF poco diffuso, sulla base del principio che un programma poco conosciuto sarà oggetto di minore interesse da parte degli aggressori. Conway suggerisce invece l'uso di un programma di lettura minimalista, che non supporti le funzioni avanzate delle specifiche PDF.

Come dargli torto: l'errore di fondo è che l'evoluzione delle specifiche PDF ha snaturato il formato, che era nato per consentire la visualizzazione universale di documenti ma ora ha trasformato i documenti in file eseguibili. Sarò un informatico vecchio stile, ma non mi sembra eccessivo o retrogrado chiedere che un documento resti un documento e non si travesta da programma, visti i rischi che ne derivano. In altre parole, less is more: avere meno funzioni significa avere più sicurezza.
Invia un commento
I commenti non appaiono subito, devono essere tutti approvati da un moderatore. Lo so, è scomodo, ma è necessario per tenere lontani scocciatori, spammer, troll e stupidi.
Siate civili e verrete pubblicati, qualunque sia la vostra opinione: gli incivili di qualsiasi orientamento non verranno pubblicati, se non per mostrare il loro squallore.
Inviando un commento date il vostro consenso alla sua pubblicazione, qui o altrove.
Maggiori informazioni riguardanti regole e utilizzo dei commenti sono reperibili nella sezione apposita.
NOTA BENE: l'area sottostante per l'invio dei commenti non è contenuta in questa pagina ma è un iframe, cioè una finestra su una pagina di Blogger esterna a questo sito. Ciò significa che per poterla visualizzare senza problemi dovete assicurarvi che il vostro browser (tramite l'azione di qualche estensione, tipo quelle che eliminano le pubblicità) e/o altri programmi di protezione (antimalware, tipo Kaspersky) non la blocchino per qualche motivo e inoltre che sia permesso accettare i cookie da terze parti.
Commenti
Commenti (49)
Conversazione

-Ti mando un pdf che tanto e' un formato sicuro, mica come word che ha tutte le macro...

-Gia'.

Fine conversazione
Io è parecchio che, su Windows, uso Sumatra PDF:
http://blog.kowalczyk.info/software/sumatrapdf/index.html

minimalista al punto giusto :)
chiedere che un documento resti un documento e non si travesta da programma

io piu' che altro chiederei che un documento non sia il travestimento di un programma
Sono daccordo con paolo: un documento deve restare un documento. il formato pdf serviva a scambiare in sicurezza documenti informatici e l'unica necessità era quella di visualizzare e stampare il documento. il problema nasce proprio dal fatto che si è voluto utilizzare (anche un po all'insaputa degli utenti meno evoluti) uno strumento per utilizzi diversi da quelli per i quali era stato concepito. ora che il formato pdf si è dimostrato vulnerabile non credo che adobe ne trarrà un grande vantaggio commerciale. se i file pdf non sono sicuri per gli utenti diventerà più difficile trasmettere a clienti e fornitori documenti in questo formato e di conseguenza perchè le imprese dovrebbero comprare questo prodotto?
L'ottimo PDF-XChange Viewer (http://www.docu-track.com/product/pdf-xchange-viewer) dovrebbe mettermi al riparo da questo tipo di minacce.
Acrobat per mac da l'avviso di file non trovato (per forza non c'è cmd.exe su mac!), mentre il viewer non dice niente di niente, mi piacerebbe capire se è perché ignora l'esecuzione di comandi o perché si comporta come foxit reader.
La soluzione c'è già ed è quella di usare Avast. Se provo ad aprire il file, avast mi segnala che ha trovato un tale PDF:Risk-A e non me lo fa aprire.
P.S. Ma quanti diavolo di siti devo attivare con NoScript per postare un messaggio in questo blog? Alla faccia della sicurezza :)
Il problema è appunto che l'esecuzione di applicazioni e di Javascript e l'invio di dati a un URL (quindi, per esempio, a un sito Internet) fa parte delle specifiche del formato PDF
Scusate l'ignoranza, ma non capisco quale sia lo scopo di questa prestazione in un file PDF; mi fate un esempio che non sia un virus?
Sono molto curioso anche io se Anteprima per mac sia vulnerabile o meno. Non ho mai installato Adobe Reader su mac, quindi mi sa che se anteprima non è vulnerabile siamo a posto come al solito noi macchisti. :)
@Andrea F
I form da compilare per le proposte del settimo programma quadro della EU sono in PDF e hanno javascript e quant'altro per allegare documenti e mandare dati alla EU direttamente.
Per quanto mi riguarda è un ABOMINIO che la EU costringa ad usare Adobe per inviare le proposte di progetto. Ma tant'è che ho dovuto usare una macchina windows con installato su adobe reader ultima generazione per poter compilare la proposta.
Ho installato SumatraPDF e non apre programmi esterni. Grazie Andrea per la segnalazione, e grazie Paolo per l'articolo!

Makasih!*

*ovvero come a Sumatra dicono "Grazie!"
Per quanto mi riguarda è un ABOMINIO che la EU costringa ad usare Adobe per inviare le proposte di progetto. Ma tant'è che ho dovuto usare una macchina windows con installato su adobe reader ultima generazione per poter compilare la proposta.

Per la verità, esistono ancora siti che ti costringono a usare Internet Explorer 6 (uno schiaffo alla regola 6 del Dodecalogo).

Tienti stretto il tuo Mac, in onore alla Regola Zero :-)
@shaice
Capisco, invece di fare una form su una pagina Web ti fanno riempire il questionario Pdf. Grazie.
Provato con kpdf su debian. Nulla.

Giovanni

p.s.: anche io non apprezzo formati documentali che permettono l'esecuzione di codice. Dal punto di vista delle sicurezza sono un abominio.
Ma, meditazione, nemmeno un file di testo è sicuro, prova a pensare cosa succede se lo apri con cmd.exe (o con bash...)
@gfranza:
Ma, meditazione, nemmeno un file di testo è sicuro, prova a pensare cosa succede se lo apri con cmd.exe (o con bash...)

In quel caso però si tratta di un errore ID107, difficilmente risolvibile senza rimuovere l'interfaccia PEBKAC :-)
Sudosecure.net (nome quanto mai azzeccato, visto che questa magagna farà sudare di sicuro molti utenti).

Linux è un sistema operativo faticoso. Infatti ogni volta che devo digitare un comando, sudo.
Up Up per SumatraPDF che è anche in Italiano. Ed è di una leggerezza incredibile. E' un piacere vedere aprirsi un PDF in pochi secondi con un computer non troppo recente.
Foxit Reader sta diventando bloat anche lui...
gPDF sarebbe una buona alternativa, se funzionasse bene. Non riesce ad aprire i pdf di alcuni siti, specie gli archivi di riviste scientifiche (ad es. sciencedirect.com o anche citeseer), che usano url complessi per puntare al documento.
Solo io nella pagina linkata vedo sì il video, ma non trovo il PDF dimostrativo da scaricare per far la prova?

Ne ho trovato solo uno nei commenti, e aprendolo su Win7 con Adobe Reader 9.3.1 non c'è verso: la calcolatrice non viene eseguita.
@Fry Simpson:
Il PDF di test si trova sotto la parola "here":
I’m not publishing my PoC PDF yet, but you can download a PDF that will just launch cmd.exe here. Use it to test your PDF reader.
@ Turz:

Grazie! La fettasalamite oculare era ritornata a colpirmi! ;)

Ho scaricato il file che mi hai indicato, e McAfee me lo ha impallinato al volo classificandolo come "Exploit-pdf.cd"
Esiste il formato Pdf/A (in Italia lo usano le Camere di Commercio) che non permette l'inserimento di questi programmi e funziona come un normale pdf. La soluzione può semplicemente essere questa.
Ecco cosa era quell'opzione "Pdf A" in Acrobat (il writer)!
Grazie dell'info.

Il problema però è alla fonte. Un conto è persuadere pubblicatori e lettori del web a fidarsi solo del pdf (o altro formato chiaramente distinguibile dagli altri), un altro paio di maniche è fare lobbying verso un SOTTO-formato...
Sinceramente ci rimango di cacca. Usando FoxIt ero abbastanza sicuro di essere al riparo da sorprese di questo genere. In più AntiVir fa cilecca, solo Avast riesce a rilevare come pericoloso il file (e Gdata che ha il motore Avast).
Sumatra l'avevo provato, ma non mi è piaciuto, adesso ci ritorno subito.

ciao ciao
ASCII RuleZ! :D
se non fosse per questo ( http://www.milw0rm.com/exploits/9663 ) userei il html come formato sicuro...
Peccato che i luser combinerebbero lo stesso casini :P
Passate ad odt...
però diciamola tutta...

Acrobat Reader avverte l'utente che "The file may contains programs, macros or viruses". Che altro dovrebbe fare, proibire all'utente l'esecuzione del contenuto attivo?

L'unica pecca è lo spazio per un messaggio personalizzato integrativo, che viene usato dall'attaccante per comunicare un falso messaggio, con lo scopo di ingannare l'utente. Ma anche in questo caso, il messaggio sopra dice che premere "Open" è pericoloso e va fatto a proprio rischio e pericolo, il messaggio sotto dice magari l'opposto oppure dice "non ti preoccupare, giuro che sono buono": è l'utente l'anello debole della catena, mi sembra..

La soluzione sarà sicuramente come quella delle macro di Office: disabilitarle per tutti gli utenti, quelli che vorranno utilizzarle dovranno andare a smanettare per attivarle, così almeno veramente non possono appigliarsi ad un presunto "buco di sicurezza".

Mi spiace, ma in questo caso questi due PoC dimostrano solo che il bug è nel cervello della gente....
@SicilianoEdivad:
"Luser" è l'equivalente inglese di "utonto"?
@Turz

è proprio un pun simile, solo che usa la parola perdente invece che quella di tonto
Turz,

Esatto :)
Se ti piacciono le storie di Luserr e le perle di ignoranza:
http://www.soft-land.org/storie/index
PS: NON è un mio sito!
NON è un mio sito

veramente è la Bibbia del sistemista :D
Ciao!

Io invece per creare i PDF uso OPEN OFFICE. Spero che non mandi anche lui i miei dati in giro però sono tranquillo. Dato che raramente spedisco pdf in giro, non mi sento turbato più di tanto. A quando però un PDF sicuro?

ciao!
@theDRaKKaR
Vero, se l'utente non clicca open non succede nulla, ma i problemi sono quelli collegati
1) Come dici c'è un messaggio personalizzabile
2) Praticamente nessuno (e neanch'io fino all'uscita di questo articolo) sapeva che un PDF poteva far eseguire un file exe
3) Prima che qualcuno riesca ad eludere il controllo che fanno i due lettori adobe foxit preferisco utilizzarne un altro che non supporta nessuna funzione di questo genere (e quindi nessun iterazione diretta con l'utente).

Comunque a me sembra una funzione solamente pericolosa, il PDF nasce per essere letto, non vedo perché debba essergli permesso di lanciare comandi.
Per esempio per fare manuali interattivi...

I formati di successo evolvono al di là delle previsioni iniziali.
Un foglio elettronico nasce per fare calcoli coi dati in esso inseriti: probabilmente un file .wk1 di Lotus 1-2-3 non poteva contenere link ad eseguibili, un file .xls li può contenere.

Aumentando i gradi di libertà diminuisce la sicurezza.
Vista dall'altro lato della medaglia: se vuoi imporre la sicurezza ad ogni costo devi far tendere a zero le funzionalità, quindi tieni il computer spento ;)
Aprendolo con Pdf X-change viewer 2.0 (Build 49.0):

'Il documento PDF sta per lanciare l'applicazione "%1".
Questo potrebbe portare a virus, macro e similari.
Aprire il file solo se si è sicuro della sua provenienza. In tal caso
premere Apri per visualizzare il file.

Si No'
@Fry Simpson:
Vista dall'altro lato della medaglia: se vuoi imporre la sicurezza ad ogni costo devi far tendere a zero le funzionalità, quindi tieni il computer spento ;)

D'accordissimo, ma in questo caso secondo me stiamo eccedendo in funzionalità, bisognerebbe riequilibrare un po' verso la sicurezza (anche perché il 98% dei documenti PDF non ha bisogno di lanciare eseguibili).
Come usa ripetere un mio collega, "i siti migliori sono in html statico". Ora aggiungerei "i documenti migliori sono in formato txt".
Magari si potrebbe pare un formato pdf normale senza eseguibili ed un formato "extended" con gli eseguibili.
camps,

sante parole, ma le funzionalità non sono mica uguali. :)
@Fry Simpons
No, un PDF nasce per documenti o non per manuali interattivi. Se fai un manuale interattivo, allora o crei un formato ad hoc, oppure punti su qualcosa di totalmente diverso (in stile enciclopedia su cd).
Certo che la soluzione più semplice è tener spento il computer, ma non è assolutamente vero che aumentare le funzionalità di qualcosa implichi un calo nella sicurezza. Basta pensare a come si fanno le cose.

ciao ciao
Aumentando i gradi di libertà diminuisce la sicurezza.
Vista dall'altro lato della medaglia: se vuoi imporre la sicurezza ad ogni costo devi far tendere a zero le funzionalità, quindi tieni il computer spento ;)

NOPE!
computer spento = Un-Availability, quindi sicurezza (Confidentiality, integrity, availability) = 0;

Giovanni
stamattina grosso aggiornamento di acrobat reader, possibile abbiano tentato di risolvere il problema?
E' per questo che preferisco sempre i cari e vecchi txt
L'importante comunque è fare sempre apri con blocco note e mai fare doppio click, così si è sicuri.
Finalmente!!! Uno dei software che uso anche io su windows è affetto da un worm!!! :D Mi sentivo quasi escluso... Vabbè il fatto che la macchina windows non vada in rete e la usi solo per giocare rende inutile il foxit reader ma vabbè... Comunque il pdf viewer che c'è su linux funziona tanto bene...
@Gfranza:

Sei proprio un ingegnere! ;D
Ciao!
Didier Stevens ha pubblicato un nuovo articolo riguardo a questo argomento.

Ha trovato il modo per disabilitare l'opzione "open" su Adobe Reader semplicemente cambiando le opzioni di configurazione.

L'articolo si trova qui
http://blog.didierstevens.com/2010/04/06/update-escape-from-pdf/
Beh ma a questo punto (meno c'è, più è sicuro) non accendiamo direttamente il computer..

Comunque i moduli interattivi nei PDF si usano parecchio (la cosa buffa è che Acrobat Reader non si supporta...)
Paolo mi è successa una cosa molto brutta, un cliente mi ha passato un pdf, l'ho messo sul mio sito di Lignano per pubblicarlo, dopo 1 giorno iniziano a chiamare delle persone avvisandomi che il mio sito aveva dei virus!! (alla fine ho dovuto togliere il pdf)
Adesso tutto OK!!
Naturalmente i pdf vanno presi con le pinze...
Ciaoo
E bravo il Luser!
...il cliente ovviamente :P