Trusted Execution Technology

Da Wikipedia, l'enciclopedia libera.

Intel Trusted execution technology (abbreviato Intel TXT, precedentemente conosciuta come LaGrande Technology), è il componente chiave dell'iniziativa Intel di Calcolo Sicuro o Criptato, il cui obiettivo è fornire agli utenti, specialmente in campo business o militare, un valido modo per difendersi da attacchi software mirati a carpire informazioni sensibili, ma anche per difendere il copyright ed eliminare le copie di software non autorizzate.

Intel TXT è una tecnologia hardware le cui primarie funzioni sono:

  • Attestazione dell’autenticità di una piattaforma e del suo sistema operativo
  • Assicurarsi  che un sistema operativo autentico nasca in un ambiente affidabile, in modo che il sistema stesso nella sua completezza sia considerato affidabile
  • Fornire un sistema sicuro con ulteriori capacità di protezione le quali non sono presenti in sistemi operativi non approvati

Tale tecnologia utilizza Trusted Platform Module(TPM) e tecniche crittografiche per fornire valutazioni dei componenti  del software e della piattaforma, in modo che il sistema software e le applicazioni locali e remote di management utilizzino queste valutazioni per prendere decisioni attendibili.

Intel TXT  si basa sull’iniziativa della Trusted Computing Group(TCG) per promuovere la sicurezza nell’utilizzo dei computer.

Intel TXT  difende contro attacchi software mirati a rubare informazioni sensibili corrompendo il sistema  o il codice BIOS, oppure modificando la configurazione della piattaforma.

Dettagli[modifica | modifica wikitesto]

Il Trusted Platform Module(TPM) come specificato dalla TCG fornisce molte funzioni sulla sicurezza che includono registri speciali (chiamati Platform Configuration Registers – PCRs) i quali  contengono varie valutazioni  in locazioni protette, in maniera da prevenire attacchi di spoofing.

Le misurazioni consistono in un Hash crittografico  utilizzando il Secure Hashing Algorithm (SHA); la specifica TPM v1.0 utilizza il SHA-1 algoritmo di Hahshing.

Le versioni di TPM più recenti(v2.0+) necessitano di  SHA-2.[1]

Una caratteristica desiderata di un algoritmo Hash crittografico è che (per tutte le questioni pratiche)il risultato dell’Hash(inteso come Hash digest o un Hash) di qualunque coppia di moduli  produca lo stesso valore Hash solo se i moduli sono identici.

Valutazioni[modifica | modifica wikitesto]

Le valutazioni possono riferirsi a codici, strutture dati, configurazioni, informazioni, o qualsiasi cosa che può essere caricata in una memoria.TCG richiede che i codici non vengano eseguiti fintanto che non siano valutati. 

Per assicurare una particolare sequenza di misurazioni, le misurazioni hash in una sequenza non vengono scritte su PCR differenti, ma il PCR è “esteso” con la misura.

Questo significa che il TPM prende il valore corrente del PCR e la misurazione che deve essere estesa, li unisce(hashes) e successivamente sostituisce il contenuto del PCR con il risultato dell’Hash.

L’effetto di queste operazioni è che l’unico modo per raggiungere una particolare misurazione del PCR è quella di estendere esattamente le stesse misurazioni nello stesso ordine.

Di conseguenza se un qualsiasi modulo che è gia stato valutato viene  modificato il risultato della misurazione del PCR sarà diverso e quindi sarà più semplice identificare se un codice, configurazione,data,etc.. sono stati alterati o corrotti.

Il meccanismo di estensione del PCR è cruciale per stabilire una catena di fiducia negli stati del software.

Catene di fiducia[modifica | modifica wikitesto]

Questa tecnologia supporta sia la catena statica di fiducia che la catena dinamica.

La catena di fiducia statica si avvia quando la piattaforma viene accesa(oppure se ne fa il reset), riportando tutti i PCR ai propri valori di default.

Per le piattaforme server, la prima valutazione viene effettuata dall’hardware(esempio il microprocessore)per  valutare un modulo firmato digitalmente(chiamato Authenticated Code oppure ACM Module ) fornito dal produttore del chipset.

Il processore convalida la firma digitale e l’integrità del modulo firmato prima di eseguirlo.

L’AMC successivamente valuta il primo modulo del codice BIOS, il quale può eseguire misure aggiuntive.

Le misurazioni dell’ACM e dei moduli del codice BIOS vengono estesi al PCR0, che contiene il CRTM (core root of trust measurement) statico, oltre alle misurazioni del BIOS Trusted Computing Base(TCB).Il BIOS misura ulteriori componenti nei PCR come segue:

  • PCR0 – CRTM, codice BIOS, e Host Platform Extensions[2]
  • PCR1 – Host Platform Configuration
  • PCR2 – Opzione ROM Code
  • PCR3 – Opzione ROM Configuration e Data
  • PCR4 – IPL (Initial Program Loader) Code (solitamente il Master Boot Record – MBR-)
  • PCR5 – IPL Code Configuration e Data (per essere usato dal  IPL Code)
  • PCR6 – State Transition e Wake Events
  • PCR7 – Host Platform Manufacturer Control

La catena di fiducia dinamica si avvia quando sul sistema operativo viene invocata un’istruzione di sicurezza speciale, la quale “resetta” i PCR dinamici (PCR17–22) ai loro valori di default e da inizio  alle misurazioni.

