Randomizing snake-oil
Randomizing snake-oil
Posted May 12, 2017 14:07 UTC (Fri) by ebiederm (subscriber, #35028)In reply to: Randomizing snake-oil by matthias
Parent article: Randomizing structure layout
That said it is possible to manage the assumptions and prove certain properties about code. Which could in principle could close many lines of attack. The kernel deliberately does not implement any turning machines not even with eBPF so the halting problem should not be an issue.
The practical problem and what most attacks today exploit is that to be able to reason soundly about logic or algorithms requires the abstractions you build those out of to be well defined. Currently C explicitly is not well defined with respect to memory management. When you add in devices that can perform DMA and are not restricted by an IOMMU (as a kernel must) there is an additional problem.
To my knowledge no one has yet demonstrated a system that can build operating systems that is sufficiently well defined as to allow proofs of correctness for anything interesting. Which unfortunately leaves proofs of correctness needing a proof of concept before anyone will believe in them.
Which is all to say people are adding kernel defenses some of the randomization because no one has been clever enough yet to think of something better.