Cerca nel blog

2010/03/26

La scatola che scavalca l’SSL

Il lucchetto nel browser? I governi lo scavalcano allegramente. Forse non solo loro


Questo articolo vi arriva grazie alle gentili donazioni di "srevai" e "sergio".

Da tempo immemorabile, uno dei consigli ricorrenti per gli internauti è di controllare che nella finestra del browser ci sia l'icona del lucchetto chiuso durante le transazioni via Internet che coinvolgono soldi o segreti: acquisti online, ordini per la propria banca, telefonate tramite Internet, scambio di e-mail di dissidenti in regimi non democratici, eccetera. Il lucchetto indica che la comunicazione è segreta e sicura grazie alla cifratura e ai certificati. O almeno così ci hanno detto. Ma non è vero: non sempre, perlomeno.

Infatti la scatoletta della Packet Forensics mostrata qui sopra, stando a un articolo di Wired, è in grado di vanificare l'uso della comunicazione cifrata SSL/TLS: quella che si nasconde dietro il lucchetto. In estrema sintesi, quando ci colleghiamo per esempio al sito della nostra banca, il sito deve dimostrarci di essere davvero quello che dice di essere. Per farlo manda un certificato digitale: un codice generato da un'autorità fidata. Il nostro browser controlla il certificato e, se è in ordine, ci segnala che tutto va bene chiudendo il lucchetto.

Ma le autorità fidate primarie (root certificate authorities) che generano questi certificati sono oltre un centinaio (un elenco ordinato per paese è disponibile presso Tractis.com), e per quanto siano severamente controllate, qualche pecora nera c'è sempre, come la Etisalat degli Emirati Arabi, che a luglio 2009 fu colta a infilare un programma-spia nei cellulari degli utenti, camuffato da aggiornamento. Inoltre un governo o una forza di polizia o di sicurezza nazionale può generare un proprio certificato per qualunque sito del mondo oppure obbligare una delle autorità di generazione di certificati a produrne uno fasullo. È interessante notare che nessuno dei principali browser si fida dei governi di Singapore, del Regno Unito e di Israele, per esempio, stando all'articolo Certified Lies: Detecting and Defeating Government Interception Attacks Against SSL di Christopher Soghoian e Sid Stamm.

È qui che entra in gioco la scatoletta della Packet Forensics: una società in cui persino il catalogo dei prodotti ha una sezione protetta da password. Adorabile.

A una recente fiera riservata agli specialisti di settore a Washington è stato infatti offerto un depliant che ha rivelato le potenzialità della scatoletta in questione (che somiglia molto a questa, denominata LI-5B): in particolare, "la capacità di importare una copia di qualunque chiave legittima ottenuta (eventualmente su ordine del tribunale) oppure possono generare chiavi 'sosia' progettate per dare al soggetto un falso senso di fiducia nella sua autenticità". In altre parole, installando questa scatoletta presso un provider, è possibile far credere all'utente di essere connesso in modo sicuro e segreto alla propria banca o al proprio account di posta mentre in realtà tutto quello che fa viene intercettato. Il lucchetto si chiude, ma l'orecchio del Grande Fratello si apre.

All'atto pratico ci sono modi più semplici per intercettare una comunicazione online, e la scatoletta scassa-SSL ha lo svantaggio che un utente esperto si accorge della sua presenza (inoltre Soghoian sta sviluppando un'estensione per Firefox che allerta automaticamente l'utente). Questa tecnica di intromissione, un classico man in the middle chiavi in mano, è un problema principalmente per chi viaggia all'estero.

Lo scenario che viene spontaneo immaginare è infatti l'uomo d'affari che si reca in un paese straniero e da lì si collega via Internet per leggere la posta aziendale con i dettagli di un progetto o di una transazione commerciale importante. Se il suo browser non lo avvisa che il certificato di un sito è stato emesso da un'autorità diversa da quella che ha emesso il certificato originale di quel sito, rischia di essere intercettato inconsapevolmente nonostante il lucchetto sia chiuso.

