Showing posts with label trusted execution technology. Show all posts
Showing posts with label trusted execution technology. Show all posts

Tuesday, December 13, 2011

Trusted Execution In Untrusted Cloud


Wouldn't it be nice if we could actually own our data and programs in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud? By “owning” here I mean to have control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir confidentiality and integrity. When it comes to confidentiality and integrity for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data, it's not much of a rocket since, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 classic crypto (and secure client systems) is all that we need. I have already wrote about it in an earlier post.
But it would also be nice, if we could somehow get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same confidentiality and integrity assurance for our programs that we upload for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 execution in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud...

For example, a company might want take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir database application, that deal with all sorts of corporate critical sensitive data, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n upload and safely run this application on e.g. Amazon's EC2, or maybe even to some China-based EC2-clone. Currently there is really nothing that could stop cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider, who has a full control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor under which our application (or our VM) executes, from reading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contents of our process' memory and stealing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secrets from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. This is all easy stuff to do from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 technical point of view, and this is also not just my own paranoia...


Plus, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usual concerns, such as: is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 infrastructure of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud provider really that safe and secure, as it is advertised? How do we know nobody found an exploitable bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor and was not able to compromise ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r customer's VMs from within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker-hired VM? Perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same question applies if we didn't decided to outsource cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 apps to a 3rd party cloud, but in case of a 3rd party clouds we really don't know about what measures have been applied. E.g. does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 physical server on which my VMs are hosted also used to host some foreign customers? From China maybe? You get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point.

Sometimes all we really need is just integrity, e.g. if we wanted to host an open source code revision system, e.g. a git repository or a file server. Remember cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel.org incident? On a side note, I find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Jonathan Corbet's self-comforting remarks on how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was really nothing to worry about, to be strikingly naive... I could easily think of a few examples of how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker(s) could have exploited this incident, so that Linus & co. would never (not soon) find out. But that's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r story...

But, how can one protect a running process, or a VM, from a potentially compromised OS, or a hypervisor/VMM?

To some extent, at least cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretically, Intel Trusted Execution Technology (TXT), could be used to implement such protection. Intel TXT can attest to a remote entity, in that case this would be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud customer, about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hash of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor (or kernel) that has been loaded on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform. This means it should be possible for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to know that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud provider uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unmodified Xen 4.1.1 binary as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor and not some modified version, with a built-in FBI backdoor for memory inspection. Ok, it's a poor example, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen architecture (and any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r commercially used VMM) allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 administrator who controls Dom0 (or equivalent) to essentially inspect and modify all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system, also that belonging to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r VMs, and no special backdoors in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor are needed for this.

But let's assume hypocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tically that Xen 5.0 would change that architecture, and so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dom0 would not be able to access any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r VM's memory anymore. Additionally, if we also assumed that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor was secure, so that it was not possible to exploit any flaw in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervior, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we should be fine. Of course, assuming also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were also no flaws in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT implementation, and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM was properly sandboxed, or that we trusted (some parts of) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se are really complex problems to solve in practice, but I know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is some work going on in this area, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is some hope).

Such a TXT-bases solution, although a step forward, still requires us to trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud provider a bit... First, TXT doesn't protect against bus-level physical attacks – think of an attacker who replaces cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DRAM dies with some kind of DRAM emulator – a device that looks like DRAM to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host, but on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r end allows full inspection/modification of its contents (well, ok, this is still a bit tricky, because of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lack of synchronization, but doable).

Additionally for Remote Attestation to make any sense, we must somehow know that we “talk to” a real TPM, and not to some software-emulated TPM. The idea here is that only a “real” TPM would have access to a private key, called Endorsement Key, used for signing during Remote Attestation procedure (or used during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 generation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AIK key, that can be used alternatively for Remote Attestation). But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again who generates (and so: owns) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 private endorsement keys? Well, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM manufacturer, that can be... some Asian company that we not necessarily want to trust that much...

