Tempo di Lettura: 4 minuti
Ogni computer possiede internamente dei sistemi software per generare numeri pseudocasuali, che sono una parte critica della moderna scienza computazionale, in particolare per la crittografia usata per cifrare file, messaggi di posta elettronica e per l’utilizzo del protocollo SSL (alla base dei sistemi di commercio elettronico su internet) e per la generazione delle password.
Si definiscono pseudocasuali perché la generazione di numeri realmente casuali, non è possibile nella realtà in quanto per generare un numero casuale significa che prima di essere generato, tutti gli elementi di un certo insieme siano egualmente probabili come risultato, cosa che dal punto di vista software ancora non è mai stato realizzato. E’ per questo che si parla di generatore di numeri pseudocasuali (PRNG, dall’inglese Pseudo Random Number Generator), ovvero di algoritmi in grado di generare una successione di numeri, i cui elementi sono approssimativamente indipendenti l’uno dall’altro.
Nonostante questo problema sia noto, fino ad oggi i numeri pseudocasuali, hanno sempre avuto una imprevedibilità sufficiente per l’attività normale. Se così non fosse stato, ciò avrebbe minato tutti gli algoritmi di crittografia, SSL (Secure Socket Layer) in primis, che per funzionare hanno bisogno di un generatore di numeri pseudocasuali. Se questi numeri non sono abbastanza casuali ma possono essere in qualche modo previsti o interpretati, il funzionamento della crittografia è minato dall’interno.
Ed è quello che hanno scoperto, due ricercatori e studenti universitari israeliani, Benny Pinkas e Zvi Gutterman, che sono arrivati alla conclusione che il generatore di Windows 2000 e di Windows XP ha una falla, che crea rischi per la sicurezza. I ricercatori hanno svolto un’azione di “reverse-engineering” sull’algoritmo utilizzato da Windows 2000 per la generazione di numeri pseudo-casuali (PRNG), utilizzati dal sistema operativo per crittografare file e cartelle.
Forzando l’algoritmo PRNG, i due israeliani sostengono di essere riusciti nel predire le chiavi future e quelle create in passato. All’attaccante è sufficiente conoscere il valore di alcune aree di memoria (in user space, tra l’altro) per forzare la vostra comunicazione criptata. Questo vale ovviamente anche per le transazioni fatte con HTTPS con le carte di credito, ma anche agli istituti bancari e altri enti che trattano dati sensibili.
Messa alle strette Microsoft ha ammesso l’esistenza di questa falla sui suoi sistemi Windows e ha promesso che verrà chiusa, solo su Windows XP, con il Service Pack 3, annunciato da Microsoft per il primo semestre del 2008. Su Windows 2000, però, non è prevista alcuna patch questo perché Microsoft si rifiuta di riconoscere questo falla come bug che affligge la sicurezza.
Infatti, sebbene, per poter andare a buon fine, la tipologia d’attacco descritta dai due israeliani sia piuttosto complessa, Microsoft, comunque, continua a ridimensionare la pericolosità del problema recentemente messo a nudo: infatti in tutti i casi descritti, le informazioni sono visibili (e l’attacco nei confronti dell’algoritmo PRNG può avere successo) solo da parte degli utenti autorizzati o di altri utenti collegati al sistema locale con diritti amministrativi; poiché gli amministratori, per definizione, possono accedere a tutti i file ed a tutte le risorse disponibili sul sistema, ciò non rappresenta un problema. Questa condizione, quindi, limiterebbe fortemente la pericolosità del bug anche se un aggiornamento dedicato è assolutamente desiderabile.
Il problema è che se un aggressore riesce a prendere possesso di una macchina come amministratore, sfruttando, per esempio, altre falle di sicurezza non adeguatamente “patchate” (cosa che nel mondo Microsoft accade molto spesso), l’attacco nei confronti dell’algoritmo PRNG può avere successo!
Symantec, da parte sua, assume una posizione intermedia e ha bollato i rischi descritti dai due israeliani come “moderatamente elevati”. Un aggressore, infatti, dovrebbe prima riuscire a guadagnare l’accesso sulla macchina oggetto d’attacco. Successivamente il malintenzionato deve effettuare tutta una serie di attività per riuscire a guadagnare le chiavi generate sul sistema. “Uno scenario alquanto complicato“, ha concluso l’esperto di Symantec ammettendo tuttavia che la nascita di tool automatizzati potrebbe rappresentare un grave problema snellendo di fatto la procedura d’attacco.
Quindi, se le cose resteranno così, è molto probabile che Windows 2000, che è ancora in funzione sul 9 percento dei computer professionali in Europa e Stati Uniti (e per il quale Microsoft sta abbandonando il supporto), non avrà mai risolto questo bug, nonostante siano previsti eventuali aggiornamenti di sicurezza. Infatti, allo stato attuale delle cose, questo sistema operativo si trova infatti nella fase di “extended support“. Ciò significa che Microsoft rilascerà solo gli aggiornamenti di sicurezza considerati come critici mentre chi desidera usufruire degli altri aggiornamenti deve iscriversi ad un programma a pagamento (il cosiddetto “extended support”).
Per quanto riguarda invece Windows Vista, Windows Server 2003 e il non ancora rilasciato Windows Server 2008, sembra che questi sistemi operativi non soffrano del problema, perché impiegherebbero invece una versione modificata dell’algoritmo.