3 ms·
This is interesting. If data confidentiality requires process isolation, then how can CloudFlare workers be safe?
by unoti 6y ago
This is interesting. If data confidentiality requires process isolation, then how can CloudFlare workers be safe?
- kentonv 6y agoThere are really two branches of Spectre defense research, and each side sneers at the other and declares their approach doesn't work. One side says "we can block speculation at the trust boundary, especially the process boundary by having the kernel flush all caches, etc." The argument against this is that every new attack has to be explicitly mitigated. New attacks are coming at a rather fast rate and it's almost certain that some bad guys are aware of attacks that the good guys haven't uncovered yet. (It's also ridiculously expensive to use these defenses at a fine-grained level.) The other side says "we can make it basically infeasible to extract side channels by limiting the non-determinism -- such as timers -- that allow malicious programs to observe microarchitectural side effects." The first side says this is wrong, you can use repeated attempts and statistics to get over any amount of noise. It just takes longer. Maybe you have to run the attack for weeks to leak anything of value but it's still possible. The reality is that no one has actually solved Spectre. However, both sides have done things that raise the barrier to attack. The best anyone can do right now is try to raise that barrier as high as they can. It seems to be working -- we don't really see Spectre attacks in the wild. Workers uses a mix of ideas in a pragmatic defense. I'll have an extended post about it on the Cloudflare blog tomorrow.
- mdriley 6y ago(disclosure: I work at Google on side-channel stuff and https://github.com/google/safeside https://github.com/google/safeside) I'm really excited to read that post! I agree that the best we can claim right now is that we've made Spectre and other speculative attacks "expensive enough" that they're unlikely to be the most profitable area for attack. That said, I'd be a bit worried about the assertion we haven't seen Spectre attacks "in the wild". It is incredibly difficult to put together a set of metrics that would convincingly detect attempts at even a straightforward speculative information disclosure. (haha, two branches, I get it)
- kentonv 6y agoI definitely agree that it's possible that attacks have happened but weren't detected. But if attacks were widespread, I'd expect we'd hear about at least some of them. The fact that we don't hear about any suggests to me that there are some significant barriers to real attacks that the theory isn't explaining. Indeed, our own attempts to build attacks seem to suggest that building a PoC in a lab is one thing but making something that actually runs in production and exfiltrates useful data is another entirely, and ridiculously hard even when it is "theoretically" possible. Not that that stops us from wanting to throw all the defenses we can at it, of course.
- unoti 6y agoHey here's Kenton's promised blog post! I hope it gets separate attention on HN! https://blog.cloudflare.com/mitigating-spectre-and-other-security-threats-the-cloudflare-workers-security-model/ https://blog.cloudflare.com/mitigating-spectre-and-other-sec... HN Discussion https://news.ycombinator.com/item?id=23989270 https://news.ycombinator.com/item?id=23989270