Now we see it would really be advantageous for customers, if Intel decided to return to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practice of implementing TPM internally inside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chipset, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y did in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir Series 4 chipsets (e.g. Q45). This would also protect against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 LCP bus-level attacks against TPM (although somebody told me recently that TPM in current systems cannot be so easily attacked from LCP bus, because of some aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication protocol being used cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re – I really don't know, as physical attacks have not been cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 area we ever looked at extensively; any comments on that?).

But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem of DRAM content sniffing always remains, although I would consider this to be a complex and expensive attack. So, it seems to me that most governments would be able to bypass such TXT-ensured guarantees in order to “tap” cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's programs executing in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud provides that operate within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir jurisdictions. But at least this could stop malicious companies from staring up fake cloud services with an intent to easily harvest some sensitive data from unsuspecting users.

It seems that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only way to solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above problem of DRAM sniffing attacks is to add some protection at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor level. We can imagine two solutions that processor vendors could implement:

First, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y could opt for adding an in-processor hardware mechanism for encrypting all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data that leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor, to ensure that everything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 is kept in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DRAM is encrypted (and, of course, also integrity-protected), with some private key that never leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor. This could be seen as an  extension to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel TXT.

This would mean, however, we still needed to relay on: 1) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor to not contain bugs, 2) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole VMM architecture to properly protect VM's memory, specifically against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dom0, 3) Intel TXT to not be buggy eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, 4) SMM being properly sandboxed, or alternatively to trust (some parts of) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS and SMI handler, 5) TPM's EK key to be non-compromised and verifiable as genuine, and 6) TPM bus attacks made impossible (those two could be achieved by moving cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM back onto cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chipset, as mentioned above), and finally, 7) on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 encryption key used by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor for data encryption to be safely kept in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor.

That's still quite a lot of things to trust, and it requires quite a lot of work to make it practically really secure...

The ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r option is a bit more crazy, but also more powerful. The idea is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor might allow to create untrusted supervisors (or hypervisors). Bringing this down to x86 nomenclature, it would mean that kernel mode (or VT-x root) code cannot sniff or inject code into (crypto-protected) memory of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usermode processes (or VT-x guests). This idea is not as crazy as you might think, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re has even been some academic work done in this area. Of course, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many catches here, as this would require specifically written and designed applications. And if we ever considered to use this technology also for client systems (how nice it would be if we could just get rid of some 200-300 kLOC of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TCB in Qubes OS!), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 challenges are even bigger, mostly relating to safe and secure trusted output (screen) and, especially, input (keyboard, mouse).

If this worked out, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we would need to trust just one element: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor. But we need to trust it anyway. Of course, we also need to trust some software stack, e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compilers we use at home to build our application, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 libraries it uses, but that's somehow an unrelated issue. What is important is that we now would be able to choose that (important) software stack ourselves, and don't care about all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r software used by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cloud provider.

As I wrote above, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor is this final element we always need to rust. In practice this comes down to also trusting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 US government :) But we might imagine users consciously choosing e.g. China-based, or Russia-based cloud providers and require (cryptographically) to run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir hosted programs on US-made processors. I guess this could provide reasonable politically-based safety. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is also ARM, with its licensable processor cores, where, I can imagine, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 licensee (e.g. an EU state) would be able to put cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own private key, not known to any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r government (here I assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 licensee also audits cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor RTL for any signs of backdoors). I'm not sure if it would be possible to hide such a private key from a foundry in Hong Kong, or somewhere, but luckily cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are also some foundries within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 EU.

In any case, it seems like we could make our cloud computing orders of magnitude safer and more secure than what is now. Let's see whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 industry will follow this path...

Wednesday, September 07, 2011

Anti Evil Maid


Anti Evil Maid is an implementation of a TPM-based static trusted boot with a primary goal to prevent Evil Maid attacks.

The adjective trusted, in trusted boot, means that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mechanism is to somehow attest to a user that only desired (trusted) components have been loaded and executed during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boot. It's a common mistake to confuse it with what is sometimes called secure boot, whose purpure is to prevent any unauthorized component from executing. Secure boot is problematic to implement in practice, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re must be a way to tell which components are authorized for execution. This might be done using digital signatures and some kind of CA infrastructure, but this gets us into problems such as who should run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CA, what should be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 policy for issuing certificates, etc.

