15 years ago Intel tried this, and there was enough opposition that they removed the feature in later models: http://en.wikipedia.org/wiki/Pentium_III#Controversy_about_p...
When SGX gets implemented in a future processor, will the users once again fight strongly against it, or will they submissively accept it without resistance, looking only at the claimed "security benefits"? I really hope it'll be the former.
Reading the rest of that article and the linked Intel documents just... gives me a very bad feeling about the direction things are heading.
I work for a company that has to deal with a fair number of online cheaters and fraud. It would be great if we could know who we were really dealing with for our financial transactions, or failing that, have a secure execution environment for our code so we'd have a solid place to stand on. Unfortunately the state of security on PCs is so miserable that they simply cannot be trusted.
Game consoles actually do this kind of thing; the security architecture is rooted in hardware, partly to maintain the paywalls for entry to the console's market, and partly to ensure that the environment is secure against bad guys.
Of course the moment you have system like this on a commodity PC you also enable a bunch of tracking, DRM and lockout stuff that is near trivially exploited by state-level actors and companies to whom you are just chattel to be sold or rented out. And that sucks really hard.
I don't expect the masses to make good choices about security systems; they can be mislead, outright fooled, or simply drawn into poor decisions by trinket-class rewards. It's depressing.
[1] http://moyix.blogspot.de/2014/07/breaking-spotify-drm-with-p...
Oculus will make it more difficult to photograph the screen.
See PrivateCore (now Facebook), http://en.wikipedia.org/wiki/PrivateCore & http://security.stackexchange.com/questions/53165/is-it-poss...
1. all it takes is one DRM free copy on bittorrent to make this scheme fail
2. how would they prevent me from grabbing images on the screen and turning them back into books? Or scanning a physical book.
3. blind people need to do this conversion anyway, to run the text through text to speech
Remember, it only takes one DRM-free copy on filesharing to make the DRM invasion a useless failure.
The best attempt I've seen is sending a computation to be performed by the remote side and trying to infer the state of the CPU cache based on how long it takes to answer. If the timing is off then the cache must have been in an unexpected state and therefore unexpected code must have been executing on the machine. It's clever, but not practical.
What has Intel come up with that's any better? What's described in your link could simply be emulated in software. How would the remote side know the difference?
https://software.intel.com/sites/default/files/article/41393...
Whoever wants to run their code in the enclave would send over a sort of bootloader, which would be responsible for acquiring the signed attestation from the CPU and sending it back. If the signature is good, then the actual code to be run in the enclave can be uploaded.
Something about this feels wrong... but then again if Intel wanted to backdoor its CPUs we'd all be screwed anyway, so it's hard to see how this feature could hurt.
If applications want anti-virus to be able to get at their data, then they'll just have to provide an explicit interface to do that.
If this becomes widely deployed, that root key would be pretty valuable!
Hypervisors aren't just for virtualizing servers, you can use them for all sorts of things, like intercepting system calls.
"Intel SGX is essentially a new mode of execution on the CPU, a new memory protection semantic, plus a couple of new instructions to manage this all. So, you create an enclave by filling its protected pages with desired code, then you lock it down, measure the code there, and if everything's fine, you ask the processor to start executing the code inside the enclave. Since now on, no entity, including the kernel (ring 0) or hypervisor (ring “-1”), or SMM (ring “-2”) or AMT (ring “-3”), has no right to read nor write the memory pages belonging to the enclave."
http://theinvisiblethings.blogspot.com/2013/08/thoughts-on-i...
http://theinvisiblethings.blogspot.com/2013/09/thoughts-on-i...
".. the processor automatically encrypts the content of SGX-protected memory pages whenever it leaves the processor caches and is stored in DRAM. In other words the code and data used by SGX enclaves never leave the processor in plaintext."
"..once the key is obtained, it is available only within the SGX enclave. It cannot be found in DRAM or on the memory bus, even if the user had access to expensive DRAM emulators or bus sniffers. And the key cannot also be mishandled by the code that runs in the SGX enclave, because remote attestation also proved that the loader code has not been modified.."
"If software and hardware could be ‘sealed’ in some way to prevent an attacker from examining data in main memory, even if the attacker had administrator level privileges on the machine, not only could the confidentiality and integrity of data in the cloud be protected, but the algorithms and design of cloud hosted applications could also be hidden from prying eyes."