MWL: If I recall correctly, at BSDCan you said that you expected someone with the proper background could write a functional exploit for this vulnerability in only a few days. It's been a few weeks now; have you seen such an exploit yet?
CP: No; but if someone was planning on exploiting this, I'm sure they wouldn't announce it to the world by publishing their code.
MWL: Well, when an exploit comes out I'm sure you'll hear about it, probably by the guy who has to clean it up.
You had your own ideas about how people could use this. I'm sure that other people have given you even more ideas. What other interesting, surprising, or creative ideas have other people given you for exploiting hyperthreading?
CP: Well, I demonstrated an attack against RSA using hyperthreading; Osvik and Tromer have also performed an attack against AES. (I don't know all the details, since they haven't published their work yet.) Beyond these two cryptographic attacks, it becomes harder to define what constitutes an "exploit"--clearly stealing someone's keys is a problem, but what about watching the pattern of their keystrokes when they type in their password? What about determining which records are being accessed in a database? What about distinguishing between someone running vi and someone running emacs? The way software is designed at the moment more or less guarantees that information will be leaked on a hyperthreaded processor--the only question is how much people care.
The most interesting feedback I've received has not been about new ways of exploiting hyperthreading, but instead has been historical: it seems that several people independently investigated the possibility of information leakage via caches over 20 years ago, but were "discouraged" from further research by the NSA before they obtained any significant results.
MWL: If I'm understanding you correctly, you think the line between an exploit and an interesting-but-unimportant security bug is personal. Obviously we all care when the script kiddies have their point-and-click RSA-smasher, but there are many degrees of gray beneath that level. Someone may consider your HT vulnerability moot, but others will find it very serious indeed. This is something we don't hear enough about in security--it's all relative to your situation.
CP: I wouldn't say that the line between "dangerous" and "interesting but unimportant" is personal, since that implies that there is a subjective element to security analysis. Rather, I'd say that the line between "dangerous" and "interesting but unimportant" depends upon whether you are directly affected. You could think of it as being like an automobile accident--if you never leave home, you don't need to worry about being in an automobile accident, but if you do leave home, it's something that you need to take precautions against (e.g., learning to drive safely).
MWL: At BSDCan, you mentioned that you had learned a lot of new and interesting things about yourself in the interval between announcing the paper and actually releasing it. Someone had posted that you had a vendetta against Intel, and someone else said that you were manipulating the stock price for personal gain. How much of that reaction does a security researcher put up with when he announces his results?
CP: Well, I should start by clarifying here that the rumors were largely my fault, since they resulted from the unusual disclosure schedule for this issue. The time at which I released all the details of the attack was set by the conference schedule--I was giving the first talk of the conference, at 10 a.m. EDT on Friday the 13th--but I wanted to provide everybody with a chance to fix this on Friday regardless of which time zone they happened to be in, so at 8 p.m. EDT the preceding evening I announced that an unspecified problem existed and that I would be releasing the details the following morning.
This window of 14 hours resulted in some rather interesting rumors flying around, since the only evidence people had on which to judge my claims was my reputation together with the FreeBSD security advisory that was sent out. (No other advisories were released until SCO sent out their advisory on the 13th.) Some people claimed that this was all a hoax; others, pointing to the FreeBSD security advisory and the lack of Linux security advisories, said that "obviously, Linux is not affected"; but the most amusing claim I heard came from someone who pointed to my web page where I describe myself as being "unemployed [because] I wanted to spend my time making sure that this issue was properly fixed, rather than earning some money" and concluded that I was "a disgruntled unemployed programmer, trying to make some money by short-selling Intel shares." (Coincidentally, someone did sell 10 million Intel shares at 10:56 a.m. on May 12--but according to reports I've read, this was simply a trading error, where the intended sale had been of 10,000 shares.)
In general, security researchers don't have to put up with very much along these lines. In this particular case, I had to put up with quite a lot of rumors--but I didn't really mind, since they provided some valuable comic relief, and once I published the details of my attack, nearly everyone accepted that it was valid immediately.