Skip the navigation

Study: Intel's hyperthreading could expose servers

A sophisticated timing attack could be used as an exploit

By Tom Krazit
May 16, 2005 12:00 PM ET

IDG News Service - Intel Corp.'s hyperthreading technology could allow a hacker to steal security keys from a compromised server using a sophisticated timing attack, a researcher said Friday in a paper presented at the BSDCan 2005 conference.
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 on software written to take advantage of the technology. 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 Web site.
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 presented his paper at BSDCan, a Canadian conference for developers working with the BSD operating system, a version of Unix. He discovered the flaw while running the FreeBSD operating system, but the exploit will work on all operating systems that support Intel chips with hyperthreading, he said in his paper.
Percival couldn't be immediately reached for comment following his presentation.
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 on to 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 can be 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 a problem only for servers, Percival said on his Web site.
Howard High, an Intel spokesman, said the company was informed of the problemprior to the publication of the paper and is working with software vendors such as Microsoft Corp. and Red Hat Inc. to fix the issues. 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 isn't considered critical, but it will be fixed in subsequent updates to the Microsoft and Linux operating systems, High said.
The flaw works only 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.

Reprinted with permission from IDG.net. Story copyright 2014 International Data Group. All rights reserved.
Our Commenting Policies