News for hackers. Stuff that matters.
Re:ACM Software System Award Given to seL4 Microkernel by BoardsOfCanada on Saturday May 06, 2023 @01:02PM (#35843216)
Can someone tell me how much these microkernels are used and where?
Re:ACM Software System Award Given to seL4 Microkernel by akshithg on Saturday May 06, 2023 @01:09PM (#35843302)
On that I’m aware of is in newer Apple devices with a Secure Enclave.

It is signed by apple and verified as part of the secure boot process.

> The Secure Enclave Processor runs an Apple-customized version of the L4 microkernel.

[1] https://support.apple.com/guide/security/secure-enclave-sec5...

Re:ACM Software System Award Given to seL4 Microkernel by amelius on Saturday May 06, 2023 @01:36PM (#35843544)
How much did Apple contribute back to the project?
Re:ACM Software System Award Given to seL4 Microkernel by gjsman-1000 on Saturday May 06, 2023 @01:46PM (#35843635)
Does it matter? A microkernel isn’t a huge scope, and once it is proven mathematically correct, there’s not a ton left to do; other than maybe adding very niche features or doing touch-ups here and there.
Re:ACM Software System Award Given to seL4 Microkernel by Veserv on Saturday May 06, 2023 @02:32PM (#35844040)
Apple is not using seL4 which is the proven one and which required sizable modifications to the original L4 variant seL4 was descended from. Apple is using a modified version of one of the many other L4 variants.
Re:ACM Software System Award Given to seL4 Microkernel by monocasa on Saturday May 06, 2023 @02:29PM (#35844008)
Apple doesn't use sel4 in the secure enclave, but instead another l4 variant that isn't formally verified.

And they've made a lot of pretty deep changes for example adding native support for Mach-O files.

Re:ACM Software System Award Given to seL4 Microkernel by flangola7 on Saturday May 06, 2023 @04:05PM (#35844922)
What is a macho file?
Re:ACM Software System Award Given to seL4 Microkernel by jonpalmisc on Saturday May 06, 2023 @04:54PM (#35845280)
It’s the executable file format for macOS/iOS/*OS, analogous to ELF or PE.

https://en.m.wikipedia.org/wiki/Mach-O

Re:ACM Software System Award Given to seL4 Microkernel by flangola7 on Monday May 08, 2023 @02:38PM (#35865376)
Oh so an .exe
Re:ACM Software System Award Given to seL4 Microkernel by jacquesm on Saturday May 06, 2023 @02:24PM (#35843961)
The last thing you want to do is to add niche features, those really should be handled in different processes. MM, IPC, interrupts, process creation/destruction/scheduling. That's about it.
Re:ACM Software System Award Given to seL4 Microkernel by suavesito on Saturday May 06, 2023 @01:57PM (#35843728)
Except that making changes can actually invalidate the proof that were made. At least it matters in the sense that Apple should have made an arrangement so the things added didn't invalidate the correctness.
Re:ACM Software System Award Given to seL4 Microkernel by tptacek on Saturday May 06, 2023 @02:04PM (#35843773)
That's not really how any of this works. The formally verified kernel of the operating system gives you some assurance that your primitives are reliable (unlike on, say, Linux, where you're always a kernel reference tracking bug away from an LPE). But the "application" code you build on top of L4 doesn't "inherit" that formal verification; it's just code, with code bugs. If you formally verify your own code, it's verified, but otherwise you still own your own bugs.

For what it's worth, I'm not sure Apple publishes which variant of L4 it runs on, and there are many of them. The whole formal verification conversation here might be moot.

Re:ACM Software System Award Given to seL4 Microkernel by monocasa on Saturday May 06, 2023 @02:55PM (#35844294)
> I'm not sure Apple publishes which variant of L4 it runs on

The SEPOS kernel is an apparently derived from a fork of L4-embedded they used in Darbat (a fork of XNU to run on top of L4). Not formally verified unless Apple internally has done so.

Re:ACM Software System Award Given to seL4 Microkernel by suavesito on Tuesday May 09, 2023 @01:36PM (#35877752)
Absolutely, the problem I'm referring to is if Apple changed the kernel and not only built an application on top of it. I don't know, but maybe Apple just built an application on top, which seems sensible.
Re:ACM Software System Award Given to seL4 Microkernel by darksaints on Saturday May 06, 2023 @02:09PM (#35843817)
True, but as with every other OS project out there, nobody is gonna use it without userland. The kernel itself is already pretty mature, but now the effort should be put into making a full fledged OS out of it.
Re:ACM Software System Award Given to seL4 Microkernel by jnwatson on Saturday May 06, 2023 @03:06PM (#35844399)
That’s what they say about every piece of software. There are always things to fix and add.
Re:ACM Software System Award Given to seL4 Microkernel by CalChris on Saturday May 06, 2023 @01:57PM (#35843731)
I think that is a relevant question because in related news, Intel didn't acknowledge MINIX.

https://www.zdnet.com/article/minix-intels-hidden-in-chip-op...

Re:ACM Software System Award Given to seL4 Microkernel by bee_rider on Saturday May 06, 2023 @02:04PM (#35843780)
It looks like there’s a good bit of industry energy behind this stuff (defense contractors and intelligence agencies don’t want their side’s stuff broken into). So I don’t think this is one of those “Apple takes from the little guy and doesn’t contribute back” stories.
Re:ACM Software System Award Given to seL4 Microkernel by jcrawfordor on Saturday May 06, 2023 @01:34PM (#35843514)
provably-correct microkernels like seL4 are popular for "cross-domain solutions" that simultaneously handle unclassified and classified information while ensuring separation. NSA requirements for such systems are strict and right now most of the options are commercial, like BAE XTS-400. More defense contractors are looking towards seL4 and the NSA seems to be encouraging it for the benefit of a shared, open-source platform across these specialized projects.

I believe seL4 is also used for the firmware on Qualcomm modems now, but it's a little hard to follow if they've switched from OKL4 which was a related project.

Re:ACM Software System Award Given to seL4 Microkernel by sterlind on Saturday May 06, 2023 @02:30PM (#35844027)
I thought commingling classification/user clearance levels on the same hardware fell out of favor a while ago, because of side channels (with speculative execution being the final nail in the coffin.)

Isn't seL4 more used for things like data diodes, cryptographic equipment and military hardware? Stuff that you need to keep from getting hacked or malfunctioning, but not time-shared with untrusted users.

Re:ACM Software System Award Given to seL4 Microkernel by Veserv on Saturday May 06, 2023 @02:42PM (#35844142)
Nah, multilevel security fell out of favor because no large commercial vendor could do it. They retracted the requirements over a decade ago because it prevented Microsoft and IBM from bidding on government contracts to “secure” their infrastructure.
Re:ACM Software System Award Given to seL4 Microkernel by kjs3 on Saturday May 06, 2023 @04:23PM (#35845062)
Well, Microsoft made some half-assed runs at Orange Book compliance (e.g. Windows NT without floppies/CDs...or networking), but Trusted AIX was a real thing with real users. Having been involved in a couple of MLS Unix implementations, IMO it didn't fall out of favour because no vendor could do it, it fell out of favour because no one could effectively run it in production. The admin overhead of a 'real' TCSEC validate system is formidable, and at some point someone decided 'useable with admins with 6 months of training (e.g. privates and corporals)' was more important than 'checks all the boxes', and the boxes that needed to be checked changed.
Re:ACM Software System Award Given to seL4 Microkernel by mshockwave on Saturday May 06, 2023 @01:33PM (#35843503)
Airbus is also using either seL4 or some other microkernels in aerospace applications.
Re:ACM Software System Award Given to seL4 Microkernel by Veserv on Saturday May 06, 2023 @02:52PM (#35844257)
As far as I am aware seL4 is not used in any DO-178 Level A systems. As far as I am aware Airbus is using Integrity-178 microkernel which is the industry standard in commercial aerospace and is used in almost every commercial airliner and military aircraft.
Re:ACM Software System Award Given to seL4 Microkernel by exsf0859 on Saturday May 06, 2023 @01:17PM (#35843363)
Google's Fuchsia OS uses a microkernel: https://fuchsia.dev/fuchsia-src/concepts/kernel
Re:ACM Software System Award Given to seL4 Microkernel by junon on Saturday May 06, 2023 @03:23PM (#35844542)
Microkernels by themselves are not special; SeL4 is because it's proven to be secure.
Re:ACM Software System Award Given to seL4 Microkernel by senko on Saturday May 06, 2023 @04:07PM (#35844935)
SeL4 is a very interesting kernel even without taking the proof into account (eg in platforms/builds that the proof doesn't cover).

I wish someone would build a beyond-posix desktop OS on top of it...

Re:ACM Software System Award Given to seL4 Microkernel by mycall on Saturday May 06, 2023 @11:21PM (#35847597)
Take a look at Genode.
Re:ACM Software System Award Given to seL4 Microkernel by langfan on Sunday May 07, 2023 @03:50AM (#35848929)
Why is it interesting?
Re:ACM Software System Award Given to seL4 Microkernel by snvzz on Sunday May 07, 2023 @08:18AM (#35850648)
Not the parent, but seL4 has very high performance (they claim the best), and the IPC latency is bound by Worst Case Execution Time proof.
Re:ACM Software System Award Given to seL4 Microkernel by saithound on Sunday May 07, 2023 @08:21AM (#35850672)
Some interesting aspects, in no particular order.

Pure capability-based access control, where capabilities are communicable, but not forgeable "references with rights" to objects. While this is interesting, it's not really unique: other L4 kernels also have it, and Capsicum (but not POSIX capabilities) implements something like it on Unix. But even here, seL4 has some unique twists, such as the way IPC replies are handled, which allows policies that prevent "unsolicited" replies.

A unique approach to memory management, where after boot-time, the kernel does no memory management, and even kernel memory is managed completely by user-level code. In fact, the kernel has no heap. Instead, when the user requests an operation that requires kernel memory (e.g. creating an address space, which requires memory for page tables) the user provides the memory explicitly to the kernel. This sets seL4 apart not just from monokernels, but from other L4 kernels as well.

Support for passive servers: one of the most exciting recent features, these are server processes that run on scheduler time "donated" by the client. Among other things, this can be used to make sure that non-critical clients will not monopolize services needed by critical clients.

IIRC seL4 is also the fastest L4 kernel for most use cases - and its worst-case execution time is bounded, at least on older CPUs which have published timing data.

Re:ACM Software System Award Given to seL4 Microkernel by senko on Sunday May 07, 2023 @11:56AM (#35852753)
It's at the same time pure microkernel and performant and usable in real world (not just a research project).

The memory management, scheduling and IPC are implemented in an interesting and novel way (compared to your typical mainstream OS) and allow for quite different OS design.

In particular, capability-based IPC and memory management could provide a robust base for a secure OS from the ground up, instead playing whackamole in an aging POSIXish design.

Sadly (tho I understand the rationale), most approaches to building a full OS on top of (L4 in general) are "run userspace Linux in an isolated container", which kind of ignores all the power underneath.

Re:ACM Software System Award Given to seL4 Microkernel by langfan on Sunday May 07, 2023 @03:49PM (#35854972)
Thanks to all who replied.
Re:ACM Software System Award Given to seL4 Microkernel by kjs3 on Saturday May 06, 2023 @04:25PM (#35845078)
It's proven correct against specification. That's not the same thing as 'secure' (although it helps).
Re:ACM Software System Award Given to seL4 Microkernel by hedora on Saturday May 06, 2023 @09:40PM (#35847054)
The specification includes the semantics of the hardware it runs on, and shows security properties.

Having said that, it is surprisingly easy to get hardware to violate its specifications.

Re:ACM Software System Award Given to seL4 Microkernel by kjs3 on Tuesday May 09, 2023 @01:01AM (#35870345)
Which...is not the same thing as 'secure' (although it helps).
Re:ACM Software System Award Given to seL4 Microkernel by eep_social on Saturday May 06, 2023 @01:44PM (#35843615)
I think this quotation from page 5 of the seL4 whitepaper [1] about a different micro kernel might help:

> our L4- embedded kernel from the mid-Noughties runs on the secure enclave of all recent iOS devices (iPhones etc)

[1] https://sel4.systems/About/seL4-whitepaper.pdf

Re:ACM Software System Award Given to seL4 Microkernel by the_panopticon on Saturday May 06, 2023 @01:46PM (#35843632)
KataOS and Sparrow https://opensource.googleblog.com/2022/10/announcing-kataos-... represent another use of seL4. This time with Rust as services code outside of the provably-correct seL4 c code.