Pur non essendo una cosa di cui potersi vantare – vista la rapiditá con cui molte versioni sono finite nei noti canali di file sharing – da alcuni giorni ho finalmente sottomano la versione finale di Windows Vista, in lingua italiana, edizione Business N (N forse sta per “Noi europei non vogliamo Media Player”? :)).

Di novitá ce ne sono sicuramente, ma vorrei focalizzarmi maggiormente sulle tecnologie di sicurezza introdotte, aspetto che mi incuriosisce piú del resto. E, d’altronde, qualche giorno fa ho parlato dei problemi degli account limitati in Windows XP e qualcuno mi ha chiesto riguardo Windows Vista.

Sono fondamentalmente tre le parole chiavi che ci interessano e che “guidano” la rivoluzione portata avanti da Vista: UAC, MIC, PatchGuard.

Partiamo da UAC (User Access Control).

Il piú grande problema delle versioni di Windows basate su kernel NT e antecedenti a Vista é sempre stato l’utilizzo di default di un account amministratore. Finita l’installazione del sistema operativo, l’utente si ritrovava con tutti i privilegi a propria disposizione. Ció significa ovviamente che qualunque malware venga lanciato da questo account ha pressocché accesso completo alla macchina. Senza troppi giri di parole, la situazione che viviamo da sempre su circa il 90% dei pc in ambito casalingo.

Finita l’installazione di Windows Vista, abbiamo anche qui un account di amministratore locale, ma ben controllato da un meccanismo denominato Admin Approval Mode. Ció significa che l’account amministratore non ha tutti i privilegi, ma solo quelli basilari. In caso qualche applicazione lanciata necessiti di avere i privilegi di amministratore, una messagebox compare sul desktop chiedendo l’autorizzazione ad effettuare possibili azioni nocive al sistema. Messagebox che richiede anche la password di amministratore se l’account usato non é quello di amministratore locale ma utente standard.

Anche quando compare la richiesta di privilegi vediamo una nuova tecnologia di sicurezza denominata Secure Desktop: il desktop diventa scuro e in primo piano viene evidenziata solo la messagebox con la richiesta. Questa tecnologia é fatta in modo tale che solo processi di sistema possano interagire con il Secure Desktop, evitando possibili manomissioni di eventuali malware.

La seconda caratteristica interessante é il MIC (Mandatory Integrity Control). Grazie a questa nuova tecnologia tutti i processi attivi nel sistema vengono associati ad un indice di integritá, utilizzato per isolare i processi possibilmente nocivi da quelli di sistema. Tutti i processi eseguiti dall’utente vengono marcati con indice di integritá MEDIUM, mentre quelli di sistema vengono marcati come SYSTEM o HIGH. I processi con indice inferiore non possono ovviamente andare a modificare i processi con indice superiore.
Internet Explorer 7, di tutti i processi che di default prendono il valore MEDIUM, é l’unico che viene “degradato” per motivi di sicurezza a livello LOW. Facendo cosí si tenta di prevenire eventuali exploit che possano sfruttare bug di Internet Explorer per provocare danni. Idea interessante, sebbene appena si installa un browser alternativo quale Firefox, questi viene considerato con livello di integritá MEDIUM.

Infine PatchGuard, la tecnologia che tanto ha fatto discutere durante questo periodo di attesa per Vista. Una tecnologia che blinda il kernel di Windows, non abilitando nessun driver non firmato da Microsoft a interagire con esso. Kernel-mode rootkit teoricamente tagliati fuori dunque (insieme a numerosi driver di terze parti che non sono riconosciuti da Vista, ma vabbe…questo é un altro discorso). Se tralasciamo il fatto che giá sono presenti documenti su come alterare questa protezione e che quindi eventuali malware hanno teoricamente strada spianata, notiamo che solo la versione a 64bit utilizza questa tecnologia. Mi sono chiesto – fino a quando non sono riuscito ad avere questa versione di Vista – cosa proteggesse il kernel della versione a 32bit di Vista. Ora ho la risposta: niente. Compare solo un avviso dell’UAC che avverte dell’installazione di un driver non conosciuto.

Inoltre, un’altra interessante caratteristica é che tutti i file scaricati da Internet assumono di default livello di integritá MEDIUM, ció significa che possono modificare tutti i processi settati su MEDIUM. Ho realizzato questo video, magari si vede un pó male e me ne scuso (l’ho fatto ieri notte), peró dovrebbe rendere piú o meno l’idea.

Come in Windows XP con account limitato, anche qui é possibile settare un hook globale su tutti i processi di cui si é owner e di quelli con livello di integritá pari o inferiore. Differentemente i programmi con livello LOW non possono teoricamente settare hook utilizzando l’API SetWindowsHookEx. Considerando peró che i programmi scaricati da internet assumono immediatamente livello medium, l’eventuale problema é tutt’altro che risolto.

Inoltre, sebbene possano modificare i processi, i programmi con livello di integritá MEDIUM non possono modificare o scrivere in directory di sistema o avere accesso al registro. Quindi come possono partire all’avvio eventuali malware? Una modalitá é giá chiara, non la scrivo perché se tante volte qualche malware writer non c’avesse pensato evito di dare idee, ma é veramente banale. Altre arriveranno con il tempo, sicuramente.

Insomma, con Windows Vista non c’é piú bisogno di software di sicurezza? Parlando con alcuni amici di societá di antivirus si é arrivati alla conclusione che, con molta probabilitá, in meno di un anno Vista avrá piú o meno gli stessi problemi di Windows XP.

Chiudo citando parte di un’intervista “rubata” (si é finto un pirata informatico per strappare questa intervista) da Linus Larsson, giornalista svedese, a Corpse, autore del noto rootkit Haxdoor.

CS: By the way, will it also infect Vista? And how about older versions of Windows?

“Corpse”: All versions are supported – Windows 98 (4/10/1998) and later.

CS: Including Vista?

“Corpse”: Yes.