Untrusted/ Windows Vista ed il Trusted Computing

di Alessandro Bottoni - Windows Vista è arrivato sugli scaffali dei negozi. Ma è più sicuro di Windows XP? Quanto Trusted Computing porta con sé? Saremo costretti ad adottare questa tecnologia? Una piccola indagine
di Alessandro Bottoni - Windows Vista è arrivato sugli scaffali dei negozi. Ma è più sicuro di Windows XP? Quanto Trusted Computing porta con sé? Saremo costretti ad adottare questa tecnologia? Una piccola indagine

Prima di parlare del Trusted Computing di Windows Vista è necessario ricordare alcune caratteristiche di Windows Vista e vedere come il Trusted Computing si inserisce nella strategia generale di sicurezza di Microsoft. Permettetemi quindi di fare una breve digressione.

Il sistema operativo più sicuro di tutta la storia di Microsoft
Microsoft si è posta un obiettivo molto ambizioso per Windows Vista: farne il sistema operativo più sicuro che la casa di Redmond abbia mai rilasciato. Questo obiettivo ha avuto una grande presa sugli osservatori che si occupano del mondo Microsoft. Ad esempio, poco dopo la sua uscita, PC Magazine ha salutato Windows Vista con questa frase:
“Alcune nuove tecnologie di protezione, sviluppate da Microsoft, permettono di garantire a Windows Vista un posto predominante anche sugli avversari diretti (MacOS X, Linux e Unix).” (Febbraio 2007, pag. 34)

Queste tecnologie sarebbero, nei fatti, le seguenti:

1) Firma digitale dei driver
2) Protezione della memoria fisica (RAM)
3) Patch Guard, cioè protezione delle aree dati usate dal sistema operativo
4) Sistema antispyware integrato “Windows Defender”
5) Firewall migliorato
6) Nuovo centro di controllo per la sicurezza
7) User Account Control
8) Nuovo sistema di aggiornamento automatico (Microsoft Update) con supporto per la verifica della integrità e della genuinità dei file scaricati ed installati
9) Internet Explorer 7 con antiphishing

Secondo molti osservatori, Microsoft sarebbe addirittura riuscita nel suo intento. Ecco come si esprime a questo proposito PC Magazine (Febbraio 2007, pag 35):
“Un’attenta analisi, con prove pratiche nelle varie situazioni descritte, ha effettivamente permesso di confermare quanto sopra scritto: i dialer ed i virus trojan che un tempo infestavano il computer sono rimasti lontani dal sistema, bloccati dai filtri attivi e dalle barriere software.”

Siamo quindi di fronte ad un sistema operativo davvero innovativo, o persino rivoluzionario, per quanto riguarda la sicurezza?
No.

Nonostante le iperboli delle riviste del mondo Microsoft, Windows Vista non è significativamente più sicuro delle precedenti versioni di Windows e resta nettamente meno sicuro di Linux e di tutte le varie versioni di Unix, compreso MacOS X. Più esattamente, dal punto di vista della sicurezza, il nuovo Windows equivale alla situazione che si poteva ottenere con il vecchio Windows 95 dopo aver installato ZoneAlarm (il più diffuso firewall personale gratuito) e AdAware (il più diffuso sistema antiadware e antispyware gratuito).

Mi rendo perfettamente conto del fatto che questa è una affermazione pesante e che molti lettori non saranno d’accordo, ma basta un attimo di riflessione per rendersi conto del fatto che le cose stanno proprio in questo modo.

La dimostrazione più immediata di quello che ho appena detto è il fatto che Windows Vista, come tutti i suoi predecessori, impone comunque l’installazione di un buon antivirus. Microsoft stessa si premura di raccomandare questa misura di sicurezza preventiva. Non solo: tutti gli osservatori indipendenti sono d’accordo con la casa madre nel ritenere che si tratti di una misura di sicurezza indispensabile per Windows Vista. Come noto, né Linux, né BSD, né MacOS X né nessuno degli altri sistemi operativi conosciuti ha bisogno di un antivirus per funzionare in condizioni di sicurezza.

Questo fatto, da solo, dimostra che Windows Vista, in sostanza, non è più sicuro delle precedenti versioni di Windows né, tantomeno, degli altri sistemi operativi di cui si fa largo uso. Se Windows Vista richiede l’uso di un antivirus, come tutti i suoi predecessori, vuol dire che una parte significativa delle sue falle di sicurezza sono ancora al loro posto. Non solo: vuol anche dire che il suo modello di sicurezza continua a presentare dei seri problemi concettuali.
E veniamo finalmente alle caratteristiche “Trusted” di Windows Vista. Come abbiamo appena detto, dal punto di vista della sicurezza, siamo di fronte ad un sistema operativo che presenta ancora dei seri problemi e che, di conseguenza, ha bisogno di un aiuto piuttosto deciso. Come si inserisce il Trusted Computing in questo scenario? Contribuisce in maniera significativa al miglioramento della sicurezza?

Per il momento, le funzionalità Trusted Computing vengono usate all’interno di Windows Vista solo in un caso: per supportare la cifratura della partizione del disco occupata dal sistema operativo e da eventuali altri programmi di terze parti. Questa funzionalità è nota come BitLocker o, più esattamente, come FVE (Full Volume Encryption).

FVE funziona in questo modo: prima di tutto, si crea una partizione del disco fisso specifica per il sistema operativo ed i programmi, cioè qualcosa di equivalente alle partizioni /bin e /usr/bin di Unix/Linux, per intenderci. In seguito, questa partizione viene cifrata da un apposito programma, più o meno nello stesso modo in cui vengono cifrati i dischi fissi con EFS (Encrypted File System), cioè il sistema di cifratura/decifrazione on-the-fly disponibile su Windows dai tempi di NT. La chiave di cifra usata per proteggere questa partizione di sistema viene poi memorizzata o su una chiave di memoria flash USB rimovibile o dentro il “Fritz chip” (TPM). Questa seconda possibilità, ovviamente, è disponibile solo se il computer che ospita Windows Vista è una “Trusted Platform” (cioè un PC dotato del TPM e delle altre cianfrusaglie previste dalle specifiche TCG).

FVE permette di proteggere i file del sistema operativo e dei programmi da eventuali modifiche apportate da virus, worm ed altri programmi malvagi. FVE permette anche di proteggere alcuni file di configurazione dallo sguardo indiscreto di eventuali cracker. Ad esempio, permette di tenere i parametri usati per l’accesso alla connessione internet ed alla posta fuori dalla portata di eventuali intrusi.

FVE rappresenta quindi un importante passo avanti nella sicurezza del sistema operativo. Tuttavia, non è tutt’oro quello che luccica.

TPM e/o Chiave USB
Come abbiamo detto, in questo caso il TPM viene usato come “cassaforte” per memorizzare la chiave di cifra usata per cifrare e decifrare la partizione del disco che ospita il sistema operativo ed i programmi. Le funzionalità di sicurezza della Trusted Platform sottostante vengono quindi usate solo in piccola parte.

L’uso del TPM è così ridotto che, di fatto, questo componente può essere rimpiazzato da una normale chiave di memoria USB su cui viene memorizzata la chiave di cifra. Più esattamente, la chiave USB può essere usata sia in alternativa al TPM che in associazione ad esso. Si può condizionare l’accesso ai dati contenuti nella partizione cifrata ad uno o più dei seguenti elementi di controllo.

1) La chiave di cifra memorizzata nel TPM
2) Un codice di startup memorizzato nella chiave USB
3) Un PIN simile a quello usato nei telefoni cellulari

Può essere usata una qualunque combinazione di questi tre elementi di controllo.

Questo è già un primo punto su cui sarebbe il caso di riflettere: se il TPM viene usato così poco da poter essere sostituito da una chiave di memoria USB, probabilmente i vantaggi che fornisce non sono molto diversi da quelli tipici della chiave di memoria o di un CD-ROM. Come vedremo nel seguito, le cose stanno proprio in questo modo. Nonostante l’uso del TPM sia molto limitato, è tuttavia già sufficiente per creare qualche preoccupazione. Cifrare la partizione di sistema del disco e verificarne la salubrità al momento del bootstrap vuol dire che se il sistema operativo è “taroccato” il sistema non verrà autorizzato a partire. “Taroccato”, però, può voler dire sia “modificato” da un virus che “copiato illegalmente” o modificato consapevolmente dall’utente. Il sistema non è in grado di distinguere tra intenzioni buone o cattive ma solo tra file integri e file modificati.

Le funzionalità DRM (anticopia) del Trusted Computing sono quindi già pienamente disponibili su Windows Vista persino con questo livello minimo di sfruttamento della Trusted Platform sottostante. Si tratta, di fatto, della tanto temuta funzionalità di “Secure boot” del Trusted Computing, anche se Microsoft si guarda bene dal chiamarla con questo nome.

