Untrusted/ Guida all'acquisto di sistemi TC-free

Untrusted/ Guida all'acquisto di sistemi TC-free

di Alessandro Bottoni - Ci sono elenchi dei sistemi trusted ma non li comprendono tutti: come verificare se il computer per cui si stanno spendendo fior di quattrini è un sistema libero o un sistema blindato?
di Alessandro Bottoni - Ci sono elenchi dei sistemi trusted ma non li comprendono tutti: come verificare se il computer per cui si stanno spendendo fior di quattrini è un sistema libero o un sistema blindato?


Roma – Ammettiamo per un istante che siate convinti della pericolosità del Trusted Computing e che vogliate acquistare un PC (desktop o laptop) “non contaminato” da questa tecnologia. Come si può stabilire se un PC è trusted o untrusted ?

Diciamo subito che il gruppo di volontari di www.no1984.org mantiene aggiornato un elenco dei PC che sono sicuramente dotati di funzionalità TC. Consultare questa blacklist è sicuramente la prima cosa da fare. Tuttavia, se il PC che state per acquistare non appare in questo elenco, non è detto che sia effettivamente privo di funzionalità TC. I volontari potrebbero non avere avuto notizia di questo PC o potrebbero non avere avuto il tempo di inserirlo nella loro blacklist. In questo caso, è necessario provvedere di persona ad un esame del sistema.

Tecnicamente parlando, un sistema TC-compliant deve fornire almeno le seguenti funzionalità ed i seguenti componenti.

1) La capacità di cifrare e decifare documenti e flussi di dati in hardware . Questo vuol dire che deve esistere un Fritz Chip separato, saldato sulla motherboard, od una circuiteria equivalente all’interno della CPU
2) La capacità di creare chiavi crittografiche e di memorizzarle all’interno del Fritz Chip (o nella CPU), non sul disco fisso
3) Le funzionalità software necessarie a gestire il Fritz Chip (od il suo equivalente) dal BIOS e/o dal “pannello di controllo” del sistema operativo
4) I driver necessari per pilotare il Fritz Chip
5) Dei programmi applicativi in grado di sfruttare le funzionalità TC della piattaforma, come ad esempio un programma per cifrare “al volo” file individuali ed interi file system sfruttando il Fritz Chip.

Di conseguenza, per stabilire se un sistema è TC-compliant è necessario verificare se mette a disposizione una o più di queste funzionalità.

Dall’esame delle singole funzionalità è anche possibile stabilire, nei dettagli, quanto possa essere pericoloso il sistema in esame. Ad esempio, un sistema che permette la “remote attestation” implementa di sicuro una delle funzionalità più controverse del TC. Un sistema che fornisce solo delle funzionalità crittografiche di base, “ad uso personale”, come il vecchio chip ESS di IBM, è certamente meno pericoloso.

Questa analisi del sistema può essere condotta in vari modi. Qui di seguito descriviamo alcune tecniche che possono essere utilizzate a questo scopo. Si tenga comunque presente che esistono varie tipologie di Trusted Computing (lo standard TCG, Intel “LaGrande” + MS “NGSCB”, ARM “TrustZone”, VIA Technologies “Padlock”, etc.), ognuna delle quali prevede un diverso insieme di funzionalità. Potrebbe non essere facile, o persino impossibile, capire a quale di questi “standard” si attenga un determinato produttore.

Verificare la presenza del supporto HW/SW del TC con una applicazione TC-compliant
Il modo più semplice di stabilire se un sistema è TC-compliant sarebbe quello di avviare una applicazione che richiede la presenza della infrastruttura TC per funzionare. Ad esempio, un player multimediale che facesse uso del TC per implementare il proprio sistema DRM sarebbe perfetto a questo scopo. Se foste in grado di ascoltare un brano musicale protetto da un sistema DRM di tipo TC-based sul sistema di vostro interesse, allora quel sistema sarebbe sicuramente dotato di funzionalità TC.
Purtroppo o per fortuna, non sono ancora presenti sul mercato programmi applicativi che facciano realmente uso della infrastruttura TC offerta da alcuni produttori di hardware per cui, in questo momento, questo test non può essere eseguito.

