Cosa impedisce che il caricatore di avvio Intel TXT venga alterato in modo pericoloso?

9

Dalla mia comprensione di Intel TXT, la tecnologia può essere utilizzata per mettere il processore in uno stato affidabile in cui è possibile eseguire le misurazioni. La mia comprensione è simile a questa, in cui credo che TBoot sia in genere utilizzato per avviare SINIT. Tuttavia tale che SINIT non viene chiamato e il SO è allevato in uno stato miscellaneo? È una vera minaccia per la sicurezza?

    
posta Nark 18.03.2014 - 12:56
fonte

1 risposta

9

In breve, no.

C'è un sacco di problemi con questo diagramma, quindi inizierò cercando di chiarire le cose prima di parlare della tua domanda.

SRTM ~ la parte sinistra del diagramma

Il diagramma propone che il modulo AC misuri il processore che non è corretto. Il BIOS CRTM (Bios Boot Block) viene eseguito dalla CPU e utilizzato per misurare il firmware del BIOS. Quindi, restituirà il risultato della misurazione (hash SHA1) al TPM, non al BIOS. In seguito, l'esecuzione viene passata al firmware del BIOS. Lo stesso è fatto per il prossimo elemento nel processo di avvio. Vedi questo per maggiori informazioni.

DRTM ~ la parte destra del tuo diagramma

Ancora una volta, si applicano gli stessi commenti. Il modulo SINIT AC non misura il processore. Una volta creato un ambiente contenuto CPU protetto, la firma del modulo viene convalidata e la sua identità viene inviata al TPM (PCR 17), quindi misura il Measured Launch Environment (MLE) e invia il risultato al TPM (PCR 18). .

Entrambi forniscono la stessa cosa: un mezzo attraverso il quale possiamo misurare l'ambiente in esecuzione (ad esempio, Root of Trust for Measurements). Tecnicamente parlando, ciò significa inviare misurazioni nei Platform Configuration Registers (PCR) del TPM, principalmente PCR0 per SRTM e PCR17 per DRTM. Tuttavia, non abbiamo fatto nulla con queste misurazioni.

Ok, ora la domanda.

In breve, un utente malintenzionato può sempre scegliere di non attivare un Late Launch / DRTM (operazione di invio di TXT) ma il punto è che le PCR del TPM non avranno i valori corretti, quindi alcuni elementi (ad es. essere accessibile Lasciami spiegare:

Nel caso di boot loader boot , il Launch Control Policy (memorizzato all'interno della NVRAM TPM) definisce quale modulo MLE e SINIT può essere caricato (e facoltativamente BIOS, cioè PCONF). Un reset TXT viene attivato ogni volta che la politica non è soddisfatta. Il risultato di questo ripristino non è in grado di eseguire un avvio ritardato fino al riavvio del sistema. Non essere in grado di eseguire un avvio ritardato non impedisce a qualcuno di utilizzare il sistema - non interrompe il processo di avvio o il sistema da solo. Tuttavia, impedisce a qualcuno di accedere a Locality 2 del TPM. La località 2 è necessaria per estendere PCR 19-22 (e qualsiasi chiave, NVRAM del TPM e altre risorse legate alla località 2).

Ciò che è importante capire qui è che Late Launch non impone nulla, sta semplicemente fornendo un mezzo con cui le misure vengono prese e memorizzate nel TPM. Allora e solo allora possiamo imporre azioni diverse. Per esempio. se l'obiettivo è quello di costruire la crittografia del disco, il sistema operativo potrebbe essere crittografato con una chiave SIGLA a specifiche PCR (17-22) che corrispondono al sistema operativo desiderato / fidato. Ora ecco la parte importante: se l'ambiente corretto non è stato caricato (ad esempio un utente malintenzionato ha cambiato il boot loader, non ha attivato un avvio ritardato) i valori PCR non corrispondono quindi la chiave per decrittografare il sistema operativo sarà inaccessibile ( UNSEAL non funzionerà).

In altre parole, i valori di PCR riflettono l'ambiente in esecuzione. L'operazione SEAL utilizza tali valori come chiavi per crittografare i dati. Se l'ambiente corretto non viene caricato (le PCR sono diverse) il TPM non può decrittografare i dati (UNSEAL).

Potresti dare un'occhiata a Posta anti-malvagio di ITL .

Spero che sia più chiaro.

    
risposta data 24.03.2014 - 16:15
fonte

Leggi altre domande sui tag