News for hackers. Stuff that matters.
Re:Formal Verification Creates Hacker-Proof Code by nickpsecurity on Friday October 21, 2016 @01:32PM (#12762575)
The problem with many of these formats is they're Turing-Complete languages with input driving what they do. The input is also malicious. So, the solution so far is to isolate and mediate such things with verification going into the mechanisms for that.

An example of one for exactly your types of programs is Microsoft's Xax:

https://www.microsoft.com/en-us/research/wp-content/uploads/...

My preferred approach is the old-school method of highly-assured microkernels that just separate everything else from one another. Here's a browser OS based on that principle:

https://www.usenix.org/legacy/event/osdi10/tech/full_papers/...

Re:Formal Verification Creates Hacker-Proof Code by sliverstorm on Friday October 21, 2016 @05:54PM (#12765225)
Aren't microprocessors Turing-Complete machines that undergo formal verification?
Re:Formal Verification Creates Hacker-Proof Code by nickpsecurity on Friday October 21, 2016 @06:53PM (#12765598)
The kind of verification they undergo varies considerably. The amount of errata in modern CPU's shows both they're not fully verified for correctness and that the verification they get works wonders given number of components & interactions. Even if fully verified, the verification would be that the Turing-Complete hardware properly implemented a model of the Turing-Complete hardware.

That kind of buys us nothing in terms of whether we'll know if programs are malicious or contain them, eh? And look at the giant, losing game that followed between the mice and the well-fed cats. It's why safety-critical systems often used deterministic, state-machines running on simple MCU's or PLC's. :)