Questa mancanza di supporto software è un problema molto più ampio e molto più serio di quello che potrebbe sembrare. In questo momento, sia Linux che MacOS X dispongono dei driver necessari per pilotare un Fritz chip. Apple sfrutta la presenza del TPM per impedire l’installazione di MacOS X sui normali PC Intel mentre Linux non ne fa nessun uso . Nel caso di Windows, invece, il supporto al TC sarà disponibile solo tra molti mesi , con l’arrivo di una apposita versione di Widows Vista dotata di NGSCB (ex “Palladium”). In ogni caso, non esiste ancora nessuna applicazione che faccia uso del TC, a parte alcuni tool forniti dai produttori di hardware come “dimostrativi”.

Questo vuol dire che è quasi impossibile rendersi conto della presenza del TPM in questo momento.

La presenza delle funzionalità TC diventerà drammaticamente evidente soltanto quando arriveranno sul mercato Windows Vista con NGSCB ed i programmi relativi. Solo in quel momento molti utenti si renderanno conto di avere acquistato, un anno o due prima, un PC dotato di queste funzionalità. A quel punto, trovare hardware nuovo ed “incontaminato” sul mercato potrebbe essere difficile.


Questa strategia è in parte dettata da una ovvia necessità tecnica ma è anche molto subdola. Non è possibile immettere sul mercato una versione di MS MediaPlayer dotata di un sistema DRM che faccia uso del Trusted Computing prima che il TPM sia ampiamente diffuso sui PC. Bisogna aspettare che il Fritz Chip si trovi su almeno il 70% o l’80% dei nuovi PC prima di tentare una simile operazione, pena il rigetto da parte del mercato.

Ma a quel punto il passaggio al TC avrà degli effetti devastanti. Da un lato non sarà più possibile acquistare e “consumare” materiali multimediali con un PC tradizionale e dall’altro non sarà più possibile trovare hardware e software “TC-free”. L’utente si troverà in trappola.

Verificare la presenza del Fritz Chip con i programmi forniti dal costruttore
Alcuni produttori, tra cui IBM, forniscono all’utente dei programmi applicativi per consentirgli di usare subito il TPM (Fritz Chip) e prendere confidenza con esso, indipendemente dal supporto fornito da sistema operativo. In questo caso, è possibile utilizzare questi programmi per verificare la presenza del Fritz Chip. Se è possibile usare questi programmi, il sistema è sicuramente TC-compliant. Si tenga presente che, in alcuni casi, questi programmi possono essere scaricati da Internet ed usati liberamente per verificare il supporto TC di una intera famiglia di prodotti.

Consultare il manuale in cerca di tracce
In alcuni casi, è possibile stabilire se il sistema è dotato di funzionalità TC leggendo il manuale. Se il manuale fa riferimento a funzionalità crittografiche implementate in hardware (TPM), alla possibilità di creare chiavi di cifra e di conservarle su di un chip, allora il sistema è sicuramente TC-compliant, anche se può essere difficile dire a quale “standard” si attiene (quello, relativamente rispettoso dell’utente, stabilito dal TCG? Quello, molto più autoritario, stabilito da Intel e Microsoft?).

Cercare tracce del TC nel BIOS e nel Control Panel
Oltre che dalla consultazione del manuale, la presenza di funzionalità TC su alcune macchine può essere dedotta dalla presenza degli appositi strumenti di controllo nel BIOS e nel “Control Panel” del sistema operativo.

I sistemi TC-compliant hanno bisogno di un BIOS che sia in grado di attivare e disattivare il Fritz Chip, di creare e memorizzare le chiavi e di gestire le funzionalità TC del sistema. Se nel BIOS sono presenti le voci relative a queste operazioni, ed è possibile eseguire effettivamente almeno quelle fondamentali, allora il sistema è sicuramente TC-compliant.
Se nel Control Panel del sistema operativo sono presenti le voci necessarie ad eseguire alcune delle operazioni caratteristiche dei sistemi TC-compliant, come la cifratura “sigillata” di un file o di un intero file system, allora il sistema potrebbe essere TC-compliant. Per esserne certi è necessario eseguire materialmente una di queste operazioni ed assicurarsi che vada a buon fine.