The adjective static means that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole chain of trust is anchored in a special code that executes before all ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r code on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform, and which is kept in a non re-flashable memory, whose sole purpure is to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 initial measurement of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next component that is going to be executed, which is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS code. This special code, also known as Core Root of Trust for Measurement (CRTM), might be part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS (but kept on a special read-only memory, or implemented by some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r entity that executes before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS reset vector, such as e.g. Intel ME or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor microcode even. Once measured, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS code is executed, and it is now its turn to measures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform configuration, Option ROM code, and MBR. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 loader (stored in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR), such as Trusted GRUB, takes over and measures its own next stages (ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR sector), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor, kernel, and initramfs images that are to be loaded, togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir configuration (e.g. kernel arguments).

As explained above, trusted boot can only retrospectively tell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r correct (trusted) software has booted or not, but cannot prevent any software from executing. But how can it communicate anything reliably to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, if it might have just been compromised? This is possible thanks to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM unseal operation that releases secrets to software only if correct software has booted (as indicated by correct hashes in select PCR registers).

So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea is that if a user can see correct secret message (or perhaps a photo) being displayed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it means that correct software must have booted, or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM would not release (unseal) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret. Of course we assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 adversary had no ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way to sniff this secret and couldn't simply hardcode it into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid – more on this later.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way to look at it is to realize that Anti Evil Maid is all about aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticating machine to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, as opposed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usual case of aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine/OS (login and password, decryption key, token, etc). We proceed with booting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine and entering sensitive information, only after we get confidence it is still our trusted machine and not some compromised one.

Installing Anti Evil Maid

Anti Evil Maid should work for any Linux system that uses dracut/initramfs, which includes Qubes, Fedora and probably many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r distros. You can find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Anti Evil Maid source code in a git repository here. You can also download a tarball with sources and prebuilt rpm packages from here (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y all should be signed with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Qubes signing key). Qubes Beta 2, that is coming soon, will have those RPMs already per-installed.

To install Anti Evil Maid, follow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 instructions in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 README file.

Some Practical considerations

If you decided to use no password for your TPM SRK key (so, you passed '-z' to tpm_takeownership, see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 README), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you should definitely install Anti Evil Maid on a removable USB stick. Ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise, if you installed it on your disk boot partition, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would be able to just boot your computer and note down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase that will be displayed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can compromise your BIOS/MBR/kernel images however she likes, and just hardcode cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase to make it look like if your system was fine.

If you decided to use custom TPM SRK password (so, you did not pass -z to tpm_takeownership), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you can install Anti Evil Maid onto your regular boot partition. The attacker would not be able to see your secret passphrase without knowing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can try anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Evil Maid attack to steal this password, but this attack is easy to spot and prevent (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next section).

However, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is still a good argument to install Anti Evil Maid on a separate USB stick racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than on your built-in disk boot partition. This is because you can use Anti Evil Maid as a provider of a keyfile to your LUKS disk encryption (as an additional file unsealable by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM). This way you could also stop adversary that is able to sniff your keystrokes (e.g. using hidden camera, or electromagnetic leak), and capture your disk decryption passphrase (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next section).

In any case it probably would be a good idea to make a backup stick that you might want to use in case you lose or somehow damage your primary stick. In that case you should have a way to figure out if your system has been compromised in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meantime or not. Use anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r stick, with anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r passphrase, and keep it in a vault for this occasion.

Finally, be aware that, depending on which PCRs you decided to seal your secrets to, you might be unable to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret even after you changed some minor thing in your BIOS config, such as e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of boot devices. Every time you change something in your system that affects cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process, you would need to reseal your secrets to new PCR values as described in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installation instructions.

Attacks prevented by Anti Evil Maid

The classic Evil Maid attack is fully prevented.

If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker is able to steal your Anti Evil Maid stick, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker gets access to your computer, 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ý bet365 attacker would be able to learn your secret passphrase by just booting from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stolen stick. This is not fatal, because user should get alarmed seeing that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick has been stolen, and use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup stick to verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system (with a different secret messages, of course), and later create a new stick for every day use with a new secret message.

A variation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above attack is when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker silently copies cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 content of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick, so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user cannot realize that someone got access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick. Attacker cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 copied stick to boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's computer and this way can learn cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can infect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer with Evil Maid, and can also bypass Anti Evil Maid verification by just hardcoding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message into Evil Maid. So, even though TPM would know that incorrect software has booted, and even though it would not unseal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user would have no way of knowing this (as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret would still be displayed on screen).

In order to protect against this attack, one might want to use a non-default SRK password – see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installation instructions. Now an extra SRK password would be needed to unseal any secret from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM (in addition to PCRs being correct). So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker, who doesn't know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password, is now not able to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message and cannot prepare cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack (doesn't know what secret passphrase to hardcode cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re).

