Original URL: http://www.theregister.co.uk/2009/08/17/secure_kernel/
Researchers forge secure kernel from maths proofs
Machine verified micro-kernel
Aussie boffins have developed an operating system micro-kernel mathematically established as free of many types of errors. The development points the road toward "safety-critical software of unprecedented levels of reliability" for applications such as aircraft and cars.
The software - called the secure embedded L4 (seL4) microkernel - was developed by Australia's Information and Communications Technology Centre of Excellence (Nicta). Computer scientists involved in the project say it's the first "formal machine-checked proof of a general-purpose operating system kernel".
The technology is designed for complex embedded systems where reliability is of critical importance, so applications in missiles and other defence-related systems are an obvious application of the software.
The four years of work involved the researchers going through 7,500 lines of code written in the C programming language. They "proved over 10,000 intermediate theorems in over 200,000 lines of formal proof". This proof was then machine-checked using the interactive theorem-proving program Isabelle in one of the largest exercises of its type ever attempted.
The 12-strong NICTA team had to make advances in the mathematical understanding of real-world programming languages and developed new techniques for rapid prototyping of operating system kernels during the project.
All this heavy mathematical lifting means that the kernel ought to be immune to common types of attack, such as buffer overflows. The work draws on the example of earlier projects but goes further, according to the researchers.
"Formal proofs for specific properties have been conducted for smaller kernels, but what we have done is a general, functional correctness proof which has never before been achieved for real-world, high-performance software of this complexity or size," explained Dr Gerwin Klein, NICTA Principal Researcher in a statement on the project.
Lawrence Paulson, professor of computational logic at Cambridge University's Computer Laboratory, who developed mathematical tools that Nicta adapted for its project, said that the research could have a knock-on benefit for business. "The project has yielded not only a verified microkernel but a body of techniques that can be used to develop other verified software," he said.
Rigorously testing high-quality code is a complex and expensive process. The project only looked at the kernel of the software. Adding application or networking software into the stack would make the bug-purging process and security proofing project even more complex.
We are, of course, light years away from a HAL-like system that's "foolproof and incapable of error". Nonetheless the project is a significant milestone on the road towards fully verified system software.
NICTA plans to transfer its intellectual property to NICTA spin-out firm Open Kernel Labs, which develops hypervisor (virtualisation) software. ®