Questa funzionalità non aggiunge molto alla protezione anticopia di Windows Vista, già garantita da altri mezzi, ma fornisce un potente strumento anticopia ai programmi di terze parti che si insediano sulla stessa partizione cifrata del sistema operativo.

Ma non facevamo prima con un Live CD?
La sicurezza aggiuntiva che fornisce il Trusted Computing al sistema è piuttosto limitata, soprattutto se viene confrontata con ciò che il mercato fornisce da anni, gratuitamente, su tutte le piattaforme.

Questa stessa funzionalità, infatti, può facilmente essere ottenuta, da diversi anni e su qualunque sistema operativo esistente, grazie all’uso di uno qualunque dei vari sistemi di verifica della integrità del file system, come Tripwire, e di un qualunque supporto esterno per la memorizzazione delle chiavi (un CD-ROM, una chiave USB, etc.).

Questi sistemi funzionano in questo modo:

1) Un apposito programma (Tripwire o simili) genera un apposito “checksum” (MD5 o CRC) che identifica univocamente ogni singolo file che si vuole tenere sotto controllo.
2) Questi checksum sono piccoli file che vengono memorizzati fuori dalla portata di eventuali malfattori, di solito su un CD.
3) Al momento del bootstrap, si esegue il programma, si ricalcolano i checksum e li si confronta con quelli memorizzati. Se uno di questi non corrisponde, vuol dire che il file è stato modificato o sostituito ed il bootstrap viene interrotto in attesa dell’intervento dell’amministratore.

Una soluzione ancora più semplice (e già molto diffusa nella realtà) consiste nell’usare una distribuzione “Live” di Linux (Knoppix, Ubuntu, etc.) e magari salvare i dati su una chiave USB. Questa soluzione non richiede nessuna particolare competenza tecnica e mantiene il sistema operativo al sicuro sul CD (che non è scrivibile e quindi non può essere modificato). Questa soluzione viene usata, ad esempio, per creare dei server resistenti a qualunque tipo di attacco o dei “chioschi” in grado di ripartire da una situazione sicura dopo un possibile crash.

Il Trusted Computing di Windows Vista, quindi, non fornisce nessuna funzionalità realmente innovativa. Ciò che si può fare con il TPM, può essere fatto con altri mezzi da molti anni, gratuitamente.

Si noti che, a differenza di quanto avviene nel caso di Windows Vista e del suo TPM, sia usando Tripwire che il Live CD il controllo resta sempre e comunque nelle mani dell’utente (o amministratore) del sistema. Non può succedere, nemmeno per sbaglio, che il controllo del sistema passi, anche solo in parte o temporaneamente, ad un programma non autorizzato dall’utente o ad una persona diversa dall’utente legittimo del sistema (ad esempio un fornitore). Nel caso del Trusted Computing, anche nella rozza ed incompleta versione offerta da Windows Vista, un fornitore può usare la nostra piattaforma per impedire a noi, legittimi proprietari del PC e suoi clienti paganti, di accedere ai file che installa sul nostro PC.

FVE non è disponibile su tutte le versioni di Windows Vista, così come il supporto al Trusted Computing. Solo le versioni Enterprise ed Ultimate di Windows Vista dispongono di questa feature e, in ogni caso, è necessario partizionare in modo adeguato il disco fisso per poterne far uso.

Windows Vista Enterprise (Business) edition costa 450 euro (300 se in upgrade). Windows Vista Ultimate costa 600 euro (400 se in upgrade). Entrambe le versioni richiedono hardware di ultimissima generazione per funzionare al meglio delle loro possibilità (cioè con l’interfaccia Aero ed altre funzionalità attive).

Di conseguenza, anche se il Trusted Computing di Windows Vista fosse, per ipotesi, una funzionalità utile, resterebbe comunque qualcosa riservato ad una èlite. Per nostra fortuna, questo vuol anche dire che non succederà mai che ci rifilino una macchina dotata di TPM e di Windows Vista Enterprise od Ultimate senza che ce ne accorgiamo.

Allarmismo ingiustificato e gratuito?
Ma allora… di Trusted Computing dentro Windows Vista ce n’é davvero poco! Tutti i discorsi che abbiamo fatto sul Trusted Computing erano solo una trovata per far audience?
No.