Per chi non viaggia per affari, invece, è importante conoscere l'esistenza di queste forme di intercettazione, per non pensare di essere invulnerabile e quindi non commettere idiozie in Rete credendo di farla franca.

Fonti aggiuntive: The Spy in the Middle, di Matt Blaze.

20 commenti:

Alessandro ha detto...

Quindi se da casa mia mi collego al sito della mia banca e vedo il lucchettone chiuso, come faccio a sapere se mi stanno fregando?

Tukler (senza c) ha detto...

Quello che merita di essere sottolineato ancora di più è che la scatoletta in questione non è un apparecchietto che chiunque può comprare e attaccare da qualche parte in modo da rompere SSL, ma solo un modo per automatizzare una serie di operazioni già ampiamente note, che portano a spacciarsi per il sito certificato e quindi intercettare la comunicazione pur mantenendo perfettamente in funzione tutto il protocollo SSL.

Per realizzare tutto questo servono però due cose: ottenere da un'autorità certificante un valido certificato alternativo per il sito certificato, e riuscire a porre la scatoletta o quant'altro tra l'utente e il sito certificato.
Un governo può avere sicuramente il potere di costringere autorità certificanti e provider a dargli entrambe le opportunità, ed è sicuramente una cosa molto seria (basti appunto l'esempio dell'importante uomo d'affari in viaggio in un paese non del tutto fidato), ma non credo che per molte delle persone che leggono questo blog rappresenti una preoccupante novità sapere che il proprio governo potrebbe, attraverso pratiche non del tutto trasparenti, intercettare le sue comunicazioni con siti protetti da certificato.

Altro discorso è una grossa azione coordinata da parte di malintenzionati, che dovrebbero ingannare l'autorità certificante a rilasciare un altro certificato valido per il sito certificato, e prendere il controllo di un qualche server intermedio (e non credo che a qualcuno così abile e organizzato serva la scatoletta).
Questa sarebbe un'evenienza che potrebbe preoccupare molte più persone e contro la quale sono interessanti le proposte di certificati distribuiti o di tenere d'occhio il cambiamento di autorità certificante.

Per cui per rispondere ad Alessandro per avere massima sicurezza anche in caso di attacchi clamorosi sarebbe quindi buona pratica, oltre a guardare se c'è un certificato, aprirlo e controllarlo, controllare chi l'ha rilasciato (sicuramente VeriSign o GoDaddy sono più affidabili di certe autorità cinesi che offrono certificati a prezzi stracciati e senza controlli rigorosi) e soprattutto ricordarsi di controllare che il sito al quale ci si sta collegando sia quello desiderato.
Se io vado su www.bancaselia.it può avere quanti certificati e lucchetti vuole ma rimane sempre il sito sbagliato...

theDRaKKaR ha detto...

sai Paolo mi hai fatto ricordare di una volta che ad una conferenza un commerciale di una azienda venditrice di appliance di rete illustrò il suo proxy/firewall, dicendo che era in grado di analizzare il contenuto di qualsiasi comunicazione, anche quelle criptate con SSL

alla domanda "ma come diavolo fa?" la risposta fu "è un segreto, ma funziona..."

credo fosse la WatchGuard ma non ne sono sicuro, è successo tempo fa e non ho accesso a documenti dell'epoca

otello ha detto...

ma sbaglio ragionameno o l'esempio citato, uomo d'affari in viaggio ecc ecc, può essere vanificato dal fatto di usare una VPN?

se io uso la connessione del paese straniero, MA invece di collegarmi al sito direttamente apro una mia VPN criptata, con uno dei servizi vpn ad abbonamento che ci sono, a quel punto "esco" dal tunnel nel paese del mio abbonamento...
e il discorso non funziona, o sbaglio?

Bedo ha detto...

@otello
se ad essere compromesso è il server VPN al quale ti colleghi sei fregato lo stesso...

Rilik (aka spidernik84) ha detto...

Come dice sempre il mio docente cisco: "La security non esiste. Puoi alleviare i colpi, ma la certezza assoluta non c'è".
Da un certo punto di vista è anche un bene: chi dice che un algoritmo di cifratura assolutamente sicuro non venga utilizzato per scopi illegali, impedendo l'identificazione del malintenzionato di turno?

@otello: purtroppo anche una vpn può essere soggetta ad attacchi MITM, dipende ovviamente dall'efficacia degli algoritmi di cifratura impiegati, ma se un cracker vuole i tuoi dati, è probabile che riesca ad ottenerli. Magari sfruttando le vulnerabilità dell'os e intercettando i tuoi dati prima dell'incapsulamento nel tunnel... la security non esiste!

Tukler (senza c) ha detto...

@thedrakkar:

Era un commerciale, appunto;)

