search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Simultaneous multithreading processors may leak information through cache eviction analysis techniques

Vulnerability Note VU#911878

Original Release Date: 2005-05-23 | Last Revised: 2005-08-05

Overview

Operating systems on hardware platforms supporting simultaneous multi-threading (Hyper-Threading technology in particular) are potentially vulnerable to information leakage to local users. Proof of concept papers and code demonstrating successful attacks against cryptographic keys are in public circulation.

Description

Hyper-Threading (HT) Technology allows two series of instructions to run simultaneously and independently on a single processor. With Hyper-Threading Technology enabled, the system treats a physical processor as two "logical" processors. Each logical processor is allocated a thread on which to work, as well as a share of execution resources such as cache memories, execution units, and buses.

Information could potentially be deduced by local users using programs capable of shared memory cache eviction analysis. Proof of concept code using timing and cache eviction analysis techniques have demonstrated that cyptographic keys can be deduced on Intel processors with Hyper-Threading technology (HTT) . It is likely that similar techniques could be employed on other processor architectures that support simultaneous multithreading.

This vulnerability is applicable to many operating system platforms running on a hardware platform that supports simultaneous multithreading (Intel HTT in particular).

Colin Percival has released a paper "Cache Missing for Fun and Profit" that demonstrates shared access to memory caches provide a potential covert channel between threads, and also permit a malicious thread to monitor the execution of another thread, potentially allowing for theft of cryptographic keys.

Vendors have started providing patches and configuration information to disable simultaneous multithreading/HTT support.

Warning: On dual-core (multiple CPU) systems this could have the undesirable effect of disabling all but one of the CPUs. For single core (CPU) systems this workaround may still impact the performance of the server (depending on load).

Organizations need to assess whether the performance impact of disabling simultaneous multithreading/HTT support is worthwhile relative to the risk of successful compromise of sensitive information.

Impact

Sensitive information, including cryptographic key material, may be leaked to other local users on the affected system.

The paper describing this issue and its corresponding proof-of-concept exploit make assumptions about the relative quiescence of the target system. At this stage it is unclear how viable the analysis techniques outlined in the above paper would be on busy systems.

Single user workstations and systems where users do not have the ability to run their own programs are unlikely to be affected by this specific issue.

Solution

We are not aware of an all encompassing short term solution to this issue.


Workarounds

Disabling of simultaneous multithreading/HTT support at the operating system or BIOS level may reduce the likelihood of successful attack using the methods outlined in Colin's paper, however it may not mitigate against other similar types of attackes.

Vendor Information

911878
 

View all 36 vendors View less vendors


CVSS Metrics

Group Score Vector
Base
Temporal
Environmental

References

Acknowledgements

Colin Percival is credited with bringing the issue to the attention of vendors and the wider community.

This document was written by Robert Mead and Chad Dougherty.

Other Information

CVE IDs: CVE-2005-0109
Severity Metric: 8.30
Date Public: 2005-05-13
Date First Published: 2005-05-23
Date Last Updated: 2005-08-05 20:29 UTC
Document Revision: 27

Sponsored by CISA.