The attacker might want to perform an additional Evil Maid attack targeted at capturing this SRK password, e.g. by infecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's stick. This, however, could be immediately detected by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user would see that after entering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct SRK password, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was no correct secret passphrase displayed. The user should cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick got compromised togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password, and should start cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup stick, verify that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup secret is correct, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n create new AEM stick for daily usage.

If an attacker is able to capture cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's keystrokes (hidden camera, electromagnetic leaks), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker doesn't need Evil Maid attack anymore, and so doesn't need to bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with compromising cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boot anymore. This is because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can just sniff cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk decryption password, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n steal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop and will get full access to all user data.

In order to prevent such a “keystroke sniffing” attack, one can use an additional sealed secret on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Anti Evil Maid stick that would be used as a keyfile for LUKS (in addition to passphrase). In this case cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 knowledge of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sniffed LUKS passphrase would not be enough for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker to decrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk. This has not been implemented, although would be a simple modification to dracut-antievilmaid module. If you decided to use this approach, don't forget to also create a backup passphrase that doesn't need a keyfile, so that you don't lock yourself from access to your data in case you lose your stick, or upgrade your BIOS, or something! You have been warned, anyway.

Attacks that are still possible

An adversary that is able to both: sniff your keystrokes (hidden camera, electromagnetic leak) and is also able to copy/steal/seize your Anti Evil Maid stick, can not be stopped. If a non-democratic government is your adversary, perhaps because you're a freedom fighter in one of those dark countries, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you likely cannot ignore this type of attacks. The only thing you can do, I think, is to use some kind of easy-to-destroy USB stick for keeping Anti Evil Maid. A digestible USB stick, anyone?

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r type of attack that is not addressed by Anti Evil Maid is an attack that works by removing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 “gears” from your laptop (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard and disk at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very least), putting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re a fake board with a transmitter that connects back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker's system via some radio link and proxies all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 keyboard/screen events and USB ports back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original “gears” that execute now under supervision of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker. Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way of thinking about this attack is as if we took cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard and disk away, but kept all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cables connecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop's keyboard, screen, and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r ports, such as USB (yes, very long cables). The attacker cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n waits until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user boots cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine, passes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine-to-user aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntications (however sophisticated it was), and finally enters cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk decryption key. In practice I wouldn't worry that much about such an attack, but just mentioning it here for completeness.

Finally, if our adversary is able to extract secret keys from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM somehow, e.g. using electron microscope, or via some secret backdoor in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM, or alternatively is able to install some hardware device on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard that would be performing TPM reset without resetting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n such an attacker would be able to install Evil Maid program and avoid its detection by SRTM. Still, this doesn't automatically give access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user data, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would need to obtain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key first (e.g. using Evil Maid attack).

Implementation Specific Attacks

In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion above we assumed that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot has been correctly implemented. This might not be true, especially in case of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. In that case we would be talking about attacks against a particular implementation of your BIOS (or TrustedGRUB), and not against Anti Evil Maid approach.

