Skip to content

faulTPM: Exposing AMD fTPMs' Deepest Secrets

Zen 2 ve Zen 3 üzerindeki AMD Secure Processor'a (AMD-SP/PSP) karşı, firmware TPM'in tüm state'ini ele geçiren ve birkaç saatlik fiziksel erişimle TPM-only BitLocker'ı aşan bir voltage fault-injection saldırısı.

Mechanism

faulTPM (Jacob, Werling, Buhren, Seifert, 2023; AMD bülteni AMD-SB-4005) bir AMD firmware TPM'in ancak onu barındıran AMD Secure Processor kadar güvenilir olduğunu gösterir. Makalenin temel iddiası: "Attacking their Trusted Execution Environment can lead to a full TPM state compromise. We experimentally verify this attack by compromising the AMD Secure Processor, which constitutes the TEE for AMD's fTPMs."

Kırılan invariant: bir fTPM'in secret'ları kendisi fault'lanabilen bir TEE'ye seal'lenir

Bir discrete TPM ayrı bir çiptir; bir fTPM ise AMD-SP içinde çalışan firmware'dir ve tüm key materyalini SoC'ye fuse edilmiş bir chip-unique secret'tan türetir. Güvenlik modeli, AMD-SP boot zincirinin (AMD-SP Boot ROM secure boot) ele geçirilemez olduğunu varsayar, dolayısıyla chip-unique seed asla TEE'den çıkmaz. faulTPM bu varsayımı fiziksel olarak kırar: AMD SoC core voltage'larını SVI2 (Serial Voltage Identification 2.0) bus'ı üzerinden günceller. Saldırgan, SVI2'ye özel hazırlanmış paketler enjekte ederek AMD-SP'nin besleme voltajında kısa, hassas zamanlanmış bir düşüşü zorlar, early boot sırasında bir instruction'ı glitch'ler ve AMD-SP secure-boot signature kontrollerini atlar. AMD-SP üzerinde keyfi kod çalıştığı an, saldırgan key-derivation seed'i geri kazanır ve ondan fTPM'in şimdiye dek seal'lediği her key'i türetir. Önemlisi makale, bunun "any cryptographic material stored or sealed by the fTPM regardless of authentication mechanisms such as Platform Configuration Register validation or passphrases"'i açığa çıkardığını belirtir — PCR policy ve PIN'ler artık root secret'ı bilinen aynı fTPM tarafından uygulandığı için hiçbir koruma sağlamazlar. Genel fault-injection primitive için bkz. glitch.md ve fault-probe.md.

Walkthrough

Bu, PSPReverse ftpm_attack artifact deposundaki public, açıklanmış iş akışıdır (~200 dolarlık donanım, glitch'i süren Teensy sınıfı bir mikrodenetleyici, artı bir SPI programmer ve bir logic analyzer). Savunma amaçlı anlayış için sunulmuştur; fiziksel erişim gerektirir ve uzaktan bir zincir değildir.

Belgelenen altı fazlı akış:

1. Dump the BIOS/SPI flash image with an SPI programmer (ROM backup).
2. Profile fault-injection parameters (glitch timing / voltage drop).
3. Build and flash a custom AMD-SP payload into the BIOS image (PSPTool).
4. Capture the extracted seed over SPI with a logic analyzer.
5. Run the glitch repeatedly until the payload executes successfully.
6. Decrypt the fTPM NVRAM and unseal sealed objects.

Deponun araçlarına göre, NV storage'ı decrypt etmek ve BitLocker Volume Master Key'i unseal etmek:

# Decrypt the fTPM NVRAM using the ROM backup + glitched-payload output
amdnvtool

# Recover the TPM-sealed BitLocker VMK from the NV objects
python tools/amd_ftpm2_unseal.py

# Mount the BitLocker volume with the extracted Volume Master Key
dislocker-fuse -K ideapad.vmk -V /dev/nvme0n1p3 /mnt
Saldırının ne sağladığı (public paper/repo'dan)
# Extracted: the fTPM key-derivation seed (chip-unique).
# Consequence: the complete internal fTPM state is recoverable;
#   any sealed object can be unsealed offline, ignoring PCR policy
#   and passphrases.
# Demonstrated: first attack defeating Full Disk Encryption backed
#   by an fTPM (BitLocker TPM-only protector) with 2-3 hours of
#   physical access.

Detection

  • Physical-access / tamper kanıtı. faulTPM, kasanın açılmasını ve SVI2 bus'ına ile SPI flash'a donanım bağlanmasını gerektirir. Gerçekçi tespit yöntemleri tamper-evident mühürler, chassis-intrusion switch'leri ve envanter kontrolleridir; saldırı çalışan OS üzerinde hiçbir yazılım izi bırakmaz.
  • Yazılım telemetrisi yok. Ele geçirme OS çalışmadan önce AMD-SP boot path'inde gerçekleştiği için host EDR bunu gözlemleyemez. Glitch'lenmiş, yeniden flash'lanmış bir BIOS, fTPM'in dışına anchor'lanan firmware-measurement attestation ile tespit edilebilir.
  • Boot anomalileri. Bir saldırı penceresi sırasında beklenmedik AMD-SP boot hataları, tekrarlanan reboot'lar veya BIOS checksum/flash değişiklikleri zayıf dolaylı sinyallerdir.

Mitigation

Etkilenen parçalarda TPM-only sealing, yerel bir saldırgana karşı yetersizdir

AMD-SB-4005 bu sınıfı kapsar. Yapısal ders: TPM-only bir BitLocker protector'ı, faulTPM'in etkilenen Zen 2 / Zen 3 parçalarında fiziksel erişimle aştığı fTPM root of trust'a güvenir.

  • TPM'in tutmadığı bir pre-boot secret ekle. Bir BitLocker PIN / passphrase (TPM+PIN) veya bir startup key etkinleştir; böylece disk decryption, glitch'lenmiş fTPM'in sağlayamayacağı bir faktör gerektirir.
  • Etkilenen platformlar için mevcut olduğunda, AMD-SB-4005'in referans verdiği AMD firmware/AGESA güncellemelerini uygula.
  • Fiziksel güvenlik: tamper-evident muhafazalar, kısıtlanmış fiziksel erişim ve chassis-intrusion tespiti, SVI2/SPI donanım saldırısının maliyetini artırır.
  • Yüksek güvence gereken kullanımlarda, bir discrete TPM ya da sertleştirilmiş secure-boot/voltage-glitch direncine sahip platformları değerlendir. İlgili TPM-trust hataları: tpm-fail-tpm-meets-timing-and-lattice-attacks.md, extracting-bitlocker-keys-from-a-tpm.md.

References