Nome
Cognome
Email
Password
Ho letto e accetto l'informativa sulla privacy
Desidero ricevere la Newsletter di PMI-dome.com
FacebookTwitterRSS
PMI Dome

PDF hacking: sicurezza a rischio per una vulnerabilità by design

Adobe Reader è sano, ma il formato PDF no. Una funzionalità standard, prevista by design, nelle specifiche tecniche può essere usata per diffondere il malware Zeus. Per difendervi disabilitate la Launch Action in Adobe Reader
di Corrado Giustozzi | 17 settembre 2010
Esistono casi eclatanti relativi a micidiali bug improvvisamente ed inaspettatamente scoperti in sistemi vecchi di decenni, dove giacevano insospettati in attesa di essere scoperti dall’hacker di turno. Un evento del genere è quanto di più malaugurato possa accadere. Infatti, i sistemi più antichi e consolidati sono anche quelli più diffusi ed utilizzati.

Insicuro per progetto
Nel caso di cui ci occupiamo, la vulnerabilità scoperta nell’inconsapevole sistema non solo era presente da molti anni senza mai essere stata in precedenza identificata come fonte di rischio, ma oltretutto stava lì non per errore ma addirittura per progetto.
Il sistema è addirittura un formato dati standard ultra-utilizzato quale il PDF. La vulnerabilità sfruttabile, identificata dal noto ricercatore di sicurezza belga Didier Stevens, consiste nella possibilità di costringere il reader a mandare in esecuzione del codice eseguibile esterno al file PDF o interno ad esso.
La cosa sorprendente è che tale funzionalità non nasce a seguito di un bug dei reader disponibili ma è insita nelle specifiche stesse del formato PDF, dove era stata deliberatamente inserita sin dalla notte dei tempi come funzione di utilità.

Standard vulnerabile
Tale funzionalità, implementata da un’azione standard denominata /Launch, viene opportunamente “protetta” dai reader più diffusi, i quali provvedono di norma a chiedere l’esplicita autorizzazione dell’utente nel momento in cui il contenuto di un PDF richieda di lanciare un’applicazione esterna.
Il “merito” di Stevens consiste nell’aver trovato il modo di alterare a piacimento il testo mostrato dal reader all’utente in tale situazione.
L’idea di Stevens era quella di verificare la possibilità di costruire un attacco di social engineering mediante il quale l’utente venisse indotto, grazie ad un’indicazione falsa o fuorviante prodotta dal proprio reader, ad acconsentire alla richiesta di mandare in esecuzione il contenuto (insicuro) di un documento PDF apparentemente affidabile.
Detto fatto: Stevens è riuscito a costruire una proof of concept funzionante, che dimostrava la possibilità di sfruttare il formato PDF per veicolare malware, pubblicandola quindi sul proprio blog. Per correttezza Stevens non ha divulgato i dettagli tecnici della sua PoC ed ha provveduto ad informare preventivamente Adobe della sua scoperta; queste cautele tuttavia non hanno fermato a lungo la comunità dei cracker, la quale è riuscita in tempi record a replicare l’exploit di Stevens producendo e diffondendo un vettore d’attacco specifico.

Dal PoC al malware
Mentre la comunità internazionale dei ricercatori di sicurezza si interrogava sulla portata del problema, qualcuno stava già attivamente utilizzandolo per costruire specifici vettori d’attacco. E così, solo pochi giorni dopo la pubblicazione della PoC di Stevens, in Inghilterra ha cominciato a circolare una strana mail, apparentemente proveniente dalle Reali Poste britanniche, il cui testo faceva riferimento ad una mancata consegna invitando il destinatario ad verificare per informazioni l’“innocua” fattura allegata in PDF. A prima vista la mail sembra il frutto di un banale errore burocratico, e anche quando si va a visualizzare l’allegato mediante un comune reader non succede nulla di “troppo” strano. Questa semplice ed apparentemente innocua azione, tuttavia, provoca la silenziosa installazione sul PC dell’utente dell’ennesima variante del noto trojan Zeus.

Zeus… in allegato
La “fattura” allegata alla mail contiene a sua volta un secondo documento PDF “embedded” al proprio interno, denominato Royal_Mail_Delivery_Notice.pdf, il quale viene salvato automaticamente sul disco locale dal reader se javascript è attivo quando viene aperto il documento principale. All’utente viene mostrata la normale finestra di salvataggio del file, il quale appare come un normale PDF allegato al documento principale. Questo secondo documento tuttavia non è affatto un PDF ma una copia di Zeus che, una volta salvata in locale, verrà mandata automaticamente in esecuzione dal reader mediante un utilizzo particolarmente ingegnoso della funzione /Launch sopra descritta.


Visualizzando la “fattura” allegata alla mail fasulla della Royal Mail, si innesca una richiesta di salvataggio di un falso PDF che in realtà è una copia di Zeus

La funzione viene invocata dal javascript passandole come comando da eseguire la shell di comandi di Windows (cmd.exe): ed è a quest’ultima che viene dato il compito di eseguire il sedicente “allegato PDF”. Il reader a questo punto mostra all’utente la prevista finestra di avvertimento sul fatto che si sta tentando l’avvio di un programma esterno, ma il messaggio mostrato è così oscuro che l’utente con tutta probabilità, anche essendo tranquillizzato dall’apparente “normalità” della situazione, acconsentirà senza porsi troppe domande. E così si ritroverà installato, a sua insaputa, una copia del malefico Zeus.


