tpm sigillatura e avvio sicuro

1

Ho lavorato con TPM per un po 'e sono interessato ad alcune delle sue funzionalità. Soprattutto la sigillatura e l'uso delle PCR di TPM nel processo di avvio sicuro.

La mia domanda è: cosa sta impedendo a un utente malintenzionato di disabilitare il TPM fino a dopo l'avvio? Quindi estendere i PCR con qualsiasi cosa desideri e persino registrare l'input per estendere la funzione di PRC nella catena di avvio autentica. Quindi utilizzare questo come input per ottenere lo stesso digest SHA1 nelle PCR?

Un'altra domanda è se un utente malintenzionato può provare a utilizzare il TPM su un altro sistema che invierà anche ingressi falsi alle PCR al momento dell'avvio?

    
posta amir dachbash 02.02.2016 - 20:57
fonte

1 risposta

2

Parecchie domande specifiche qui, le romperò

  • What is stopping an attacker from disabling the TPM until after boot?

Niente se l'attaccante controlla sia il FW (UEFI, BIOS, ecc.) che il codice di avvio. Dico il codice di avvio perché a un certo punto verso la fine del boot, il TPM avrebbe dovuto essere inizializzato e messo nel giusto run-level in modo che il sistema operativo non rilevasse nulla di fuori posto. Non puoi semplicemente spegnerlo, perché le applicazioni utente / sistema operativo si aspettano che si trovi in un determinato stato e questo potrebbe distruggere la tua copertura, se sei l'hacker >:)

Devi fidarti del tuo UEFI / BIOS. Hai accidentalmente visualizzato alcuni hacker sh * t sulla tua scheda madre? Questo è l'unico modo in cui funziona. Non farlo.

  • Then extending the PCRs with whatever he wants

A causa di come funzionano le PCR, questo è "impossibile". Non puoi aggiornare le PCR a valori arbitrari, devi fare sempre le hash nello stesso identico ordine ogni volta - > impossibile da decifrare.

Ma questo lo sai già, hai menzionato l'operazione "estendi" da solo. Le PCR non sono "scritte", sono "estese". Per alcune buone informazioni su questo, vedi qui su link . Una citazione da quella presentazione:

Digging a Little Deeper: PCR Extend
....
Computationally infeasible to forge (must break SHA-1)
    Given PCR state N and desired state M, adversary would need to find
    X such that hash(X,N)=M; violates one-way assumption
  • and even recording the input to the extend function of PRC in the authentic boot chain

È dannatamente intelligente, ma come si farebbe? Sonde fisiche sull'autobus? Totalmente possibile !! Ma ora siamo andati oltre le specifiche TCG TPM, che specificamente non proteggono dalla manomissione fisica, AFAIK. Fornisce prove di manomissione fisica ma non protegge da qualcuno che esegue una traccia sui pin.

an attacker can try using the TPM on another system which will also send fake inputs to the PCRs at boot time?

Puoi approfondire come funzionerebbe? Ma no, non è possibile utilizzare in remoto un altro TPM senza software per esporlo a un servizio. È possibile farlo nel sistema operativo, ma se si riuscisse a creare PCR sul computer remoto, è possibile crearli qui.

Ancora una volta, non puoi semplicemente inserire "ingressi falsi" nelle PCR, ma non funziona così.

    
risposta data 23.02.2016 - 02:52
fonte

Leggi altre domande sui tag