Internet ha rischiato grosso. Se qualcuno un po’ meno responsabile e molto meno onesto di Dan Kaminsky avesse scoperto quello che ha scoperto lui, la Rete come è oggi avrebbe potuto essere sconvolta da pirati del bit pronti a dirottare ogni singola richiesta di visitare un sito. Si trattava di una minaccia che colpiva il cuore del meccanismo del web, quei server DNS che consentono di trasformare sterili sequenze numeriche in indirizzi alfabetici facili da ricordare. Grazie alla collaborazione tra addetti ai lavori e grandi nomi come Microsoft e Cisco , ora dovrebbe essere stata sventata.
I DNS altro non sono che l’elenco del telefono di Internet : ad un nome è associato un indirizzo numerico unico. Quando si digita sul browser www-punto-qualcosa , i server DNS provvedono a fornire un corrispettivo numerico ed indicare dove andare a pescare le informazioni desiderate. Forzando questo meccanismo, “avvelenando i DNS”, riuscendo cioè a modificare i dati scambiati tra i computer, diventerebbe possibile sovvertire l’ordine costituito in rete: chiunque potrebbe dirottare un utente ignaro su un sito costruito apposta per raggirarlo. Dall’oceano dell’informazione si passerebbe in quattro e quattr’otto al regno del phishing .
Kaminsky non ha voluto rivelare i dettagli di quanto scoperto – sono parole sue – “completamente per caso” sei mesi fa. “Stavo cercando qualcosa che non ha niente a che fare con la sicurezza” ha spiegato nel corso di una conferenza stampa, precisando che il problema individuato non coinvolge solo Microsoft e Cisco, ma tutti coloro che operano in rete . Persino gli utenti finali, in taluni rari casi, potrebbero essere vittima di un attacco: per questo non verranno divulgate informazioni particolareggiate almeno per altri 30 giorni , per questo tutti sono stati caldamente invitati a provvedere ad aggiornare i propri sistemi.
Qualche dettaglio, a dire il vero, Kaminsky l’ha fornito. Sul suo blog, spiega che il problema era legato in senso stretto alla progettazione stessa dei server DNS, e che dunque la sua presenza era assolutamente trasversale a qualsiasi piattaforma software utilizzata. Altre informazioni, poi, sono emerse durante una conference call organizzata per spiegare alla stampa cosa era successo: a quanto pare l’assegnazione causale di un translation ID durante una ricerca DNS non è poi tanto casuale come ci si aspetta.
In particolari situazioni, soprattutto in presenza di una grossa mole di traffico generata da un singolo punto di accesso, Kaminsky ha dimostrato la possibilità di indovinare l’ID assegnato ad una determinata richiesta: poiché questa informazione deve essere contenuta nel pacchetto di risposta, conoscendo in anticipo il valore assegnato sarebbe possibile sovrapporre una risposta fraudolenta a quella legittima, instradando il traffico verso qualsiasi destinazione buona o cattiva che sia.
Grazie alle patch distribuite oggi, tuttavia, nei pacchetti sono contenute più informazioni che in precedenza: oltre all’ID temporaneo, è necessario fornire anche la source port , che è un dato fornito in modo diverso e dunque non intuibile a priori come l’altro. Un modo semplice, secondo Kaminsky, per innalzare il livello di sicurezza del sistema senza doverlo rivedere nel dettaglio.
“Si tratta del più grande aggiornamento di sicurezza contemporaneo della storia di Internet” ha sottolineato soddisfatto e ha ricordato come “La serietà di questo bug è dimostrata dal numero di entità coinvolte nella creazione delle patch”. Uno sforzo durato diversi mesi, culminato in una riunione segreta lo scorso 31 marzo presso il campus di Microsoft a Redmond, e che ha tirato in ballo anche il CERT ( Computer Emergency Readiness Team ) affinché fossero minimizzati i rischi globali connessi al rilascio delle patch.
Sebbene fino a questo momento , infatti, non siano stati segnalati problemi, la diffusione delle patch potrebbe dare il la al reverse engineering delle stesse per individuare il problema e tentare di sfruttarlo. Esiste una finestra temporale inevitabile entro la quale esisteranno dei server e dei subserver DNS non ancora aggiornati per fare fronte a questa minaccia: uno o più malintenzionati potrebbero tentare di sfruttare la situazione, magari trasformando una semplice ricerca su Google in un serio grattacapo.
Per sincerarsi di non essere tra le potenziali vittime, sul blog del security expert statunitense è disponibile uno script che verifica lo stato dei propri DNS : si clicca su “Check my DNS” nel riquadro grigio e il sistema restituisce una risposta chiara su quanto il proprio provider ha fatto o non ha ancora fatto al riguardo.
Proprio per evitare questa eventualità , Kaminsky ha comunque precisato di aver provato a coinvolgere da subito quante più persone possibile, senza in alcun modo aver tentato di sfruttare per il proprio tornaconto la questione. “Abbiamo coperto Windows, Cisco IOS. Abbiamo coinvolto Nominum, BIND9 e, quando non siamo riusciti a fare lo stesso con BIND8, abbiamo convinto Yahoo – la più grande installazione di BIND8 – ad impegnarsi pubblicamente ad abbandonarlo”.
A dire il vero, comunque, qualche problema queste patch l’hanno creato. A quanto pare, l’aggiornamento per Windows impedirebbe a Zone Alarm di continuare a funzionare regolarmente: il produttore consiglia di rimuovere la patch per ripristinare il funzionamento del proprio software. Per tutti gli altri, invece, Kaminsky stesso ha un’altra richiesta: “Voglio che diate un’occhiata ai DNS, voglio che proviate a rintracciare il bug e capire se c’è qualcosa che potrebbe andare male”. Tutti possono sbagliare, ammette Kaminsky, qualcosa potrebbe essere sfuggito anche agli esperti che si sono occupati del problema.
Se qualcosa dovesse saltar fuori , l’invito è quello di contattare privatamente lo stesso team che ha portato avanti la campagna di patching per potervi porre rimedio. “Se vi accorgete di qualcosa e me lo direte in privato, vi porterò con me sul palco al Defcon” promette. Sarà in quella occasione , durante il prossimo Black Hat 2008 che partirà il 7 agosto a Las Vegas, che tutte le informazioni su quanto scoperto saranno rivelate .
Luca Annunziata