One typical problem might be related to how CRTM is implemented – if it is kept in a regular BIOS reflashable memory, than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker who can find a way to reflash cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS (which might be trivial in case your BIOS doesn't check digital signatures on updates) would be able to install Evil Maid in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS but pretend that all hashes are correct, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker controls cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 root of trust.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r possible implementation problem might be similar to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack we used some years ago to reflash a secure Intel BIOS (that verified digital signatures on updates) by presenting a malformed input to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS that caused a buffer overflow and allowed to execute arbitrary code within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. For such an attack to work, however, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS should not measure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 input that is used as an attack vector. I think this was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logo picture that was used in our attack. Ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise, even if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was a buffer overflow, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chain of trust would be broken and thus cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack detected. In ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possibility of such an attack seems to be racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r slim in practice.

What about Intel TXT?

Intel TXT takes an alternative approach to trusted boot. It relies on a Dynamic instead of Static Root of Trust for Measurement (DRTM vs. SRTM), which is implemented by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction and special dynamic PCR registers that can be set to zero only by SENTER. Intel TXT doesn't rely anymore on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS or CRTM. This offers a huge advantage that one doesn't need to trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS, nor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot loader, and yet can still perform a trusted boot. Amazing, huh?

Unfortunately, this amazing property doesn't hold in practice. As we have demonstrated almost 3 years ago (!), it is not really true that Intel TXT can remove cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS away from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chain of trust. This is because Intel TXT is prone to attacks through a compromised SMM, and anybody who managed to compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS would be trivially able to also compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM (because it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS that is supposed to provide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMI handler).

Thus, if one compares SRTM with Intel TXT, 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ý bet365 conclusion is that Intel TXT cannot be more secure than SRTM. This is because if an attacker can compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS, 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ý bet365 attacker can also bypass Intel TXT (via a SMM attack). On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, a BIOS compromise alone doesn't automatically allow to bypass SRTM, as it has been discussed in a paragraph above.

It really is a pity, because ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise Intel TXT would be just a great technology. Shame on you Intel, really!

Alternative approaches to mitigate Evil Maid Attacks

Various people suggested ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r methods to prevent Evil Maid attacks, so lets quickly recap and discuss some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m...

The most straight forward approach suggested by most people, has been to disable booting from external devices in BIOS, togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with locking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS setup with an admin password.

There are two problems with such an approach. First, all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOSes have a long history of so called default passwords (AKA maintenance passwords). You don't want to rely on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lack of BIOS default passwords when protecting your sensitive data, do you?

Second, even if your BIOS doesn't have a backdoor (maintenance password), it is still possible to just take your disk away and connect to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r laptop and infect its boot partition.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r suggested approach has been to keep your boot partition on a separate USB stick. This solution obviously doesn't take into account cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker might install Evil Maid into your BIOS. Many consumer laptop BIOSes do not require digital signatures on BIOS firmware updates (my Sony Vaio Z, a racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r high-end machine, is among cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m), making it simple to install Evil Maid cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most trivial attack is to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS always boot from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 HDD instead of whatever ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r device cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user wanted to boot from).

Finally, some people pointed out that many modern laptops comes with SATA disks that offer ability to “lock” cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk so that it could only be used with a specific SATA controller. Using this, combined with setting your BIOS to only boot from your internal disk, plus locking access to BIOS setup, should provide reasonable protection. This solution, of course, doesn't solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem of a potential maintenance password in your BIOS. Also being skeptical and paranoid as I am, I would not trust this mechanism to be really robust – I would expect it would be fairly simple to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk so that it could be paired with anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, unauthorized controller, and that this probably is a matter of NOP-ing a few instructions in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 controller firmware... In fact it seems like you can buy software to unlock this mechanism for some $50... And apparently (and not very surprisingly) some drives seems to continue on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 'default passwords' tradition.

FAQ 

Q: Bitlocker implemented this already several years ago, right?
A: No.

Q: But, two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication can also be used to prevent Evil Maid, right?
A: No.

Q: Does it make any sense to use Anti Evil Maid without a full disk encryption?
A: No.

Q: Are you going to answer 'no' for each question I ask?
A: No.

Q: Why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no negative indicators (e.g. a big scary warning) when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unseal process fails?
A: The lack of negative indicators is intentional. The user should keep in mind that if somebody compromised cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir computer, 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ý bet365 attacker would be able to display whatever she wants on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen, and especially to skip displaying of any warning messages. The only thing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would not be able to display would be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message. Thus, it would make no sense to use negative indicators, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would likely not work in case of a real attack. One solution here would be to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unsealed secret as a keyfile for disk encryption (as discussed above), which would make it impossible to decrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user disk (and so generally proceed with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot) without successfully unsealing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM.

Friday, April 30, 2010

Remotely Attacking Network Cards (or why we do need VT-d and TXT)

I've finally found some time to study Loic Duflot's and Yves-Alexis Perez's recent presentation from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last month on remotely attacking network cards. You can get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides here.

