|
|
|
|
|
by pcwalton
3020 days ago
|
|
> However, the main obstacle to increased adoption has always been overhead, yet WebAssembly has significantly higher overhead. But you get a lot more than security for your trouble using Web Assembly. So the performance-vs.-security tradeoff isn't the only part of the calculus here. > And there are CFI designs that provide equivalent or better guarantees for native code, such as Clang CFI + SafeStack. Clang CFI only protects indirect calls. And SafeStack looks like it has issues, according to the Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=505015 "No. We are currently looking at other alternatives (all look grim, though).
Before trying to proceed with SafeStack please get the agreement from
security folks, since SafeStack doesn't actually sounds too secure any more :(" |
|
Not sure what's up with SafeStack - though I bet it has to do with more hardware timing attacks, in this case to leak the address. The whole design is a bit of a hack since the only thing preventing the attacker from accessing the safe stack is their (theoretical) inability to guess the address. If only x86-64 hadn't gotten rid of segmentation, so normal memory accesses and stack accesses could actually use entirely separate memory regions… On the other hand, Intel CET should allow for some subset of that functionality on future hardware.
But again, to be fair, one should note that "grim" has a different meaning when the budget for acceptable performance loss is perhaps 1-5%, not 30-50% :P