In occasione della prima giornata sul Trusted Computing, che si è tenuta all’Università di Milano il 12 maggio 2006, un inviato di Microsoft ci aveva già anticipato queste scelte di marketing ed ha apertamente ammesso che esse dipendevano, almeno in parte, dalla reazione ostile del pubblico alle tecnologie per il Trusted Computing. Quindi, se il Trusted Computing è sfruttato “poco” in queste prime versioni di Windows Vista è anche grazie alla nostra mobilitazione. Abbiamo ragione di credere che questo sia vero anche per quanto riguarda la scelta di Apple di non usare più i TPM come dispositivi di protezione di MacOS X sui MacIntel.

Inoltre, va sottolineato che persino l’uso apparentemente limitato di queste tecnologie da parte di Windows Vista, è già sufficiente a giustificare diverse preoccupazioni. Il Secure Boot permette di porre molti vincoli alla libertà dell’utente e quindi pone molti limiti alle sue scelte di mercato. Questa funzionalità è già disponibile, almeno in una prima rozza versione, su Windows Vista grazie a FVE. Non occorre quindi aspettare un sistema TCG 1.2 full-compliant per cominciare a preoccuparsi. Per quanto riguarda la sicurezza dei sistemi operativi, è importante far sapere che Microsoft sta attivamente lavorando su una interessante alternativa al Trusted Computing: i sistemi operativi “intrinsecamente sicuri” (“Intrisecally Safe Operating System”).

Mi sono permesso di prendere a prestito il termine “Intrisecally Safe” dall’ingegneria nucleare per identificare una tipologia di sistemi operativi che affronta il problema della sicurezza attraverso una attenta opera di progettazione del sistema operativo e della sua piattaforma di programmazione. Sistemi operativi di questo tipo sono allo studio da anni nelle università di tutto il mondo, come nel caso di EROS, di Plan9 di Bell Labs e di Inferno di Vita Nuova .

In quasi tutti i casi, questi sistemi operativi fanno uso di una piattaforma di programmazione basata su codice “gestito” (“managed”), simile a C#, e di una architettura di comunicazione interprocesso basata sullo scambio di messaggi. Questo permette di sviluppare il sistema operativo usando il paradigma della programmazione basata su contratti (“programming by contract”), simile a quella messa a disposizione da.NET e da COM/DCOM di Microsoft. Questo paradigma permette, a sua volta di verificare l’identità ed il comportamento dei singoli programmi prima che vengano eseguiti e che possano fare danni, rendendo inutile l’approccio del Trusted Computing. Un team di volontari sta addirittura cercando di implementare un sistema operativo “libero” di questo tipo usando C#. Il progetto si chiama SharpOS .

Il progetto di sistema operativo intrinsecamente sicuro di Microsoft si chiama Singularity ed è stato presentato ufficialmente alla stampa nei mesi scorsi con una serie di interviste ai suoi sviluppatori. Microsoft ha pubblicato queste interviste video sul suo canale VideoOverIp Channel 9 . Singularity è solo un sistema operativo “da ricerca”. Non è destinato a raggiungere il mercato. Tuttavia, Singularity dimostra in modo inequivocabile come esistano delle alternative credibili al Trusted Computing e come Microsoft stessa sia un vero protagonista nel loro sviluppo.

Non resta che rendere pubblicamente onore a Microsoft per questa importante opera di ricerca e sperare che Singularity dia vita ad un nuovo sistema operativo commerciale nei prossimi anni. Naturalmente, bisogna anche augurare tutta la fortuna possibile alla sua controparte “open”, cioè a SharpOS.

Conclusioni
Come abbiamo visto, il supporto al Trusted Computing di Windows Vista è piuttosto limitato e sostanzialmente inutile dal punto di vista dell’utente finale e della sua personale sicurezza. Le funzionalità che esso offre possono essere replicate senza difficoltà da un semplicissimo Live CD di Linux, senza nessuna difficoltà, senza nessuna “configurazione” e soprattutto gratis.

Tuttavia, il pur limitato supporto al Trusted Computing di Windows Vista è socialmente pericoloso. Lo è perché mette un potente strumento di controllo nelle mani, non sempre pulitissime, delle aziende che producono e distribuiscono software e contenuti multimediali. Per capire quanto questo possa essere pericoloso, basterà pensare a cosa è successo l’anno scorso con i CD musicali di Sony/BMG (afflitti niente meno che da un rootkit!).

Alessandro Bottoni
oceanidigitali.it

Tutte le precedenti release di “Untrusted” sono disponibili a questo indirizzo

Link copiato negli appunti

Ti potrebbe interessare

21 02 2007
Link copiato negli appunti