
» continua
Ampiamente propagandato dal management di Microsoft come la versione più sicura di Windows, Vista nei mesi scorsi è stato oggetto di diverse analisi riguardo la security. Però non sono stati solo apprezzamenti, poiché nel nuovo Windows i ricercatori stanno scoprendo difetti con una certa regolarità. Ma allora, Vista ha davvero raggiunto un nuovo picco nella sicurezza del sistema operativo? Per rispondere alla domanda esaminiamo alcuni dei difetti individuati e valutiamone le implicazioni.
I privilegi d'accesso
Nel dicembre
2006, si è diffuso su Internet del codice che avrebbe consentito a un attacker
di salire tutti i gradini della gerarchia dei privilegi d'accesso, partendo da
quello più limitato del comune utente per arrivare a quello completo del
sistemista, attraverso la modifica di un processo critico del sistema denominato
csrss.exe.
Con le prime versioni di Windows, molte organizzazioni avevano dato a tutti gli utenti locali i privilegi di amministratore sui loro sistemi in modo che potessero aggiungere stampanti o installare il software. Tuttavia, è molto pericolo lasciare agli utenti la possibilità di navigare in Internet o leggere email con i privilegi di amministratore, così Microsoft ha progettato Vista affinché abbia una suddivisione migliore dei privilegi. Malgrado gli sforzi di Microsoft, l'escalation di attacchi ai privilegi come quello descritto sopra riescono a evitare la pur aumentata sicurezza. Ulteriori vulnerabilità locali inerenti l'escalation dei privilegi sono state rilevate nel febbraio 2007 e ciò può indicare che Vista è probabilmente un terreno di caccia fertile per questo genere di difetti.
Il nodo dell'UAC
In febbraio, la
ricercatrice Joanna Rutkowska ha inoltre individuato un altro problema nella
sicurezza di Vista. Uno dei controlli principali per la security di Vista è
chiamato dell'User Account Control (UAC). La Finestre di dialogo delle edizioni
di UAC apre dei box di dialogo che chiedono all'utente il permesso di fare
alcune cose, come installare un programma. L'utente può scegliere se consentire
tali privilegi o di non installare il programma.
Entrando più in dettaglio nel difetto dell'UAC, Rutkowska ha osservato che tutti i programmi per l'installazione delle applicazione richiedono i privilegi di amministratore per essere eseguiti perciò anche installare persino il programma più semplice (Rutkowska ha usato come esempio il gioco del Tetris) richiede i privilegi d'amministratore. A fronte di questa situazione, Rutkowska ha criticato Microsoft nel suo blog, poiché questo requisito va esattamente nel verso opposto rispetto alla separazione dei privilegi pretesa da Vista.
Mark Russinovich, creatore della suite di tool di Sysinternals (comprata poi da Microsoft), rigetta le accuse dicendo: “Le potenziali vie d'attacco, indipendentemente dalla facilità o dalla portata, non sono bug di sicurezza”. E argomenta la sua tesi sostenendo che, poiché questa aspetto faceva parte del progetto di Vista, con il suo UAC e i programmi che funzionano a differenti livelli di integrità (IL), non si dovrebbe parlare di difetto di sicurezza.
Questo è certo un aspetto positivo ma in realtà non risponde alle preoccupazioni della Rutkowska sul fatto che ogni installatore debba avere i diritti di amministratore. I difetti di sicurezza potrebbero essere bug di implementazione (come il gran numero di vulnerabilità inerenti il buffer overflow che vediamo in maniera regolare) o decisioni di progetto che si comportano in modo errato e non riescono a contrastare le minacce del mondo reale.
Driver "firmati"
L'anno scorso, Rutkowska ha dimostrato un metodo
ingegnoso per raggirare il requisito di Vista di avere driver "firmati". Per
arginare i rootkit che controllano un sistema operativo dal kernel, Microsoft ha
richiesto che tutti i device driver abbiano una firma digitale prima che il
kernel stesso li carichi.
Tuttavia, Rutkowska ha scritto un programma che comincia semplicemente prendendosi molta memoria e limitando quindi lo spazio per gli altri programmi e per il kernel stesso. Quando la memoria a disposizione diminuisce, i software cominciano a effettuare il paging di parti di codice che attualmente non stanno usando, mettondoli in un pagefile sull'hard disk. L'espediente della Rutkowska forzerebbe il kernel di Vista a fare il paging dei propri device driver e di altro codice. Quindi, il codice della Rutkowska altererebbe le parti di kernel di cui è stato effettuato il paging e punterebbe a liberare la memoria, inducendo il kernel a effettuare di nuovo il paging degli elementi del kernel stesso che sono stati alterati. In pratica si ottiene un kernel alterato che evita i requisiti della firma.
La sicurezza del boot
Altri
ricercatori di sicurezza hanno dimostrato che possono avvenire attacchi al kerel
di Vista attraverso il boot sector. Quando il sistema si avvia, un piccolo
programma nel Bios individua il dispositivo di boot (hard disk, CD, eccetera).
Dopodiché vengono eseguiti i codici di boot del sistema operativo, che, a loro
volta, caricano il kernel.
Nel marzo 2007, Nitin e Vipin Kumar hanno rilasciato un tool denominato Vbootkit che minaccia questo processo. Con un CD di boot, un attacker può caricare Vbootkit prima persino che il kernel entri in gioco. Vbootkit può alterare il kernel dall'interno quando viene caricato, operando in modo diabolico, come se stesse scalando i privilegi dei processi controllato dall'attacker.
La corrente versione di Vbootkit richiede l'accesso fisico (per inserire il CD) e non rimane memorizzato dopo che il computer è spento. In un prossimo futuro, tecniche simili potrebbero essere usate per alterare il boot dell'hard drive o persino effettuare il “flash” dei sistemi BIOS. Questo non richiederebbe un accesso fisico e rimarrebbe sul sistema fino al reboot, anche dopo una riformattazione dell'hard drive. E dato che Vbootkit si avvia per primo, non vi si applicano i driver del kernel che richiedono del codice firmato.
Il prossimo futuro
Ceramente In
Windows Vista, gli sviluppatori Microsoft hanno inserito diversi tool per
aumentarne la sicurezza, compreso UAC, una migliore separazione dei privilegi e
le protezioni del codice firmato attorno al kernel . Tuttavia, l'individuazione
quasi mensile di problemi di sicurezza importanti in Vista lascia un po'
inquieti.
E parecchi elementi possono vanificare i migliori sforzi di Microsoft:
- Lo scenario delle minacce ha assunto una diversa fisionomia negli ultimi anni. Gli attacker stanno facendo soldi; hanno un budget di sviluppo e di ricerca, che gli permette di generare attacchi indiretti. Per fronteggiare i malintenzionati, i ricercatori legittimi di sicurezza stanno facendo un accurato esame al sistema operativo, inventandosi gli attacchi più sottili ed elaborati possibili.
- Attacchi come Vbootkit indicano che Microsoft non può controllare tutto. Sono già state trovate tecniche che consentono di bypassare il boot del sistema operativo, il che può vanificare l'imponente sistema di sicurezza messo a punto per Vista.
- La complessità è nemica della sicurezza e Vista è davvero complesso. Anche se il sistema operativo rappresenta un importante successo nella limitazione del numero di vulnerabilità per linea di codice in un sistema operativo, il voluminoso aumento delle dimensioni del software stesso sta a significare che probabilmente ci sono ancora molti difetti da scoprire. Gli attacker avranno da divertirsi nel corso dei prossimi anni a cercare i difetti.
Con questi presupposti, è lecito apsettarsi altri importanti problemi di sicurezza in Vista. È probabilmente il più sicuro Windows di sempre, ma questo non sembra essere abbastanza per contrastare le minacce odierne e future.