In short, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're exploiting a buffer overflow in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network card's firmware by sending malicious packets to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 card, and 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 gain full control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 card's firmware, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can e.g. issue DMA to/from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host memory, effectively fully controlling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host (that's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r example of "Ring -3 rootkit" I would say). The buffer overflow is in some exotic management protocol (that I think is disabled by default, but that's irrelevant) implemented by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC's firmware (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC has its own RISC processor, and memory, and stack, which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y overflow, etc.).

I like this research very much, because it demonstrates several important things:

First, it shows that it is definitely a good idea to isolate/sandbox all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS networking code using IOMMU/VT-d. And this is exactly what we do in Qubes.

Second, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack provides a real-world example of why Static Root for Trust Measurement (SRTM) is inferior to Dynamic RTM (DRTM), e.g. Intel TXT. To understand why, let's make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following assumptions:
1) The OS/VMM properly uses IOMMU to isolate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network card(s), just like e.g. Qubes does.
2) Once cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker got control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC firmware, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can also modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 persistent storage (EEPROM) where this firmware is kept. This has been confirmed by Loic in a private email exchange.
3) The system implements trusted boot via SRTM, i.e. using just BIOS and TPM, without Intel TXT.

Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firmware in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 EEPROM and this will allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker to survive cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform reboot. The card's firmware will start executing early in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process, definitely before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS/VMM gets loaded. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compromised NIC, because it is capable of doing DMA to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host memory, can compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 image of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 VMM in a short time window between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time it got measured and loaded by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 (trusted) OS loader, e.g. Trusted GRUB, but still before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time VMM had a chance to setup proper IOMMU/VT-d protections for itself.

Of course, in practice, it might be tricky for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compromised NIC firmware to precisely know this time window when it should send a compromising DMA write request. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DMA was issued too early, 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ý bet365 trusted OS loader would calculate a wrong hash and put a wrong value into a PCR register, which would later prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system from completing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot, and prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DMA was issued too late, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 IOMMU/VT-d protections would already be in-place, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack would again be unsuccessful. But, hey, much harder obstacles have been worked around by smart exploit writes in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past, so don't comfort yourself that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack is hard. If it's possible, it means this technology is flawed, period.

And this is where DRTM, AKA Intel TXT, shows its advantage over simple SRTM. When you load a hypervisor using TXT, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction would first apply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 VT-d protections around cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervsior image, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 measurements, and only cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n load it, with VT-d protections still in-place.

The above is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory. A few months ago we demonstrated an attack against this scheme, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack was exploiting a flaw in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT implementation, not in its design, so it didn't render TXT useless as a technology.

A much bigger problem with Intel TXT is, that Intel still has done nothing to prevent SMM-based attacks against TXT. This is what we demonstrated about 1.5 years(!) ago. Our research stressed that TXT without protection from SMM is essentially useless. Intel cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n promised to come up with a spec on how to write an STM, and how TXT should work with STM (when to measure/load it, etc), but nothing has been released by Intel for all this time AFAIK...

Now, without STM (which is supposed to provide protection from potentially compromised SMM), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT cannot really prevent Loic and friends from owning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system, even if it uses such a securely designed OS as Qubes. This is because Loic would be able to modify e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boots (thanks to DMA ability of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 infected NIC firmware), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n attack an SMM from this MBR (I can bet lots of money Loic & co. would easily find a few ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r SMM exploits in any recent BIOS if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y only wanted to), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n having infected cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will be able to compromise TXT-loaded hypervisor, and finally compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole system.

I know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are some people from various governments reading this blog. If you really want to have secure systems, consider pushing on Intel to finally do something about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM-based attacks against TXT. Beware, Intel will try to tell you that, using TXT LCP you can seal your secrets to only "trusted" SMM images and would try to convince you it's a way to prevent SMM attacks on TXT. It is not. Only true SMM sandboxing is a proper way to address this problem.

Anyway, congrats to Loic and colleagues for yet anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r very interesting and meaningful system-level research!

Monday, December 21, 2009

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r TXT Attack

Earlier this year our team has presented an attack against Intel TXT that exploited a design problem with SMM mode being over privileged on PC platforms and able to interfere with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction. The Intel response was two-fold: to patch cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM implementation bugs we used for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack (this patch was for both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NVACPI SMM attacks, as well as for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM caching attack), and also to start (intensify?) working on STM specification, that is, we heard, planned to be published sometime in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 near future. STM is a thin hypervisor concept that is supposed to provide protection against (potentially) malicious SMMs.

