TL;DR
Trusted Platform Modules (TPMs) are designed to secure your system, but they aren’t foolproof. This guide explains common ways attackers bypass them and how you can improve your security.
Understanding the Problem
A TPM is a hardware chip that stores cryptographic keys used for things like disk encryption, boot integrity checks, and digital rights management (DRM). Bypassing it means an attacker can gain access to these keys or circumvent the protections it provides. This often involves manipulating the boot process or exploiting vulnerabilities in the TPM itself.
How Attackers Bypass Trusted Computing
- Bootkit Attacks: These are malicious programs that load before your operating system, giving them control over the entire system – including the TPM.
- Rootkits: A type of bootkit that hides its presence from the OS and security software.
- UEFI Exploits: Attackers can modify the Unified Extensible Firmware Interface (UEFI) to inject malicious code before the OS loads, compromising TPM measurements.
- Direct Memory Access (DMA) Attacks: DMA allows hardware components direct access to system memory. An attacker with physical access can use a device like a Thunderbolt port or PCIe card to bypass the OS and read/write to TPM-protected areas.
- Software Vulnerabilities: Flaws in the software that interacts with the TPM (e.g., drivers, cryptographic libraries) can be exploited.
- Physical Attacks: While difficult, attackers can attempt to physically tamper with the TPM chip itself or extract its keys using specialized equipment.
- Side-Channel Attacks: These attacks don’t directly break encryption but analyze power consumption, timing variations, or electromagnetic emissions during cryptographic operations to reveal information about the key.
Steps to Mitigate TPM Bypasses
- Secure Boot: Enable Secure Boot in your UEFI settings. This ensures that only trusted code signed by a valid certificate can load during boot.
- Check your BIOS/UEFI setup for options like ‘Secure Boot’ and ensure it is enabled.
- Verify the certificates used for Secure Boot are legitimate.
- Measured Boot: Use Measured Boot to record the boot process, creating a chain of trust that can detect unauthorized changes.
- Full Disk Encryption (FDE): While TPM helps protect FDE keys, use strong passwords or passphrases in addition to TPM protection.
- BitLocker (Windows), FileVault (macOS), and LUKS (Linux) are common FDE solutions.
- Keep Software Updated: Regularly update your operating system, firmware, drivers, and security software to patch vulnerabilities.
- DMA Protection: If possible, disable unused DMA-capable ports like Thunderbolt or configure them for IOMMU protection (Input/Output Memory Management Unit).
- In Linux, you can check DMA capabilities with
lspci -v.
- Enable IOMMU in your BIOS and configure it using the kernel.
- TPM Firmware Updates: Keep your TPM firmware up to date. Manufacturers often release updates to address security vulnerabilities.
- Physical Security: Protect your hardware from physical access, as this can allow for direct attacks on the TPM.
- Use a Cyber security solution with Boot Integrity Monitoring: Employ endpoint detection and response (EDR) or similar tools that monitor the boot process for anomalies.
Advanced Considerations
For high-security environments, consider these additional steps:
- Remote Attestation: Verify the integrity of a remote system’s TPM measurements before establishing trust.
- Hardware Root of Trust (HRoT): Use hardware-based security features beyond just the TPM to create a more robust root of trust.