Tukler (senza c) ha detto...

@Bedo:
Il che equivale a dire che se compromettono il server della mia banca non c'è SSL che tenga.
Ma qui si parla di sicurezza delle reti, non dei sistemi...
E' come dire che due spie potranno parlare tra loro il linguaggio in codice che vogliono, ma nessun linguaggio è sicuro perché se ne catturi una e la torturi i segreti te li dice.

@Rilik:
se io e te vogliamo trasmetterci qualche informazione in maniera che nessuno sia in grado di decifrarla, abbiamo tutti gli strumenti che vogliamo per farlo, sin dai tempi di Zimmermann... e stai tranquillo che i "malintenzionati" li conoscono e li sanno usare benissimo.

Max Senesi ha detto...

@Paolo
Si sa come si chiama l'estensione e/o dove scaricarla quando sarà pronta? Sarebbe molto interessante averla. Grazie

otello ha detto...

si, chiaramente se IO sono preso di mira la sicurezza ecc ecc, il computer ecc ecc, che volendo posso usare un OS più sicuro per evitare alcuni problemi
...tanto alla fine fanno prima a sfondare la porta e prendere il pc, per dire :P

ma se parliamo dell'esempio riportato, cioè di accesso ad una rete che compromette il sito della posta o della banca a cui voglio commettermi, avere la mia VPN e usare quella mi consente di aggirare il problema

logico possono compromettere la vpn, ma lì devi già compromettere la tua rete E una rete di altri in paese straniero, insomma è più una cosa "prendo di mira te"
e a questo non c'è rimedio alla fine

ǚşå÷₣ŗẻễ ha detto...

@Otello

Cos'è che vuoi commetterti? Non fare pazzie! :D

otello ha detto...

ma va là :D
è pur sempre relativo a questo pezzo "l'uomo d'affari che si reca in un paese straniero e da lì si collega via Internet per leggere la posta aziendale con i dettagli di un progetto o di una transazione commerciale importante."

Federico ha detto...

sai Paolo mi hai fatto ricordare di una volta che ad una conferenza un commerciale di una azienda venditrice di appliance di rete illustrò il suo proxy/firewall, dicendo che era in grado di analizzare il contenuto di qualsiasi comunicazione, anche quelle criptate con SSL

in effetti un grosso problema degli antivirus aziendali (quelli che lavorano a livello centralizzato, non quelli sulla postazione di lavoro) è che non possono intercettare il traffico SSL. La soluzione?

Tu credi di essere collegato via HTTPS al sito, invece sei collegato via HTTPS all'apparato. L'apparato vede il traffico in chiaro e lo può controllare, poi si collega a sua volta via HTTPS al vero sito di destinazione.

Naturalmente l'utente riceve un errore di certificato, a meno che in azienda non sia stato distribuito ed approvato come sicuro il certificato dell'apparato.

Sinceramente mi sembra una soluzione molto brutta, che risolve qualche problema di sicurezza ma ne introduce moltissimi altri... a me non piace e l'ho abolita.

Federico ha detto...

Se il suo browser non lo avvisa che il certificato di un sito è stato emesso da un'autorità diversa da quella che ha emesso il certificato originale di quel sito, rischia di essere intercettato inconsapevolmente nonostante il lucchetto sia chiuso.

comunque il browser dovrebbe avvisarti sempre che c'è qualcosa che non va. Va bene che molta gente non ci fa caso, o cerca in tutti i modi di liberarsi del messaggio di errore senza nemmeno leggerlo, però credo ci siano problemi più gravi.... sai quanti scherzetti può fare un provider malvagio, solo utilizzando http?