La prima misurazione dinamica viene effettuata dall’Hardware(esempio il microprocessore) per misurare un altro modulo firmato digitalmente(conosciuto come il SINIT ACM) che è anche fornito dal produttore del chipset e  la cui firma e integrità sono verificate dal processore.

Questo è anche conosciuto come il Dynamic Root of Trust Measurement (DRTM).

Il SINIT ACM successivamente misura il primo modulo di codice del sistema operativo(rifiteti al launch measured environment (ambiente controllato - MLE). Prima che venga data la possibilità all’ MLE  di eseguire, il  SINIT ACM  verifica che la piattaforma abbia i prerequisiti del  Launch Control Policy (LCP) impostati dai proprietari della piattaforma. LCP consiste in tre parti:

1. Verifica che la versione del SINIT sia uguale oppure più recente rispetto al valore specificato

2. Verificare che la configurazione della piattaforma (PCONF) sia valida paragonando PCR0–7 a dei parametri conosciuti e verificati (il proprietario della piattaforma decide quali PCR includere)

3. Verificare che L’MLE sia valido paragonando le sue misure ad una lista di parametri già conosciuti e verificati.

L’integrità dell’ LCP e della sua lista di misurazioni valide, sono protette salvando  le misurazioni Hash della policy nel TPM in una locazione protetta e non volatile, che piò essere modificata solamente dal proprietario della piattaforma.

Esecuzione come Sistema Operativo affidabile[modifica | modifica wikitesto]

Una volta che i requisiti dell’LCP sono stati soddisfatti, il SINIT ACM permette al MLE di lavorare come  un Trusted OS(sistema operativo affidabile) abilitando l’accesso a registri di sicurezza speciali e al livello di accesso TPM Locality 2. MLE può ora eseguire ulteriori misure dei PCR dinamici. I PCR dinamici contengono misurazioni di :

  • PCR17 – DRTM e modalità del controllo del lancio
  • PCR18 – Trusted OS codice di avvio  (MLE)
  • PCR19 – Trusted OS (per esempio configurazione OS)
  • PCR20 – Trusted OS (per esempio il kernel e altri codici  OS)
  • PCR21 – come è definito dal Trusted OS
  • PCR22 – come è definito dal Trusted OS

Questa tecnologia fornisce anche un modo più sicuro al sistema operativo per inizializzare la piattaforma.

In contrapposizione al nomale processo di inizializzazione[che coinvolge il processore boot-strap-processor(BSP) mandando un Start-up Inter-Processor Interrupt (SIPI) per ogni Application Processor, cosi facendo si avvia ogni processore in “real mode” e successivamente si passa alla “virtual mode” ed infine alla “protected mode”], il sistema operativo evita questa vulnerabilità mettendo in atto un avvio sicuro(lancio misurato) il quale mette gli  Application Processors in uno stato dormiente dal quale vengono direttamente avviati in “protected mode”.

Applicazione[modifica | modifica wikitesto]

I valori PCR sono disponibili sia in locale che in remoto. Inoltre il TPM ha la capacità di firmare digitalmente i valori PCR in modo che qualsiasi entità possa verificare da dove provengano le misure e che sono protette da un TPM, in questo modo abilitando Remote Attestation per identificare manomissioni, corruzioni e software maligni. In aggiunta, questi valori, possono essere usati per identificare l’ambiente di esecuzione(la versione particolare del BIOS, il livello OS, configurazione, ecc.) paragonandoli  alle loro rispettive liste di parametri validi e verificati, al fine di categorizzare ulteriormente la piattaforma.

Questa abilità di valutare ed assegnare i livelli di sicurezza alle piattaforme è conosciuta come Trusted Compute Pools.

Alcuni esempio di come sono utilizzati i Trusted Compute Pools:

  • Isolamento: l’abilità di controllare se una piattaforma si connette al network di produzione o se viene messo in quarantena in base  al  livello di fiducia oppure al mancato rispetto della propria politica di controllo del lancio.
  • Trust Based Policy:  precludere il funzionamento di determinate applicazioni solo su piattaforme che raggiungono un livello di fiducia  specificato.
  • Compliance e Auditing: dimostrare che dati critici, personali o sensibili sono stati analizzati solamente su piattaforme aventi i requisiti di sicurezza.

Numerose piattaforme server includono Intel TXT, la funzionalità TXT viene utilizzata da numerosi venditori di software come HyTrust, PrivateCore, Citrix, Cloud Raxak, e VMware.

I progetti Open-source utilizzano la funzionalità TXT; per esempio tboot fornisce un sistema integro basato sul TXT per il Kernel di Linux e Xen hypervisor.[3][4]

Note[modifica | modifica wikitesto]

  1. ^ (EN) SHA-1 Uses in TPM v1.2 | Trusted Computing Group, in Trusted Computing Group, 1° gennaio 2011. URL consultato il 14 dicembre 2017.
  2. ^ CTRM è valutato dal processore e il codice iniziale del BIOS è valutato dal ACM(tutte le altre valutazioni sono fatte dal BIOS o da altro codice firmware) ma solo dopo che quel codice è stato valutato
  3. ^ (EN) Trusted Boot, su SourceForge, October 6, 2014. Retrieved November 16, 2014.. URL consultato il 14 dicembre 2017.
  4. ^ Joseph Cihula (February 28, 2011)., "Trusted Boot: Verifying the Xen Launch" (PDF), su www-archive.xenproject.org, Retrieved November 16, 2014..


Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Sicurezza informatica Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica