MasterNewMedia Italia
Scopri i migliori tool per comunicare,
collaborare e fare marketing
   
Curated by: Luigi Canali De Rossi
 


3 febbraio 2007

Sicurezza Informatica: Trusted Computing - Protezione O Minaccia?

Il Trusted computing è un insieme di specifiche standard basate sull'idea che la sicurezza informatica possa essere incrementata implementando un particolare microchip (chiamato Trusted Platform Module), il cui compito è quello di permettere agli utenti di installare ed utilizzare solo software classificato come "trusted" (ossia un software che è stato preventivamente riconosciuto ed approvato dai produttori di pc).

trusted_computing_main.jpg
Photo credit: Benjamin Stephan and Lutz Vogel

Tale concetto è stato sviluppato negli ultimi anni dal Trusted Computing Group e fra i suoi principali promotori annoveriamo grandi industrie tecnologiche quali Microsoft, Intel, IBM e Sun Microsystems Inc.

Nonostante le premesse del Trusted Computing Group, molti critici - inclusi ricercatori accademici, esperti di sicurezza e gli sviluppatori di software libero a codice aperto - sono d'accordo sul fatto che l'effetto complessivo (e a dir la verità l'intento più vero) del trusted computing sia quello di imporre restrizioni irragionevoli all'uso dei pc da parte delle persone.

Il trusted computing è oggetto di vivaci dibattiti, molti dei quali relativi al fatto che la visione del TCG si basi sull'assunto che siano le compagnie che producono pc a decidere quali software possano essere installati sui computer e cosa si debba intendere per sicurezza.

Ma quale autorità può arrogarsi il diritto di decidere cosa sia sicuro e cosa non lo sia? E in base a quali parametri?

 

Come ti sentiresti se dicessi che secondo il pensiero del TCG il grande nemico da cui guardarsi, parlando di sicurezza informatica, sei proprio tu?

Non molto confortato, immagino.....

Ma è sul serio questa la visione del Trusted Computing. Al centro c'è l'idea ferma che il grande nemico della sicurezza informatica sia - proprio l'utente stesso.

trusted_computing_trust.jpg
Photo credit: Benjamin Stephan and Lutz Vogel

L'obiettivo principale del trusted computing è quello di rendere i pc più sicuri attraverso l'uso di hardware dedicato in grado di monitorare l'accesso dell'utente ai programmi e consentirgli di eseguire solamente software classificato come "degno di fiducia".

Fino ad oggi, gli utenti finali potevano installare qualsivoglia programma potesse soddisfare le loro necessità e desideri, senza avere a che fare con restrizioni di sorta - eccetto in merito alla compatibilità e ad altri problemi relativi ai requisiti richiesti dal sistema operativo scelto.

Ma se il trusted computing venisse realmente introdotto, tutto questo non sarebbe più possibile.

Prima di allarmarti, lasciami spiegare dettagliatamente cosa esattamente faccia il trusted computing e per quali ragioni.

Microsoft - una delle compagnie fondatrici del TCG - ha divulgato alcune informazioni a proposito dell'architettura del trusted computing, dividendo i cambiamenti necessari all'introduzione del trusted computing in quattro gruppi, che richiedono l'upgrade dei computer odierni con nuovo hardware.

Proviamo a ricapitolare questi elementi:

  1. Memory curtaining ( Oscuramento della memoria)

    Con l'espressione memory curtaining ci riferiamo all'isolamento della memoria del pc, per prevenire il fatto che i programmi siano in grado di leggere e scrivere sulla memoria dedicata ad altri programmi. Oggi, un virus o codice dannoso può spesso leggere e alterare i dati presenti nella memoria del pc. Nei progetti del trusted computing, perfino il sistema operativo non dovrebbe avere accesso alla memoria oscurata, sicché un virus o un hacker che prendesse il controllo del tuo sistema operativo non sarebbe in grado di interferire con la memoria sicura dedicata ai programmi.



  2. Secure I/O ( Input ed Output sicuri)

    Input ed output sicuri, o "secure I/O", vogliono sconfiggere una volta per tutte la problematica posta dai keylogger e dagli screen-grabbers, che altro non sono che programmi utilizzati dagli hacker per spiare l'attività di un utente. Un keylogger registra qualsiasi tasto premuto sulla tastiera dell'utente, e uno screen-grabber registra via remoto ciò che appare nel video dell'utente. Con il secure I/O, nessun altro programma in esecuzione sul pc può intercettare i tasti premuti, o come l'applicazione risponda. Al contempo, il secure I/O permetterà ai programmi di capire se l'input è stato dato dall'utente, oppure da un programma che si finge tale.



  3. Sealed storage ( Dispositivi di memorizzazione digitalmente controllati )

    Il Sealed storage si riferisce all'impossibilità del PC di salvare le password in maniera davvero sicura. Solitamente, le chiavi e le password che proteggono i documenti privati o gli account sono immagazzinati localmente sugli hard disk del computer, insieme ai documenti. Questa procedura può essere paragonata al fatto di lasciare la combinazione di una cassaforte nella stessa stanza della cassaforte. In pratica, un eventuale intruso che controlla segretamente il tuo computer può regolarmente copiare le password presenti sul tuo hard disk

    Il sealed storage è un'invenzione ingegnosa che genera password basate in parte sull'identità del software che ne ha richiesto l'uso, ed in parte sull'identità del computer sul quale il software viene eseguito.

    Se un programma differente da quello che ha in origine criptato, o "blindato", i dati privati provasse a decriptare, o "sblindare", questi dati non vi riuscirebbe.



  4. Remote attestation (Attestazione remota)

    La remote attestation è sicuramente la caratteristica più interessante fra le quattro descritte da Microsoft e il suo obbiettivo è quello di riconoscere i cambiamenti "non autorizzati" dei software. Se chi sferra un attacco ha rimpiazzato una delle tue applicazioni, o parte del sistema operativo con una versione alterata, potresti essere in grado di capirlo.

    Poiché l'attestazione è "remota", anche gli altri utenti con i quali cui interagisci dovrebbero essere in grado di capirlo, sicché eviterebbero di spedire dati ad un pc compromesso.

    Mentre l'attestazione remota è ovviamente utile, l'attuale approccio del TCG fallisce nel distinguere tra applicazioni che proteggono gli utenti dei computer dagli attacchi, e applicazioni che proteggono i computer dagli utenti stessi. Infatti, l'utente del computer, viene a volte trattato alla stregua di un hacker a cui va impedita l'alterazione del software presente sulla macchina.



Leggende metropolitane a proposito del Trusted Computing


Video a proposito del Trusted Computing realizzato da Benjamin Stephan e Lutz Vogel

Arrivati a questo punto, ti dovresti domandare se un computer trusted computing sia realmente in grado di eseguire il software esistente.

Mentre è possibile per i produttori di computer produrre macchine incapaci di eseguire una particolare serie di istruzioni, nulla fra le specifiche del TCG insiste su questo punto. Ancor più importante è il fatto che il modello di sicurezza insito nell'architettura trusted computing non richieda che software indesiderato o non sicuro possa non essere eseguito. Questo modello infatti si concentra sul prevenire che le applicazioni in esecuzione interferiscano tra loro.

Solo un modello di sicurezza grossolano potrebbe riuscire a proibire che del software "cattivo" venga eseguito sul pc, e il modello NGSCB non fa questo.

Inoltre, tale approccio richiederebbe una predeterminazione di quale software sia "cattivo", che sarebbe effettivamente un compito improbo. Alcuni sistemi proprietari presupporrebbero che ogni software non firmato da una autorità riconosciuta sia "cattivo", ma gli utenti insistono sulla possibilità di utilizzare software senza la necessità di una previa autorizzazione da parte di qualsivoglia autorità.



Il problema

security_issue_trusted_computing.jpg

Nonostante l'hardware trusted computing sembra apportare sicuri benefici, è stato accolto in maniera scettica e rimane un questione controversa. Una parte della controversia merita assoluta attenzione, in quanto il sistema trusted computing altera fondamentalmente le relazioni di fiducia tra l'utente e il produttore del pc.

Il concetto di sicurezza include la necessità di specificare cosa possa esser considerato come una minaccia per i pc, e la più grande preoccupazione riguarda il fatto che i sistemi trusted computing sono basati sul supporto ad un modello di lotta alle minacce nel quale è l'utente del pc "trusted" ad essere considerato come la vera minaccia.

La remote attestation è appropriata per prevenire il fatto che un software installato sul pc venga alterato senza che l'utente ne sia a conoscenza (da un virus, per esempio). Sfortunatamente, tale modello, nei progetti attuali del TCG, può egualmente prevenire che un software modificato dall'utente in maniera consapevole e consenziente.

Terze parti non possono dirti quali software tu stia utilizzando ed essi non hanno alcun modo affidabile per costringervi a utilizzare il software di loro scelta. Generalmente questo è un beneficio per chi possiede un pc (ma non per un baco che deve essere corretto), in quanto favorisce la concorrenza e l'abilità dell'utente nel controllo del suo pc.



Possibili conseguenze del Trusted Computing

computer_danger_trusted_computing.jpg

Lasciatemi ora fare qualche considerazione, aiutandomi con degli esempi, su come l'approccio della attestazione promosso dal trusted computing possa compromettere l'interoperabilità o essere usato contro i possessori di pc.

Farò riferimento ad una ricerca condotta da Seth Schoen, un esperto di tecnologie che lavora per la Electronic Frontiers Foundation (una organizzazione tecnologica per i diritti civili che è particolarmente preoccupata dalla possibile introduzione del trusted computing).



  1. Sul Web

    Un sito web potrebbe richiedere un certificato software dalle persone che desiderano leggerlo. Se rifiutano di concederlo, il sito potrebbe rifiutare per sempre di intrattenere affari con costoro; se il certificato dovesse mostrare come essi facciano uso di software "non approvato", il sito potrebbe alla stessa maniera declinare di interagire. Solo chi fosse in grado di provvedere un certificato digitale che soddisfacesse i requisiti del sito sarebbe in grado di accedervi.

    In un caso molto noto, MSN, il Microsoft Network, rifiuta di fornire l'accesso alle pagine web ai browser non-Microsoft. Nel frattempo, gli utenti che utilizzano prodotti concorrenti sarebbero in grado di ingannare MSN facendogli credere che stanno utilizzando Internet Explorer. Ciò sarebbe impossibile in un ambiente fatto di routine sullo stile della remote attestation di NGSCB.

    Molti siti prevengono arbitrariamente l'uso di software non approvato - a loro dire - per ragioni di sicurezza.

    Invero, le loro ragioni possono essere totalmente differenti. In alcuni casi, il gestore di un sito vuole obbligarti ad utilizzare un particolare programma per ragioni meramente pubblicitarie.



  2. Interoperabilità software

    Anche l'interoperabilità software è a rischio. Se un utente ha dei dati salvati in un sistema proprietario, e il sistema comunica solo con software client scritti dallo stesso produttore che ha progettato il sistema, potrebbe essere estremamente difficile per un utente migrare verso un altro software. Quando il nuovo sistema tentasse di comunicare con il vecchio al fine di estrarne i dati, quest'ultimo potrebbe rifiutare di rispondere.

    Allo stesso modo, i servizi di messaggeria istantanea hanno spesso tentato di impedire accessi dai client prodotti dai concorrenti, in alcuni casi, client aperti/liberi di IM. Un meccanismo di certificazione sarebbe uno strumento potente per limitare la competizione ed interoperabilità fra servizi di IM.



  3. Digital Rights Management

    Molte persone hanno speculato sul fatto che la tecnologia trusted computing sia un modo di portare la tecnologia Digital Rights Management (DRM) alle piattaforme PC.

    Comunque, gli sviluppatori del trusted computing negano che i DRM siano l'obiettivo principale dei loro sforzi, affermando come il trusted computing sia utile per molte applicazioni oltre ai DRM.

    Fra gli elementi che caratterizzano il trusted computing, la remote attestation è l'elemento chiave in grado di rafforzare le politiche DRM. Se un sistema remoto non è in grado di sapere il grado di affidabilità del vostro ambiente software, non potrai mai avere fiducia sul fatto che tale software adotti politiche contro gli utenti.

    Altri comportamenti di consumatori occasionali di software possono essere implementati dall'attestazione, combinata con il sealed storage, incluso il fatto di prevenire i programmi dal trasferimento da un pc all'altro, forzando gli upgrade o downgrade del software, e attivando alcuni spyware.



  4. Il vero nemico: TU - utente del computer

    Una cosa è sicura: la versione attuale della remote attestation facilita il rafforzamento delle politiche contrarie ai desideri degli utenti.

    Se il software che utilizzi è scritto con questo obiettivo, l'architettura trusted computing non sarà in grado di proteggerti solo contro intrusioni e virus, ma anche contro di te. In effetti, TU, il proprietario del pc, sei trattato alla stregua di un nemico.

    Se tu dessi la remote attestation ad un fornitore di servizi che fosse in grado di aiutarti nel riconoscere modifiche non autorizzate al tuo pc, avresti benefici da questa attestazione. Se è richiesto che tu fornisca un certificato a qualcuno che ti impedisce di utilizzare il software che desideri, l'attestazione diventa controproducente.

    In una situazione ideale, è l'utente del pc, TU - e non una terza parte - che è in grado di decidere se le informazioni o il software che hai acquisito da terzi sia affidabile e degno di fiducia. Solo in questa maniera puoi essere sicuro che la capacità di attestazione non venga utilizzata in una maniera contraria ai TUOI interessi, come utente di pc.



Soluzioni suggerite

solution_trusted_computing.jpg

La mancanza di controllo da parte degli utenti sul contenuto del certificato è il problema centrale delle attuali proposte di trusted computing.

Una semplice misura concepita da Seth Schoen e chiamata "Owner Override" (priorità del proprietario) potrebbe risolvere il problema reintroducendo l'impossibilita per i terzi di vedere esattamente quali software tu abbia in esecuzione - finché non decidessi di farlo sapere.

Al momento attuale, l'attestazione comunica alle parti remote quale software abbia subito modifiche sul tuo pc. L'attestazione con l'aggiunta del Owner Override sarebbe in grado di comunicare a terze parti remote se il software sul tuo pc è cambiato senza che tu ne sia al corrente.

L'Owner Override corregge il trusted computing sicché protegge gli utenti di pc da potenziali attacchi, senza limitare l'autorità dell'utente di decidere con precisione quali politiche debbano essere rafforzate.

Comunque, i membri del Trusted Computing Group hanno rifiutato lo sviluppo del Owner Override ed hanno svalutato i promotori del trusted computing che credono che l'Owner Override sia in grado di sconfiggere effettivamente la concessione di fiducia dagli altri computer, poichè l'attestazione remota potrebbe essere contraffatta dal proprietario.



Conclusioni

Il trusted computing rappresenta un passo importante nella ricerca in merito alla sicurezza informatica, il cui fine è quello di trovare un metodo per prevenire le minacce e le violazioni di privacy.

Come tutte le soluzioni progettate per soddisfare l'obiettivo di raggiungere un efficace livello di sicurezza, il trusted computing rischia di divenire una nuova forma di controllo ed esso stesso una minaccia alla libertà degli utenti dei pc che il trusted computing vorrebbe proteggere.

Le voci di molti critici autorevoli, come quella del "padre" del software libero Richard Stallman, sintetizza l'apprensione della moltitudine di critiche piovute dagli utenti di pc, che hanno paura di perdere il controllo sulle loro macchine a causa di un accordo strategico fra grandi corporation che giace dietro al concetto di trusted computing.

In ultimo, la vera minaccia che il trusted computing vuole prevenire sembra essere nulla più dell'utente stesso del pc, a causa del suo potere di scegliere quale software sia in grado di soddisfare le sue necessità senza fermarsi ai suggerimenti di terzi.

Vuoi continuare a scegliere, o preferisci avere a che fare con le funzioni offerte dal chip progettato dal TGC chip nel nome di una grande sicurezza sulla tua rete di pc?

Spetta a te la decisione finale.



Riferimenti



Photo credits

Computer lock: Feng Yu
Barbed wire laptop: Marilyn Barbone
Solution puzzle: Luminis

 
 
 
 
 
Commenti    
blog comments powered by Disqus

 

 

 

 

6802
 




 

I Toolkit di Robin


 









 

 

 

 

  • RSS Feed

          Mail
    Nome:
    Email:
     



     
     

     

    Web Analytics