6 ms·
Thoughts on Intel's upcoming Software Guard Extensions (Part 1)
- sweis 13y agoSGX is a very interesting development. I agree with Johanna Rutkowska that "SGX might profoundly change the architecture of the future operating systems". Enhanced Privacy IDs are particularly interesting, since it will allow you to anonymously or pseudonymously authenticate a particular CPU: http://csrc.nist.gov/groups/ST/PEC2011/presentations2011/brickell.pdf http://csrc.nist.gov/groups/ST/PEC2011/presentations2011/bri... It's also very powerful to be able to attest secure enclaves with a root of trust within the CPU, rather than a TPM. It removes TPMs and the LPC bus as an attestation attack vector.
- xradionut 13y agoThe summary paragraph sums up the only thing I was thinking of while reading this: "Finally, we should discuss the important issue of whether this whole SGX, while providing many great benefits for system architects, should really be blindly trusted? What are the chances of Intel building in backdoors there and exposing those to the NSA? Is there any difference in trusting Intel processors today vs. trusting the SGX as a basis of security model of all software in the future?" There is no full trust of any modern hardware or commercial software or even complex OSS software anymore. None. I made poked fun at some of my paranoid technical buddies in the '90s, but so far have apologized recently. Their customized systems don't seem so silly anymore.
- anologwintermut 13y agoNSA isn't the only or main security threat for computers. NSA, for example, is unlikely to hack your bank account and steal your money. Even if it was backdoored by the NSA, it would still be very useful for everyday threats. There are certain classes of attack that are difficult or impossible to prevent in software (think evil maid attack on full disk encryption) The reality for hardware is you have to trust the guy who fabricated it, Unfortunately since you can't fab your own 32nm chips, we are unfortunately stuck trusting that neither the Chinese MSS or NSA has hacked them.
- JulianMorrison 13y ago"if it was backdoored by the NSA" - are you going to assume it will stay backdoored by only the NSA? A vulnerability is a vulnerability.
- anologwintermut 13y agoDepends on how they do it . Dual_EC_DRBG is a secure random number generator if no one can solve the discrete log problem on a large curve. That's true w/ or without the NSA backdoor, since the NSA backdoor is just cheating and generated the curve with a known discrete log. This, of course, doesn't make the backdoor a good idea, and back door or not, if someone does get the discrete log for the Dual_EC_DRBG constants, you are screwed.
- codev 13y agoWith the known NSA backdoor in Dual_EC_DRBG then many people within the NSA must have access to the backdoor constants (even if they don't directly realise it and have access to them within an application). If Edward Snowden was willing to give up his salary and liberty for what he thought was the moral thing to do then I think it's reasonable to assume there must be many more people within the NSA who are willing to leak secrets for money or loyalty to nation states, corporations or terrorist groups. Some of those people will have given the Dual_EC_DRBG constants or applications that will crack cryptosystems using that PRNG to 'bad' actors.
- JulianMorrison 13y agoAlso, things leak by other means, eg: Son-Of-Stuxnet escapes into the wild with the constants in its penetration code.
- a1369209993 13y agoActually you don't need to trust the fab: you can get a batch of identical chips, select X% at random (use dice!), grind off the packaging, examine them under a microscope, and compare what you see to the plans you sent to the fab. Proving that the plans themselves aren't backdoored (your layout software was written by whom exactly?) and aquiring a microscope that can resolve 32nm features without using any integrated circuts (which, by paranoia, we know will identify images of backdoored ICs and replace them with images of non-backdoored ones) is left as a exercise for the reader. I'm probably forgetting some other attack vectors here, actually.
- consonants 13y agoI will postulate that recent consumer hardware is almost guaranteed to have a backdoor for peripherals that grant privileged introspection into the system. For example, Stuxnet relied on creating a botnet to spread and then wait for a call from home before sabotaging the target computers in an Iranian nuclear facility. It accomplished this with multiple 0-day vulnerabilities. It was incredibly well thought out, comprehensive, and opportunistic. Those factors made it expensive. It also targeted specialized industrial hardware, hardware that lacked consumer features and thus common attack vectors. My assertion is that it is less time, resource, and opportunity necessitating if a common vector of attack is baked in. It could be abstracted enough that it isn't an obvious 'hey guys, check out this wide open security hole we built into our hardware' to watchful eyes, but an (un)intended consequence of the system if the backdoor isn't component based. People keep blowing me away with their willingness to be evil for a profit, so I would bet some palms were greased and some reciprocal 'tips and favors' circulate between a hardware manufacturer and a federal intelligence agency at our expense. It could be that hardware RNG that comes with your board. CPUs also have encryption standard instruction sets. And then we can look at the firmware that runs on our components. Then the kernel.. It's a security nightmare all the way down.
- wglb 13y agoHere is the thing. I would be willing to wager that there are backdoors (aka vulnerabilities) that NSA doesn't know about. The whole stack is sufficiently complex that there isn't much you can prove about it, with or without malicious intent included in the calculation.
- tptacek 13y agoPut yourself 20 years into the future, looking back onto 2013, and try to ask yourself whether the x86_64 architecture we have today, with the x86 MMU as understood by Linux 3.11, and the Intel chipset & DMA controllers we use today, whether that bundle of hardware is likely to seem like a reasonable platform on which to build trustworthy applications. Today, in 2013, a trivial software bug is all it takes to allow the author of a web page to upload and run code in your browser process. That is a consequence of the architecture we run on. Are we at any point in the near future going to have fully transparent hardware? No we are not. Do we badly need architectural improvements for hosting trustworthy code on general purpose hardware? Yes we certainly do. We're going to have to get over the NSA stuff, at least for the most part. Perhaps there are applications that will need some kind of assurance that they aren't generating secrets from RDRAND (I'm not a believer in that problem, but I'm not committed to the argument). But for the most part, we're going to have to trust hardware vendors to design better security architectures and deploy them in new chipsets and processors, because they are badly needed. If it helps you, think of your resistance to things like SGX as the product of an NSA psy-ops campaign to get you to distrust technologies that will cut off NSA's supply of new software bugs.
- xradionut 13y ago"Today, in 2013, a trivial software bug is all it takes to allow the author of a web page to upload and run code in your browser process. That is a consequence of the architecture we run on." Technically I hate the glued together, shit-stack that is the organically evolved web. One part of me thinks we have devolved from the Big Iron/VMS days. "Are we at any point in the near future going to have fully transparent hardware? No we are not." Open hardware isn't cost effective, and economically and politically probably is repressed. There's darn few viable projects that I can find on the internet and a few underground systems that are borderline crackpot. There might be a better market for these systems today than there was a year ago. There seems to be a growing mistrust in commercial software, but there is no substitute for commercial hardware. "We're going to have to get over the NSA stuff, at least for the most part." I have to go to the office tomorrow and pretend that I work on secure systems for sensitive data. :)
- 13y ago
- RDeckard 13y agoI must be missing something, but how does one bootstrap an enclave securely? A malicious VM can emulate the new SGX mode, but lift the restriction of not being able to access the enclave's memory.
- anologwintermut 13y agoTXT handles this with a TPM that stores a key and has hardware to check that the proper instructions executed and signs an attestation to that fact with its key. SGX doesn't need a TPM. Does it possibly have similar hardware on die?
- sweis 13y agoSGX adds the ability to attest and seal individual enclaves, with a root attestation key in the CPU die: https://docs.google.com/file/d/0B_wHUJwViKDaSUV6aUcxR0dPejg/edit https://docs.google.com/file/d/0B_wHUJwViKDaSUV6aUcxR0dPejg/... This key has some similarities to a TPM EK / AIK, but rather than PCRs for the measurements they have a cryptographic log of the enclave.
- throwwit 13y agoThe new PR name for Palladium (http://www.geek.com/chips/palladium-microsofts-big-plan-for-the-pc-549258/)(2002) http://www.geek.com/chips/palladium-microsofts-big-plan-for-... After the effects of the leak I'm feeling somewhat confident a standard like this doesn't have any legs internationally.
- wging 13y agothanks for the link. fyi, it doesn't go where you wanted it to. your (2002) annotation is being interpreted as part of it. unmangled version: http://www.geek.com/chips/palladium-microsofts-big-plan-for-the-pc-549258/ http://www.geek.com/chips/palladium-microsofts-big-plan-for-...
- SolarNet 13y agoThis seems to remind me of the SHE from Vernor Vinge's Rainbows End. Obviously we are a ways away from that, but this is an interesting step in that direction.
- malkia 13y agoSo no jitting then?
- devx 13y agoWhen the NYT article said NSA has succeeded in putting backdoors into "commercial encryption hardware", what were they talking about? Weren't they referring to chip companies like Intel? If Intel wants our trust again, they should open source this stuff, and make it very transparent so we can verify if it's clean or not. At this point this should worry them a lot more than "giving their competitive advantage to AMD" or whatever. Same goes for the other chip makers, too, of course. So maybe they can all do it at once, to level the playing field.
- comex 13y ago> But our SGX-isolated VMs have one significant advantage over the other VM technologies we got used to in the last decade or so – namely those VMs can now be impenetrable to any other entity outside of the VM. No kernel or hypervisor can peek into its memory. Neither can the SMM, AMT, or even a determined physical attacker with DRAM emulator, because SGX automatically encrypts any data that leave the processor, so everything that is in the DRAM is encrypted and useless to the physical attacker. So basically, when used for real security, it is a more modular substitute for a subset of the functionality of secure boot that has the dubious benefit of protecting against an attacker with a DRAM emulator - except it currently doesn't even do that, because there is no way to secure user input. When used for DRM, of course, it works just fine. It's basically the rebirth of the whole Trusted Computing brouhaha, but worse, because it doesn't depend on securing the entire boot path and is thus actually practical to implement in some browser plugin. While it will not be possible to depend on this feature being present in users' CPUs for the next few years, it could become very dangerous after that. Ugh.