Capitolo: Gibson Cap 5 — Securing Hosts and Data Concetti: TPM, Secure Boot, UEFI, Measured Boot, catena di fiducia
Obiettivo#
Esplorare la catena di boot su una VM Ubuntu ARM con TPM virtuale abilitato. Leggere i PCR values, vedere l'Endorsement Key, verificare lo stato Secure Boot.
Security angle: i PCR values cambiano se qualcosa nel boot cambia (bootloader, kernel, configurazione UEFI). Un sistema di attestazione remota confronta i PCR con una baseline per rilevare manomissioni.
Prerequisiti#
- UTM su Mac Apple Silicon
- VM Ubuntu Server ARM con vTPM abilitato nelle impostazioni VM (UTM supporta QEMU vTPM nativo)
- Pacchetto
tpm2-toolsinstallato nella VM
sudo apt update && sudo apt install -y tpm2-tools efibootmgr mokutilStep 1 — Verifica che il TPM sia presente#
ls /dev/tpm* # deve esistere /dev/tpm0 o /dev/tpmrm0
tpm2_getcap properties-fixedCosa osservare: TPM2_PT_MANUFACTURER, TPM2_PT_FAMILY_INDICATOR (dovrebbe essere "2.0"), TPM2_PT_PCR_COUNT (di solito 24).
Step 2 — Leggi i PCR values#
I PCR (Platform Configuration Registers) sono registri che accumulano hash durante il boot. Ogni componente della catena li estende.
tpm2_pcrreadProva a rispondere: a cosa serve il PCR 0? Il PCR 7? (Cerca "TPM PCR values meaning" se non lo sai — e' materiale da esame.)
Step 3 — Endorsement Key#
L'Endorsement Key (EK) e' la chiave principale del TPM, unica per ogni chip, usata per attestazione remota.
tpm2_readpublic -c 0x81010001 # EK pubblicaSe il comando fallisce: crea prima la EK con tpm2_createek.
Step 4 — Stato Secure Boot#
mokutil --sb-state # Secure Boot enabled/disabled
efibootmgr -v # variabili UEFI e boot orderIn una VM QEMU il Secure Boot potrebbe non essere abilitato di default. Osserva comunque le variabili UEFI con efibootmgr.
Step 5 — Misurazione del boot (Measured Boot)#
Il Measured Boot registra ogni step della catena nei PCR. Puoi verificare:
tpm2_eventlog /sys/kernel/security/tpm0/binary_bios_measurements 2>/dev/null || \
cat /sys/kernel/security/tpm0/binary_bios_measurements | xxd | head -50Domande di riflessione#
- Differenza tra Secure Boot e Measured Boot: uno blocca, l'altro registra. Quale e' quale?
- Se un attaccante modifica il bootloader ma il sistema si avvia comunque, quale meccanismo e' fallito?
- Cosa e' il TPM Endorsement Key e perche' non puo' essere estratto dal chip?
Note e osservazioni#
Collegato a#
- cap-05-securing-hosts-and-data — sezione TPM, HSM, UEFI Secure Boot


