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.
Posted May 12, 2017 18:40 UTC (Fri)
by walters (subscriber, #7396)
[Link]
Posted May 13, 2017 18:04 UTC (Sat)
by NAR (subscriber, #1313)
[Link] (1 responses)
I remember 20 years ago someone mentioned to me that the VMS kernel (the OS running on VAX computers) was formally proven to be correct (to some degree). Of course, in that case DEC provided the hardware and the software too. Unfortunately I don't remember the details.
Posted May 18, 2017 0:52 UTC (Thu)
by smoogen (subscriber, #97)
[Link]
The problem was that the joke got out hand as someone took it seriously and started passing around about how VMS was superior to Unix because it was provably secure.
How true this story is versus all the others... I don't know.
Posted May 25, 2017 20:47 UTC (Thu)
by Wol (subscriber, #4433)
[Link]
A correctness proof is mathematics.
Hardware is reality.
Congratulations on finding a proof that reality and mathematics coincide ... :-)
Cheers,
Randomizing snake-oil
"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"
Randomizing snake-oil
Randomizing snake-oil
Randomizing snake-oil
Wol