Olivier ha detto...

Non credete di fare del "catastrofismo" ?
Se fosse realmente tanto semplice non credete che il modo sarebbe pieno di ladri miglionari?
Questo non minerebbe forse qualsiasi ebanking ?
In fondo credo che se usi le giuste URL e il Browser (uno valido) non ti avvisa che il certificato ricevuto non è rilasciato per URL che chiedi, come possono riuscire a fregarti (a parte se non hai dei virus/malware o altri software spia che ritrasmettono in chiaro ..) ?
Il vero punto più vulnerabile in fondo è il provider ( probabilmente lui può effettivamente farmi credere "lucciole per lanterne"), ma non sono debitamente controllati ?
Ma a questo punto mi chiedo, voi allora non fate uso di ebanking ?

TuKler ha detto...

Tu credi di essere collegato via HTTPS al sito, invece sei collegato via HTTPS all'apparato. L'apparato vede il traffico in chiaro e lo può controllare, poi si collega a sua volta via HTTPS al vero sito di destinazione.

Questa non la conoscevo... che paura!:O
Certo che snaturare un protocollo di sicurezza per offrire la propria sicurezza è un po' da megalomani...

theDRaKKaR ha detto...

@Tucler (senza k)


Era un commerciale, appunto;)

dai dici che non sapeva rispondere? naaa mi sembrava un commerciale che sapeva di cosa parlava.. penso piuttosto che non vogliano, giustamente, divulgare il metodo, ma penso che sia quello descritto in precedenza: il firewall presenta un finto certificato al browser, e riceve i dati da esso non criptati, li controlla e poi li spedisce al server SSL, avendo l'accortezza di autenticarsi lui correttamente

per il flusso di dati dal server al browser, essendo il firewall ad essersi autenticato, può decriptarli e controllari prima di darli al browser

spiegazione casareccia ma altre non me ne vengono

TuKler ha detto...

@thedakar:
Intendevo che come commerciale si stava probabilmente vedendo qualcosa spacciandolo per qualcos'altro, o se non altro mantenendo volutamente il beneficio del dubbio.
Se mi dice che usa un metodo segreto per analizzare dati trasmessi in una sessione SSL io penso che sia in grado di decriptarli e leggerli, non certo che tiri fuori un accrocchio contronatura per sostituirsi a me e al server nell'autenticazione;)

Non sapevo che questi apparecchi fossero tanto diffuse in ambito aziendale, ma temevo proprio che quello di cui si parlava fosse una porcata del genere...

theDRaKKaR ha detto...

@Tuler

Intendevo che come commerciale si stava probabilmente vedendo qualcosa spacciandolo per qualcos'altro

madonna che considerazione che hai dei commerciali! =)

Federico ha detto...

ho finalmente trovato il tempo di leggere qualche documento linkato, ed effettivamente c'è qualche cosa che non avevo considerato. Riassumendo:

- intercettare il traffico SSL si può ed è semplice, basta usare una tecnica di tipo man in the middle;
- se il tuo ISP è malvagio, attivare questa tecnica è molto semplice, altrimenti no;
- fortunatamente, per non ricevere un errore dal browser, serve disporre di un certificato valido;
- sfortunatamente, un sito SSL potrebbe avere più di un certificato vaido, e non è specificato in alcun modo quale deve essere il vero certificato (prima debolezza);
- ma nessun certificatore serio commetterebbe l'errore di assegnare un secondo certificato ad un sito fasullo: su questo non ci piove;
- purtroppo, per ragioni mi sembra di capire "politiche", tra l'elenco dei certificatori fidati ce ne potrebbe essere qualcuno di un po' meno fidato ed un po' più corruttibile... seconda debolezza, ed ecco quindi l'exploit :-)

ah naturalmente non serve andare all'estero per avere il problema, basta anche un ISP malvagio o un Access Point compromesso... :-)
Il problema comunque è interessante, ma, almeno per adesso, lo vedo più teorico che pratico.