Questa pignoleria è necessaria perchè alcune operazioni tipiche del TC possono essere eseguite anche dai normali sistemi, almeno in apparenza. Ad esempio, anche Windows (dai tempi di NT) è in grado di crittografare un file system ma lo fa “in software”. Distinguere tra questa funzionalità e quella “in hardware” di un TPM può essere difficile. Per essere sicuri dei risultati della propria analisi è necessario focalizzarsi su funzionalità che solo un TPM può fornire, come la memorizzazione delle chiavi nel chip o la remote attestation.

Si tenga presente che non sempre questi controlli sono agevoli o possibili. Sul mercato sono presenti dei prodotti (specialmente laptop) che dispongono del Fritz Chip ma che non mettono a disposizione dell’utente nessuno strumento per sfruttarne le funzionalità, né a livello di Control Panel né a livello di programmi dimostrativi. In questo caso, l’unica traccia della presenza del Fritz Chip si trova nel BIOS, a causa delle funzionalità necessarie alla sua gestione.

In alcuni casi, i produttori non si curano nemmeno di dichiarare la presenza del Fritz Chip nel manuale d’uso e nei depliant pubblicitari. Tutto questo dimostra, ancora una volta, come il Trusted Computing non sia una funzionalità destinata all’utente finale, che infatti non viene nemmeno informato della sua presenza, ma piuttosto ai fornitori di software e di contenuti multimediali.


Se è possibile aprire il PC, un controllo visivo può risolvere ogni dubbio. Se sulla scheda madre è presente un chip marcato TPM, si tratta sicuramente di un sistema TC-compliant. Se è presente un chip marcato con il nome di una delle aziende che producono i Fritz Chip (Atmel, Infineon, Sinosun, etc.) allora è possibile, ma non sicuro, che il sistema sia TC-compliant.

Si tenga presente che, in questo momento, né Intel né AMD producono CPU dotate di funzionalità TC integrate per cui il sistema deve essere dotato di un Fritz Chip separato, saldato sulla motherboard, per poter vantare funzionalità di questo tipo.

Questa situazione è destinata a cambiare in fretta: sia Intel che AMD hanno dichiarato la loro intenzione di incorporare le funzionalità TC all’interno delle loro CPU, con il risultato di renderle “invisibili”.
VIA Technologies e ARM producono già delle CPU dotate di funzionalità TC integrate e destinate al mercato embedded (sistemi di controllo industriali, CPU per le automobili, etc.) e “mobile” (telefoni cellulari, PDA, palmtop, navigatori GPS, etc.).

Una speranza: un programma di test apposito
In conclusione, stabilire se un sistema è “contaminato” da tecnologie Trusted Computing può essere abbastanza difficile. Tutto dipende da quanto il produttore vuol lasciar trapelare questa informazione e da quanto si può “trafficare” con il PC prima di acquistarlo. Per fortuna, è già possibile intravvedere una soluzione a questo problema.

Sono già disponibili da tempo i driver Linux per diversi Fritz Chip per cui è legittimo aspettarsi che qualcuno, prima o poi, si decida a sviluppare una piccola distro “live”, come la Knoppix , dotata degli strumenti necessari per verificare la presenza del Fritz Chip ed il livello di “trustness” del sistema. Uno strumento del genere renderà tutto molto più semplice.

Una nota: non tutto il DRM è Trusted Computing
Si sente dire spesso che i Pentium D ed i Core Duo sono “Trusted Computing”. Non è vero: questi chip implementano una funzionalità completamente diversa dal TC che si chiama Execute Disable Bit.

Questa funzionalità permette di “marcare” come “zona dati” un’area di memoria in modo che la CPU non esegua mai il codice eventualmente presente in essa. Si tratta di una funzionalità destinata a contrastare gli “exploit” (attacchi) basati sul “buffer overflow”. Non ha niente a che fare con il TC.

Nel fare l’analisi del vostro prossimo PC, fate attenzione a non confondere le funzionalità del Trusted Computing con quelle legate alla sicurezza o con quelle tipiche dei sistemi DRM (anticopia). Non sono la stessa cosa ed hanno conseguenze molto diverse per la vita dell’utente.

Alessandro Bottoni
http://laspinanelfianco.wordpress.com

Le precedenti release di Untrusted sono qui

Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il 24 mar 2006
Link copiato negli appunti