Zum Hauptinhalt Zur Navigation

Sel4: Fehlerloser Microkernel unter der GPL freigegeben

Der von der National ICT Australia mitentwickelte Microkernel Sel4 steht ab sofort unter der GPL . Er wurde durch mehrere Testverfahren als vollständig fehlerfrei eingestuft.
/ Jörg Thoma
50 Kommentare News folgen (öffnet im neuen Fenster)
Der Microkernel Sel4 im Einsatz (Bild: Nicta)
Der Microkernel Sel4 im Einsatz Bild: Nicta

Der Microkernel Sel4 gilt als vollkommen fehlerfrei und daher als sicher. Er wurde von der National ICT Australia (Nicta) zusammen mit dem US-Unternehmen General Dynamics C4 im Rahmen des Darpa-Programs High-Assurance Cyber Military Systems entwickelt. Jetzt steht der gesamte Code unter der GPLv2 sowie der BSD-Lizenz(öffnet im neuen Fenster) und kann auf Github(öffnet im neuen Fenster) eingesehen werden.

Demonstration des Microkernels Sel4
Demonstration des Microkernels Sel4 (04:52)

Das Besondere an Sel4 ist das ausgiebige Testverfahren(öffnet im neuen Fenster) , dem der Code unterzogen wurde. Der Verifizierungsprozess umfasste nicht nur die von Werkzeugen wie Lint oder Coverity durchgeführten Prüfungen, die sich meist auf statische Codeanalyse beschränken, sondern auch die Fahndung nach möglichen Pufferüberläufen oder Speicherlecks. Auch die Inter-Process Communication (IPC) sowie die Zugriffsrechte wurden untersucht. Letztere wurden auch im Rahmen der Zugriffe aus dem User-Space getestet.

Der Microkernel wurde bewusst klein gehalten, er kümmert sich ausschließlich um die Verwaltung von Interrupts, virtuellen Adressräumen, Threadverwaltung, IPC, besitzt eine Speicherverwaltung und regelt die Zugriffsrechte. Sämtliche Treiber oder Systemdienste laufen im User-Space. Dadurch soll zum einen die Stabilität des Systems gewährleistet werden – stürzt eine Komponente ab, können die anderen weiterlaufen. Zum anderen sorgen die Zugriffsrechte dafür, dass das System nicht von außen angegriffen werden kann. In den ausgiebigen Tests wurden auch Worst-Case-Szenarios durchprobiert.

Für ARM und x86

Sel4 wird deshalb für den Einsatz in hochsensiblen Umgebungen empfohlen. Er läuft(öffnet im neuen Fenster) auf ARMv6- (ARM11), ARMv7- (Cortex A8, A9, A15) und x86-Kernen, kann also auf Entwicklerplatinen wie Beagleboards oder Odroid ausprobiert werden. Auf entsprechender Hardware lässt sich Linux in einer virtuellen Maschine auf Sel4 einrichten und nutzen, etwa mit Intels VT-x samt EPT. Die Virtualisierung auf ARMs A7- beziehungsweise A15-Kernen soll später implementiert werden.

Das australische Forschungszentrum Nicta(öffnet im neuen Fenster) demonstrierte den Einsatz des Microkernels unter anderem in Drohnen, die nunmehr nicht mehr von Hackern vom Himmel geholt werden können sollen. Auch der Einsatz in der zivilen Luftfahrt, in Navigationsgeräten, in Robotern oder in Automobilen ist angedacht.


Relevante Themen