Pag 2

Banche online, documenti protetti da password, accessi remoti sicuri, sono tutti sistemi che si basano sulla codifica dei dati. Impostare un sistema di sicurezza via software non è la soluzione migliore, è necessario un controllo hardware.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Fidarsi del Trusted Platform Module, continua

Il TPM può immagazzinare anche informazioni per il boot loader, BIOS e master record, fungendo da "impronta digitale" per il computer; questa può, per esempio, identificare univocamente il computer, ma può anche provare che il computer e i componenti di boot non sono stati manomessi. Il TPM calcola l'hash della configurazione e la memorizza nel Platform Configuration Register, con cui può effettuare un confronto ogni volta che viene avviato un sistema, se viene richiesto dal sistema operativo o da un software di codifica, come BitLocker. Solo perché c'è un TPM nel PC, non significa che interferirà con il processo di boot, perché deve essere configurato per farlo. Inoltre, alcune funzioni TPM, come la lettura della propria chiave, si attivano solo in fase di avvio, quindi i malware non possono leggere la chiave e trasferirla ad un altro PC.

Il controllo della configurazione può essere usata per "sigillare" le chiavi all'interno del TPM, che può fornirle e usarle se il Platform Configuration Register conferma che il sistema non è stato modificato. Se il un virus ha cambiato il master boot record, o qualcuno sta cercando di accedere al PC con un drive esterno e un SO diverso, l'hash conservato nel Platform Configuration Register non corrisponderà, e le chiavi non saranno rivelate, mantenendo protetti i vostri file.

Mano a mano che si diffonde la virtualizzazione, è sempre più comune avere più SO attivi, con uno che gestisce gli altri. Avere, in altre parole, una macchina principale, che possiamo toccare fisicamente, e altre, più o meno numerose, che esistono all'interno della prima, virtualmente. In una situazione del genere la sicurezza del sistema principale è ancora più importante, perché non potrebbero esserci tracce visibili di modifiche o sostituzioni. Le procedure di sicurezza sono dette "root of trust". Il sistema principale, o "supervisore" (hypervisor), deve essere in grado di mettere la CPU in uno "stato conosciuto" (ignorando eventuali modifiche apportate da una o più macchine virtuali), così come di eseguire codice affidabile. Deve anche essere in grado di difendersi da attacchi che potrebbero influenzare il codice stesso. Si può fare resettando la macchina principale, con una procedura di sicurezza statica (si definisce "static root of trust"). Un reset del sistema principale, però, compromette l'uso delle macchine virtuali. In altre parole, più macchine virtuali sono in esecuzione, e più è seccante resettare quella principale.

Le future versioni dei sistemi operativi, i gestori di macchine virtuali e i supervisori faranno appello alle istruzioni della CPU per recuperare lo "stato conosciuto" della CPU stessa, inviando un codice che il TPM controllerà. In questo modo ci potremo assicurare che l'istruzione è esattamente quella attesa, eliminando la possibilità che ci siano software maligni attivi. È quella che si definisce "dynamic root of trust", una procedura di sicurezza dinamica, che si contrappone a quella statica, cioè il reset. Grazie a questa soluzione, sarà possibile riavviare una macchina virtuale in sicurezza, senza dover riavviare tutto il sistema.

Il primo passo per il raggiungimento di quest'obiettivo è la Trusted Execution Technology (TXT) di Intel, che usa il TPM per generare una firma per le macchine virtuali, in grado di dire se un'applicazione è stata istallata, da quando è stata creata la macchina virtuale. L'Intel VT (Virtualization Technology) permette a una macchina virtuale di funzionare con più privilegi, ma, grazie alla lista che la TXT memorizza nel TPM, possiamo scegliere di limitare detti privilegi, o di bloccare del tutto una macchina virtuale. TXT può anche isolare la memoria usata da un'applicazione o da una macchina virtuale, cosicché non possa essere modificata da altre applicazioni, o dal sistema operativo. Se un'applicazione si blocca (crash), e la TXT sta proteggendo la memoria in uso, cancellerà le locazioni di memoria in uso nella RAM e della cache del processore. In questo modo un malware non può forzare il crash di un'applicazione per accedere ai dati in memoria.

L'idea è di creare un'area sicura sul PC in cui sono installate le applicazioni o le macchine virtuali, andando al di là della CPU in sé. Ci sono estensioni del chipset per abilitare la protezione della memoria, e per fornire dei canali protetti per la scheda grafica e le periferiche I/O, per permettere alle applicazioni di lavorare in un'area sicura. I dati che provengono dal mouse e dalla tastiera sono protetti da una chiave crittografica, condivisa dalla periferica e dal gestore degli input. Il sottosistema grafico dispone di una via sicura per lo scambio di informazioni, che assicura che i dati non vengano intercettati. Insomma, se da un punto del sistema passano delle informazioni, quel punto si può mettere "sotto protezione".

Nessuno degli strumenti di virtualizzazione presenti sul mercato usa il TXT, ma Parallel sta lavorando con Intel per usare le VT e il TXT in Parallels Desktop, per creare un sistema di controllo in grado di assicurare che la macchina virtuale è in ordine e sicura. Di certo anche altri attori del campo della virtualizzazione includeranno il supporto TXT nei prossimi tempi.