Today we present a totally different attack that allows an attacker to trick cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction into misconfiguring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 VT-d engine, so that it doesn’t protect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newly loaded hypervisor or kernel. This attack exploits an implementation flaw in a SINIT AC module. This new attack also allows for full TXT circumvention, using a software-only attack. This attack doesn't require any SMM bugs to succeed and is totally independent from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous one.

The press release is here.

The full paper is here.

The advisory published by Intel today can be found here.

Enjoy.

Thursday, February 19, 2009

Attacking Intel TXT: paper and slides

The new press release covering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 basic details about our TXT attack is here.

The paper is here.

The slides converted to a PDF format are here. There is also an original version of slides in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Keynote format here for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Mac people. And for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people who don't use Mac, but still value cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aescá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tics (?!), I have also generated a QuickTime clickable movie out from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Keynote slides -- it can be found here, but it weighs 80MB.

Enjoy.

Monday, January 05, 2009

Attacking Intel® Trusted Execution Technology



Press people: please read our press release first and also refer to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disclaimer at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of this blog post. Thank you!

Update: 1/5/2009 19:21 CEST: minor typos/spelling corrections. Thanks to Jarred for point out some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 typos.

A word about Trusted Computing
The term Trusted Computing and related technologies, like Palladium, Trusted Platform Module, LaGrande, have always caused lots of controversy in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 IT world. Most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fear, however, has been a result of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lack of understanding of how a particular technology really works.

Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, Trusted Computing is becoming part of our lives, whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r we want it or not. These days almost every new laptop comes with an on-board Trusted Platform Module (TPM). Microsoft's Palladium initiative have been renamed so many times in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent years, that probably even people working at Microsoft are confused now. Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Palladium technologies made cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir way into Vista, and Microsoft BitLocker is, without doubt, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most successful, widely deployed product that is based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea of Trusted Computing. (In fact cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bitlocker is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only one thing that I really have been missing since I switched from Vista to Mac some time ago).

On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hardware side, besides cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 famed TPM, we also have had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 LaGrande technology, that is often connected with things such as Remote Attestation, Protected Execution and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r scary terms…

A word about Trusted Execution Technology
LaGrande, recently renamed Trusted Execution Technology (TXT), is Intel's response to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Trusted Computing trend. TXT is currently part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vPro™ brand, and for about a year now users can buy a vPro/TXT compatible hardware in regular computer stores (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first one was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DQ35J desktop board with certain Core 2 Duo processors, which I was able to buy at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of 2007 — remember that TXT requires support from both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CPU and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chipset).

TXT is not an alternative to TPM, in fact TXT heavily relies on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM to provide basic services like e.g. secure storage of measurements done by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT. Also, Palladium, or whatever it is called cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days, is not a competition to TXT. Intel TXT can provide building blocks to e.g. Vista Bitlocker, arguably making it more secure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it is now (Current Bitlocker implementation, AFAIK, relies on a so called Static Root of Trust for Measurement, which requires TPM, but not TXT).

What kind of measurement would TXT like to store in our TPM? Well, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole TXT is, in fact, all about making and storing software measurements, or, using a more familiar language, secure hashes of certain software components.

The sole purpose of Intel TXT technology is to provide a trusted way for loading and executing system software, e.g. Operating System kernel or Virtualization Machine Monitor. What is extraordinary here is that TXT doesn't make any assumptions about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 state of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system before loading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software, thus making it possible for a user to ensure secure load of an OS or VMM, even in a potentially compromised machine.

In ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words, our system can be all full of boot sector viruses and BIOS rootkits, and god-knows-what-else, and still TXT should allow to load a clean VMM (or OS kernel) in a secure way, immune to all those rootkits present in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system in a moment just before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 load process. This TXT-supported load process is called Late Launch, and is implemented via a special new CPU instruction called SENTER.

It's a good place to mention that AMD has its own version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 late launch implemented via SKINIT instruction. We haven't looked at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AMD technology thoroughly yet, so I will refrain from commenting on this.

The late launch is a pretty amazing thing, when we think about. It promises to effectively provide all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 benefits of a computer restart without actually restarting it.

