Security query over Intel hyperthreading
Cache could let hacker control your server.
By Tom Krazit, IDG News Service | Published: 08:13, 16 May 2005
Intel's hyperthreading technology could allow a hacker to steal security keys from a compromised server using a sophisticated timing attack, a researcher has warned.
Hyperthreading allows software to take advantage of unused execution units in a processor. It essentially allows two separate processes, or software threads, to execute on a single processor at the same time, improving performance.
However, by taking advantage of the fact that the processes share access to a chip's cache memory, a malicious user can determine the security keys to a particular computer by monitoring the cache for those keys, said Colin Percival, an independent researcher, in a paper posted to his website and presented at the BSDCan 2005 conference.
Intel and several software companies are working on a fix for the problem, but they do not consider it a critical issue, an Intel spokesman said.
Percival discovered the flaw while running the FreeBSD operating system but claims the exploit will work on all operating systems that support Intel chips with hyperthreading.
Processors use cache memory to store frequently accessed data close to the CPU, where it can be quickly accessed for improved performance. On Intel's Pentium 4 and Xeon processors, both of which feature hyperthreading, the cache is divided into portions known as Level 1, Level 2 or Level 3.
A single-threaded processor usually clears the processor's L1 cache of all operating instructions in a process before it moves onto the next process. But a certain amount of instructions from one process remain in the cache of a hyperthreading processor while the next process is running, allowing one process to learn the partial contents of the other process, he said.
Therefore, a malicious user could eventually learn the security key of a system by waiting for that key to execute and then using the other thread to obtain portions of the key, Percival said. With enough repetition, most of the bits of the key can be learned, and the complete key determined through a probability analysis, he said. This type of exploit is known as a timing attack.
Hyperthreading processors also ship on desktop PCs, but this particular flaw is only a problem for servers, Percival said.
Howard High, an Intel spokesman, said the company had been informed of the problem prior to the publication of the paper and it is working with software vendors including Microsoft and Red Hat to fix the issue. But the flaw affects any processor that shares resources in the same manner as hyperthreading, not just Intel's chips or hyperthreading-enabled chips, he said.
The flaw is not considered critical, but it will be fixed in subsequent updates to the Microsoft and Linux operating systems, High said.
The flaw only works on servers that have already been compromised through a separate attack, High said. And if a user's server has already been compromised, there are far easier and less time-consuming exploits that would allow a malicious attacker to gain control or a system or steal data, he said.