Friday, March 13, 2009

Independent Attack Discoveries

Next week's Thursday, March 19th, 1600 UTC, we will publish a paper (+ exploits) on exploiting Intel® CPU cache mechanisms.

The attack allows for privilege escalation from Ring 0 to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM on many recent mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboards with Intel CPUs. Interestingly, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very same attack will be presented by anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r researcher, Loic Duflot, at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CanSecWest conference in Vancouver, Canada, on... Thursday 19th, 1600 UTC. BTW, this is a different SMM-targeting attack than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one we mentioned during our recent TXT talk and that is scheduled to be presented later this year.

Here's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 full story (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is also a moral at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end) …

Just after our presentation at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Black Hat last month, we (i.e. Rafal and I) have been independently approached by some person (or two different persons — we haven't figured that out actually — cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were some ca. 30 people willing to ask us questions after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 talk, so it's hard to remember all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 faces), who was very curious about our SMM attacks (whose details we haven't discussed, of course, because Intel is still working on a fix). This person(s) started asking various questions about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacks and one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 questions, that was asked to both me and Rafal, was if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack used caching. Later that day, during a private ITL dinner, one of us brought this issue, and we started thinking if it was indeed possible to perform an SMM attack via CPU caching. By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dinner we have sketched out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack, and later when we got back to Poland, Rafal implemented a working exploit with code execution in SMM in a matter of just a few hours. (I think I used way too many parencá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365sis in this paragraph).

So, being cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good and responsible guys that we are, we immediately reported cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new bug to Intel (actually talking to Intel's PSIRT is getting more and more routined for us in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent months ;). And this is how we learnt that Loic came up with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same attack (back cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was no talk description at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conference website) — apparently he approached Intel about this back in October 2008, so 3-4 months before us — and also that he's planning to present it at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CanSecWest conference in March. So, we contacted Loic and agreed to do coordinated disclosure next Thursday.

Interestingly, however, none of us was even close to being cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first discoverer of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 underlying problem that our attacks exploit. In fact, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first mention of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possible attack using caching for compromising SMM has been discussed in certain documents authored as early as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of 2005 (!) by nobody else than... Intel's own employees. Stay tuned for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details in our upcoming paper.

Conclusion

If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a bug somewhere and if it stays unpatched for enough time, it is almost guaranteed that various people will (re)discover and exploit it, sooner or later. So, don't blame researchers that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y find and publish information about bugs — cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y actually do a favor to our society. Remember cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 guy who asked us if our attack used caching? I bet he (or his associates) also have had exploits for this caching bug, but apparently didn't notify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vendor. Hmm, what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y might have been doing with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploit? When was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last time you scanned your system for SMM rootkits? ;)

Anyways, congrats to Loic for being cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first one who wrote exploits for this bug. Also congrats to Intel employees who originally noticed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem back in 2005.

17 comments:

Anonymous said...

Interesting research, as always ;>

"When was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last time you scanned your system for SMM rootkits? ;)"
This sentence has shaken me. My god, PCes are still getting owned by ring 3 malware, even simple ring 3 rootkits are still a problem for some. So I guess SMM rootkits will be just anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r thing that will be added to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 growing list of unending security challenges ;>

Looking forward to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper ;>

Joanna Rutkowska said...

My god, PCes are still getting owned by ring 3 malware, even simple ring 3 rootkits are still a problem for some.

Yes, that's so true... And so disappointing at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time...

Joanna Rutkowska said...

BTW, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 statement: "When was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last time you scanned your system for SMM rootkits?" was supposed to be a joke -- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no such things as SMM scanners cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days ;)

Anonymous said...

BTW, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 statement: "When was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last time you scanned your system for SMM rootkits?" was supposed to be a joke -- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no such things as SMM scanners cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days ;)

And are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re any SMM rootkits ? Some even-bluer-pill or sth ? ;>

Hehe anyway, yeah, I know, I had in mind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 near future ;>

Joanna Rutkowska said...

And are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re any SMM rootkits?

Sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are:

http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Sparks

Anonymous said...

And are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re any SMM rootkits?

Oh. Right. I've missed that one ;>
Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link ;>

Othman Esoul said...

I think exploiting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cache is not a novel approach at all.. I have read a number of exploits done by ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs and your attack is wont be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last. It is a shared resource anyway even if it is secured by hardware-means it can be exploited once cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system software fails to manage this shared memory..

Joanna Rutkowska said...

@Othman: CPU cache exploiting has been used before in crypto attacks indeed, but I cannot remember any system privilege escalation attack using CPU caching. Can you provide appropriate links?

Othman Esoul said...

Exactly many have warned that caches can be used to implement side channels as early as 1995 in a paper named: An Analysis of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel 80x86 Security
Architecture and Implementations
(http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00502221).

Some have used it to facilitate a good stealth to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir Rootkit last year (e.g., clocker on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ARM processors). CACHE MISSING FOR FUN AND PROFIT is anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r famous paper which you referred to already. Intel managed to reply on this paper by saying "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system is already compromised" before using such mechanism as Colin Percival says in his paper (Coding by Contract:Why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Fine Print Matters). I am not aware of any previous work managed to exploit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cache to escalate privileges...

Anonymous said...

I'm sorry but where will it be published (The blog or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main web site)?

Joanna Rutkowska said...

The paper will be published on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ITL website:

http://invisiblethingslab.com/itl/Resources.html

I will also post a link to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper here on this blog.

Anonymous said...

So this is a Intel only cache bug or does this affect AMD as well?

Joanna Rutkowska said...

@Bill: unfortunately we haven't got enough resources to thoroughly research this problem on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AMD-based systems. (Of course, if somebody is interested in sponsoring such a research, we would be interested in extending our research to also cover cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AMD systems).

Anonymous said...

Can you tell if virtual environments would be effected by this?

What would you need to test under AMD environments?

Anonymous said...

What can we do using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se SMM rootkits?
How did cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se infected computers connect to you?

Anonymous said...

I wonder if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 method for reading SMM code described in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article does really work. I mean getting not only modified bytes but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code itself which is not modified.

I am curious because right now I am debugging an issue where SMI handler simply clears SMIs from watchdog thus rendering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 watchdog useless.

Joanna Rutkowska said...

@anonymous_who_asks_about_smm_reading_exploit:
The cache lines are filled not only on writes, but also on reads (instruction fetches).