Become a fan of Slashdot on Facebook


Forgot your password?
Open Source Operating Systems Programming

seL4 Verified Microkernel Now Open Source 82

Back in 2009, OKLabs/NICTA announced the first formally verified microkernel, seL4 (a member of the L4 family). Alas, it was proprietary software. Today, that's no longer the case: seL4 has been released under the GPLv2 (only, no "or later versions clause" unfortunately). An anonymous reader writes OSnews is reporting that the formally verified sel4 microkernel is now open source: "General Dynamics C4 Systems and NICTA are pleased to announce the open sourcing of seL4, the world's first operating-system kernel with an end-to-end proof of implementation correctness and security enforcement. It is still the world's most highly assured OS." Source is over at Github. It supports ARM and x86 (including the popular Beaglebone ARM board). If you have an x86 with the VT-x and Extended Page Table extensions you can even run Linux atop seL4 (and the seL4 website is served by Linux on seL4).
This discussion has been archived. No new comments can be posted.

seL4 Verified Microkernel Now Open Source

Comments Filter:
  • Re:Unfortunately? (Score:0, Interesting)

    by Anonymous Coward on Tuesday July 29, 2014 @05:21PM (#47560971)

    Party A releases code under GPL 2 or later. They really want GPL 2, but or later implies future proofing.

    Party B downloads code, releases it under GPL 3.

    Party C finds Party B download and has less rights than if they found Party A.

  • by ndykman ( 659315 ) on Tuesday July 29, 2014 @08:13PM (#47562117)

    I feel an explaination may help. This project is based on a formal specification (in Isabelle/HOL) about what should be true about the microkernel. This specification rules out things like buffer overflows, null pointer dereferences and other properties by recasting these ideas in terms of higher order logic and uses automatic theorem proving tools to verify the proofs and that implementations match the specification.

    There's even a binary verified version for ARM, so you don't even have to trust that your compiler works (but, there is progress in verified compilers, so hopefully an x86_64 version is on the way). The value in this is in using the tool chain and creating new, formally specified abstractions and implementing them in an verified manner to implement more secure, robust programs on top of this kernel. Of course, the microkernel makes assumptions about the hardware, boot loader, but formal verification is used more often in hardware, and you have to trust something at some point.

    This opens a whole set of possibilities to the community as a whole. As a random example, you could formalize the Arduino language (or a kernel for that language) and create a verified version of that system that runs on this microkernel. This would be a big effort, but you could do it.

    Overall, this is a positive step in lower the costs of verified co-designed systems and I hope it attracts more interest in software formal verification.

Do not underestimate the value of print statements for debugging.