It is hard to overemphasize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 potential impact that a technology such as TXT could have on computer security. One can immediately see that it could eliminate all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system-level persistent malware — in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words we can easily build systems (VMMs or even standard OSes) that would be immune to attacks that try to compromise system binaries on disk, or attack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system right from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader or BIOS. Combining this with VT-x and VT-d technologies, system developers (for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first time, at least as far as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "PC" platform is considered) have gotten extremely strong tools into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir hands that should allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to create really secure VMMs and OSes…

Hopefully by now, my Dear Reader, you should have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 feeling what kind of an animal Intel TXT is and how desperately cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world needs it...

And now, we are going to move on and show practical attacks on current TXT implementations... :)

Attacking Intel TXT!
Ok, not in this post today, but racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 upcoming Black Hat conference in Washington, DC in February. Over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent months, Rafal and I have been looking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel TXT technology as part of a work done for a customer, to see if this could be used to improve security of a product, from a typical user's perspective. We figured out that it definitely could, but that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are also some issues…

And those "issues" gave us a starting point in developing a proof-of-concept (albeit very reliable) exploit that shows how we can bypass trusted boot process implemented by Intel's tboot.

Tboot, which is also part of (scroll down to 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 page) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor, can be though of as a reference implementation of TXT-based system loader, that could be used to securely load eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Xen hypervisor or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux kernel, when run on a vPro/TXT compatible hardware.

[copy-and-paste from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 press release follows]

Our attack comprises two stages. The first stage requires an implementation flaw in a specific system software. The second stage of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack is possible thanks to a certain design decision made in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current TXT release.

While evaluating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 effectiveness of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel® TXT technology, as part of a work done for a customer, we have identified several implementation flaws in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel's system software, which allowed to conduct cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above mentioned stage-one attack. We have provided Intel with extensive description of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flaws in December 2008, and Intel is currently working on fixing those vulnerabilities.


We have also been in touch with Intel about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possibility of conducting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 second-stage attack since November 2008. In December, after providing Intel with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first-stage attack, Intel promised to release, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 coming weeks, an updated TXT specification for developers that would explain how to design cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir TXT-based loaders in such a way that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are immune to our attack. Intel claims cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current Intel® TXT release does contain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 basic building blocks that could be used to prevent our second-stage attack and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 release of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 additional specification would make it feasible in practice.


More details in February in DC :)

TXT useless?
Some people are skeptical about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT technology, and not only because of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Irrational Fear of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Trusted Computing (IFTC), but racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y point out to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complexity of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole technology. The complexity is bad, because 1) it leaves more space for potential attacks, and 2) it discourages developers (ISVs) from using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 technology in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir products (e.g. neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Microsoft, nor VMWare make use of TXT in any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir bare-metal hypervisors, even though TXT is very well suited for this kind of software).

It is true that TXT is a very complex technology (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction is probably cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 masterpiece of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CISC architecture!), but I personally like it. In my opinion this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first technology available for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PC platform that has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 potential to really change something, much more 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ý bet365 NX-feature did a few years ago. Before people will run to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comment box — if you would like to argue about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usefulness/uselessness of Trusted Computing/TXT, please base your opinions on technical facts (read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 spec!) and not on your feelings!

Disclaimer (for press)

Starting January 2009, we (at Invisible Things Lab), decided to issue press releases in addition to this blog. The general rule is: press releases are written for journalists, while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 blog is mainly written for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r researchers, security enthusiast, etc.

The wording of our press releases is carefully chosen to minimize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 potential of a possible misinterpretation. The press releases carry less information, but, we think, are better suited for a more general public, that doesn't have background in computer science, programming and security.

The blog is written in a much more casual way, without thinking for half an hour on every sentence. The articles on this blog might present some facts as extremely exciting, because e.g. for me, a person deeply involved in a system-level security research, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y indeed might be very exciting, which might not be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case for a general audience. I sometimes might also use shortcuts, metaphors, or irony, and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r figures of speech, that might not necessarily be obvious for a more general public.

If you are a journalist and you think you just found something very sensational on my blog, I would suggest that you double-check with me, before writing about it.

Thank you for your cooperation.
Joanna Rutkowska,
Founder and CEO,
Invisible Things Lab.