Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security

03:00 PM
Ari Singer
Ari Singer
Connect Directly
E-Mail vvv

TPM-Fail: What It Means & What to Do About It

Trusted Platform Modules are well-suited to a wide range of applications, but for the strongest security, architect them into "defense-in-depth" designs.

On November 12, researchers, led by a team at Worcester Polytechnic Institute, disclosed details of two new potentially serious security vulnerabilities — dubbed TPM-Fail — that could allow attackers to steal cryptographic keys protected inside two types of Trusted Platform Modules (TPMs): chips made by STMicroelectronics, and firmware-based Intel TPMs.

TPMs are deployed in billions of desktops, laptops, servers, smartphones, and Internet-of-Things (IoT) devices to protect encryption keys, identity keys, passwords, and system code. An attacker could use stolen cryptographic keys to forge digital signatures, steal or alter encrypted information, and bypass operating system security features or compromise applications that rely on the integrity of the keys.

Because millions of deployed systems probably have the TPM-Fail vulnerability, the scope of exposure is wide. It's especially troubling if companies and individuals don't update their firmware using patches now available from Intel and STMicroelectronics. Similar vulnerabilities may well exist in TPMs from other manufacturers, as well.

However, when this type of issue occurred in the past, the impact was largely contained. The fact that the patches were made available at the same time as the vulnerability was announced helps to minimize damage, particularly for security-conscious system owners. The challenge is that not everyone is ready to perform these patches whenever an exploit such as this becomes known.

This vulnerability demonstrates just how hard it is to make really strong security. Absolute security does not exist. Intel and ST are two very reputable companies that do things the right way: They get certifications, work with third parties, and promptly patch vulnerabilities when found. TPM-Fail reminds us that cybersecurity is always changing, and effective security against attacks today may not work against more sophisticated attacks tomorrow. Creating and implementing a very good security design is the start of a security process; the task of protecting devices and data is continually evolving.

Nation-States versus a 75-Cent Component
This can look like an unfair fight, tasking a component that is often priced under a dollar with protecting the most critical infrastructure and pitting it against the world's most sophisticated hacking experts. From politicians' smartphones to systems controlling military aircraft and servers holding your family's private data, much faith has been placed in TPMs.

Yet we have known for years that sophisticated attacks can be successful against devices such as these. Nobody should assume that a TPM or any other single security component can provide the "magic bullet" that protects a system against any and all compromises. We also need to recognize that some attacks, like this one, can leave the door open to less-sophisticated attackers taking advantage of vulnerabilities that someone else discovered to cause much more widespread damage.

Is somebody to blame? Probably not. A subtle point about these types of attacks, also called side-channel attacks, is that the implementations can be totally correct in terms of inputs and outputs, but information may still be leaked by observing the interaction of the device with the "real world." An example: measuring the time the device takes to perform specific crypto operations.

Commercial companies don't have unlimited budgets to make these components perfect, so they do their best with what they have, then take responsibility for addressing issues when they arise. In this case, STMicroelectronics and Intel designed their TPMs to be upgradeable and able to accept patches if an attack like this were to be found.

Encryption Key & TPM Safety
In most cases, encryption keys are safe. It's a fact, however, that any hardware device or firmware used for security purposes (e.g., TPMs and hardware security modules, or HSMs) may have design or firmware flaws that leave them susceptible. The attacks may expose critical cryptographic materials, including keys used to encrypt sensitive data. A recent example is the Roca vulnerability. Active monitoring of the latest vulnerabilities and patches should be used to make sure that your keys remain safe.

TPM-Fail should not cause everyone to stop using TPMs, but TPMs should not be seen as a "magical force field" for IoT and mobile devices. TPMs are one of the ways to provide roots of trust, and TPM-Fail does not mean their time is over. TPMs should be part of an overall security solution design and part of security in depth. In addition, because security requires constant vigilance and monitoring, your solution security design will need periodic scrutiny. The more cybersecurity experts you get to closely examine your security design, the better off you are.

Global Exposure to TPM-Fail Right Now?
Both Intel and STMicroelectronics provided prompt patches before the independent researchers broke the news. The patches should close those particular gaps and reduce (but not eliminate) the potential impact in the field. Practically speaking, however, many who own affected devices will be unaware of the TPM-Fail issue and it's likely that millions of devices will not be patched.

It is also worth noting how difficult and expensive it is to patch devices out in the field. Going forward, it would be wise for organizations to design anything that needs security with the ability to receive remote updates of device firmware — meaning secure updates where the remote device can only accept legitimate updates from a source it can verify as legitimate — and block everything else.

Think Cyber-Resilience and "Defense in Depth"
Most important, for the future, we need to design in the ability to recover when a device in the field is compromised. This capability is called cyber-resilience, defined as the ability of a CPU — and device — to continue functioning, or resume functioning, after an attack is detected. Take driverless cars, for example. It's not acceptable if a component in the steering system is attacked and goes offline while the car is flying down a highway.

TPM-Fail also makes a strong argument for "defense in depth" because even the better commercial offerings can be broken. So, put layers of protection in place, including new chip and firmware offerings that can add defense in depth to single-depth security solutions. That way, attackers must find their way through multiple security mechanisms.

A final recommendation: Have a process in place to monitor and react to newly announced security vulnerabilities, including the ability to securely field-upgrade the firmware on devices, and install patches without delay.

Check out The Edge, Dark Reading's new section for features, threat data, and in-depth perspectives. Today's top story: "How Medical Device Vendors Hold Healthcare Security for RansomSoft Skills."

Ari Singer, CTO at TrustiPhi and long-time security architect with over 20 years in the trusted computing space, is former chair of the IEEE P1363 working group and acted as security editor/author of IEEE 802.15.3, IEEE 802.15.4, and EESS #1. He chaired the Trusted Computing ... View Full Bio

Recommended Reading:

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
User Rank: Apprentice
11/19/2019 | 10:06:35 PM
thank so much
Thank Pro
Inside the Ransomware Campaigns Targeting Exchange Servers
Kelly Sheridan, Staff Editor, Dark Reading,  4/2/2021
Beyond MITRE ATT&CK: The Case for a New Cyber Kill Chain
Rik Turner, Principal Analyst, Infrastructure Solutions, Omdia,  3/30/2021
Register for Dark Reading Newsletters
White Papers
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2021-04-12
Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addre...
PUBLISHED: 2021-04-12
Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 Synapse is missing input validation of some parameters on the endpoints used to confirm third-party identif...
PUBLISHED: 2021-04-12
In Gradle before version 7.0, files created with open permissions in the system temporary directory can allow an attacker to access information downloaded by Gradle. Some builds could be vulnerable to a local information disclosure. Remote files accessed through TextResourceFactory are downloaded in...
PUBLISHED: 2021-04-12
Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 Synapse is missing input validation of some parameters on the endpoints used to confirm third-party identif...
PUBLISHED: 2021-04-12
Advanced Authentication versions prior to 6.3 SP4 have a potential broken authentication due to improper session management issue.