Thursday, May 28, 2009

Thoughts About Trusted Computing

Here are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides about Trusted Computing I used for my presentations at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 EuSecWest today, and at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Confidence conference last week.

As this was supposed to be a keynote, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides are much less technical cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n our ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r slides, and also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no new attacks presented cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. Still, I hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y might be useful as some sort of an "alternative" introduction to Trusted Computing :)

A cool presentation I saw today was about PCI-based backdoors by Christophe Devine and Guillaume Vissian. They basically took a general-purpose FPGA programmable PC-card (AKA PCMCIA), flashed it with an FPGA "program" that implemented a simple state machine. The purpose of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 state machine was to wait until its DMA engine gets initialized and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n to modify certain bytes in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host memory, that happened to be part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 winlogon.exe process (IIRC cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y changed XOR AL, AL into MOV AL, 1, or something like that, at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of some password verification function inside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 winlogon.exe process). The slides should be available soon on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conference website. I also hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will publish all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code needed to flash your own personal "winlogon unlocker".

The live demo was really impressive — cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y showed a winlogon screen, tried to login a few times with wrong passwords, of course all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attempts failed, 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ý bet365y inserted cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir magic, $300 worth, PC-card, and… 2 seconds later cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y could log in using any password cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y wanted.

While not necessary being a breakthrough, as everybody has known such things could be done for years, I think it is still important that somebody eventually implemented this, discussed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 technical details (FPGA-related), and also showed how to implement it with a cheap generic "reflashable" hardware without using a soldering iron.

Of course I have also discussed in my presentation how to prevent PCI-based backdoors (like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one discussed here) using VT-d, but this defense is currently only available if you use Xen 3.3 or later, and also requires that you manually create driver domain partitions and come up with a reasonable scheme for assigning devices to driver domains. All in all 99.9% of users are not (and will not be anytime soon) protected against such attacks. Oh, wait, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is actually a relatively simple software-based workaround (besides putting a glue into your PC-card slot, which is not a very subtle one)… I wonder who else will find out :)