La shell di Windows quando si invoca /launch in un reader per eseguire un file esterno al pdf: il nome del file è stato sostituito con un testo arbitrario

Gli echi della scoperta di Stevens e delle sue conseguenze sono rimbalzati su tutti i siti di sicurezza del mondo. La situazione scoperta dal belga è, tra tutte quelle che potevano capitare, una delle più difficili da gestire. In primo luogo perché getta una luce di relativa inaffidabilità su un formato di rappresentazione testuale non solo diffusissimo e accettato come standard anche sul piano legale da molti Governi, ma che aveva fatto proprio della sicurezza e dell’affidabilità il suo principale cavallo di battaglia contro la concorrenza. In secondo luogo perché non riguarda un bug implementativo di questo o quel reader ma una funzionalità standard prevista by design nelle specifiche tecniche del formato, cosa che rende l’eliminazione del problema assai più difficoltosa sul piano concettuale ed onerosa su quello tecnico ed operativo.

La stessa Adobe non è stata in grado, al momento, di indicare alcun rimedio realmente efficace contro il rischio indicato da Stevens. In un laconico comunicato pubblicato sul proprio sito ha infatti affermato di aver preso la cosa molto seriamente e di stare investigando il problema allo scopo di poter sviluppare una soluzione adeguata, ma senza dare alcuna informazione specifica su quando e come ciò potrebbe avvenire. Nel frattempo l’unica indicazione fornita dall’azienda per mitigare il rischio è quella di intervenire sulle opzioni di configurazione di Acrobat Reader per disabilitare del tutto la funzionalità che consente l’apertura automatica di allegati non PDF mediante il lancio di applicazioni esterne.

Vulnerabilità legata allo standard
La vulnerabilità scoperta da Stevens, in quanto legata al formato stesso e non ad uno specifico prodotto che la utilizzi, può essere innescata nei più comuni reader di mercato che risultino completamente compatibili con lo standard. Stevens ha dimostrato di poter ottenere sostanzialmente lo stesso risultato sia su Acrobat Reader che sul diffusissimo Foxit. Al contrario di Adobe, Foxit Software (www.foxitsoftware.com) ha prontamente rilasciato una patch correttiva per il suo reader: tuttavia, come ha mostrato lo stesso Stevens ritornando sull’argomento dopo qualche giorno, anche il reader “patchato” risulta ancora vulnerabile ad una diversa variante del suo exploit.

Vecchi problemi che tornato a galla
Consentire dall’interno di un applicativo il lancio di un’applicazione esterna non è mai una buona idea, e ancora peggio è abilitarla mediante un comando incorporato all’interno di un formato originariamente indirizzato a descrivere solo file di testo (e quindi oggetti “statici”). Ciò poteva non apparire un problema parecchi anni fa, quando le specifiche del PDF vennero sviluppate: ma adesso la funzione /Launch è un’arma micidiale nelle mani di malintenzionati e cybercriminali. Aspettiamo quindi la risposta di Adobe, ma l’impressione generale è che da questo ennesimo problema di retrocompatibilità non se ne uscirà tanto facilmente né in modo completamente indolore.


Adobe, al momento, suggerisce di riconfigurare Acrobat Reader per disabilitare la funzionalità di lancio di applicazioni esterne

APPROFONDIMENTI
Attacchi ben più devastanti
Jeremy Conway di NitroSecurity (nitrosecurity.com) ha mostrato come modificare la tecnica di Stevens per costruire un vettore d’attacco in grado di trasferire il proprio payload da un PDF ad un altro, dando così di fatto origine ad un vero e proprio “PDW worm”; mentre un anonimo blogger noto col nickname di YunSoul ha indicato come sfruttare una variante di questa tecnica per poter infettare automaticamente un numero illimitato di documenti. Di fatto Conway ha pubblicamente dichiarato di temere che l’attacco mediante Royal Mail sia solo l’inizio, e che dovremmo probabilmente aspettarci una crescente spirale di nuovi attacchi sviluppati per sfruttare in modo molto più creativo e micidiale le possibilità aperte dall’exploit di Stevens.

di Corrado Giustozzi, uno dei maggiori esperti italiani di Sicurezza Informatica

Condividi

Lascia un commento

Nome:

Mail:

Oggetto:

Commento:

CAPTCHA

Codice controllo:






Inserisci il codice dell'immagine

CAPTCHA
  
Ho letto e accetto l'informativa sulla privacy



Come calcolare l'IMU

Due nuove aliquote e uno strumento per semplificare il calcolo

BIT 2012

La Borsa internazionale del Turismo riapre i battenti con tante importanti novità

Online il modello 730/12 editabile

Disponibile sul sito dell’Agenzia delle Entrate

La stampante ci spia

Uffici e aziende sono zeppe di stampanti con funzionalità sofisticate di scansione, stampa, copia, invio e ricezione fax, condivisione di rete... Ma siamo proprio sicuri che questi dispositivi non facciano niente altro che il loro onesto mestiere?
Accesso rapido