Fachartikel aus PROTECTOR 3/2017, S. 36 bis 37

Internet der Dinge Mikrokerne für mehr Sicherheit

Es muss nicht immer Windows oder Linux sein. Statt auf Büro-IT setzen immer mehr Anwender auf extrem abgespeckte, aber garantiert sichere Mini-Betriebssysteme. Die schlanke Ware ist inzwischen in Milliarden Geräten verbaut. Doch weiß das kaum jemand.

Bild: Boing
Der „Unmanned Little Bird”, ein Helikopter, den das Militär einsetzt, nutzt Mikrokernels. (Bild: Boing)

Jede Version kann mehr als der Vorläufer, und ist natürlich auch umfangreicher. Das scheint das Grundgesetz bei Betriebssystemen zu sein. Nur mit der Sicherheit hapert es. Stuxnet und Ransomware sind nur zwei Beispiele, wie schnell sich moderne IT einem Angreifer ergeben muss. Die Produzenten von Malware haben leichtes Spiel, immer neue Einfallstüren zu finden, denn Betriebssysteme werden nicht nur immer leistungsfähiger, sondern auch immer komplexer. Aktuelle Produkte wie Windows enthalten rund 40 Millionen Programmierzeilen. Pro 1.000 Zeilen rechnen Experten mit zwei bis fünf Fehlern, davon sind im Schnitt zehn bis 25 Prozent für Angriffe nutzbar. Entsprechend hoch ist das Angriffspotential für Hacker. Sie müssen nur eine der in die Zehntausende gehenden Schwachstellen finden, und sie dann ausnutzen. Zug um Zug werden die Programme zwar von Fehlern gereinigt, doch nach wenigen Jahren gibt es einen Nachfolger, und das Spiel beginnt erneut. Das ist keine gute Ausgangsposition für das Internet der Dinge, wo Schäden schnell existenzgefährdende Dimensionen annehmen können, und eine Sicherheitskopie der Daten wenig hilft.

Kompakte Betriebssysteme aus der Uni

Doch es hat sich eine Gegenbewegung gebildet: Statt auf immer mehr Features setzt sie auf das genaue Gegenteil, Betriebssysteme mit so wenig Umfang wie möglich. Statt mit 40 Millionen kommen sie mit 20.000 Zeilen Code aus. Der Preis der Sparsamkeit: fast alles, was der Anwender braucht, wird ausgelagert und vom Betriebssystem aufgerufen. Der Vorteil: auch wichtige Dienste besitzen nicht das volle Durchgriffsrecht. Angreifer tun sich daher schwer, das System unter Kontrolle zu bringen. Extrem kompakte Betriebssysteme werden Mikrokerne oder Mikrokernels genannt. Sie beginnen sich erst langsam durchzusetzen. Noch schwerer tun sie sich in der öffentlichen Wahrnehmung. Da die Entwicklerteams in den Universitäten zu Hause sind, übernehmen winzige Ausgründungen die Vermarktung. Geld für Werbung und Marketing ist fast keines vorhanden. Darum ist auch kaum jemandem bewusst, das sich die Außenseiter schon heute milliardenfach verbreitet haben. Ein Mikrokern mit dem Namen „L4“ entwickelte sich bereits zum Bestseller. Seit 2013 schützt er bei allen iOS-Geräten von Apple den Secure-Enclave-Prozessor und damit die Verschlüsselungstechnik. Qualcomm verwendet denselben Kernel für seine Modem-Chips.

Konzentration auf das Wesentliche

Die heutigen Architekturen gehen zurück auf die Arbeiten des deutschen Informatikers Jochen Liedtke. Schon als Schüler begann er, extrem schlanke Betriebssysteme zu entwickeln. An diversen Forschungseinrichtungen trieb er die Arbeiten nach seiner Ausbildung voran. Nach seinem frühen Tod traten junge Forscher in seine Fußstapfen und entwickelten die Familie der Mikrokerne weiter. Zentrales Sicherheitsmerkmal der Architektur ist die Konzentration auf das Wesentliche und eine äußerst restriktive Rechteverwaltung. „Der Mikrokern hat eigentlich überhaupt keine Funktionalität, sondern bietet starke Isolation und kontrollierte Kommunikation zwischen ansonsten isolierten Komponenten. Alles andere kann und muss außerhalb des Kerns implementiert werden.

Bild: Nicta
Prof. Gernot Heiser entwickelt extrem kompakte Betriebssysteme wie das „seL4“. (Bild: Nicta)

Solche Dienste sind dann privilegierte Programme, die die Isolation nicht durchbrechen können,“ erläutert Prof. Gernot Heiser. Der deutsche Informatiker lebt und lehrt in Australien an der University of New South Wales. Dort führt er die Arbeiten des schon 2001 verstorbenen Liedtke weiter. Jüngstes Mitglied der Familie ist der Mikrokern „seL4“, der für besonders sensible Systeme gedacht ist. Dieser Kernel unterscheidet sich von seinen Vorgängern „L4“ in einem entscheidenden Punkt: Er wurde einer formalen Verifikation unterzogen. Mathematiker weisen bei diesem Vorgang nach, das sich keine formalen Fehler in der Software eingeschlichen haben. Der finanzielle und zeitliche Aufwand für eine solche Überprüfung ist hoch. Zu bewältigen ist er nur bei sehr kompakten Betriebssystemen. Obwohl noch recht jung, hat auch der „seL4“ bereits einen gut sichtbaren Einsatzort gefunden, den selbstfliegenden Hubschrauber des US-Militärs, auch bekannt als „Unmanned Little Bird“ (ULB), den Boing gebaut hat.

Nachprüfbar sichere Software

Sicherheit ist auch ein zentrales Thema beim Internet of Things (IoT). Sind Mikrokerne also das Mittel der Wahl bei allen Sensoren? Vermutlich nicht immer, meint Christian Helmuth, Geschäftsführer von Genode Labs in Dresden. Zusammen mit Kollegen forschte er zunächst an der TU -Dresden und gründete dann seine eigene Firma, die Mikrokerne an individuelle Kundenbedürfnisse anpasst. Die Mikrokern-Architektur ist notwendigerweise komplizierter als bei Systemen, die nur aus einem Betriebssystem bestehen. Daher ist auch der Ressourcenbedarf höher, weil die Hardware stärker gefordert ist. Dazu kommt der Aufwand, die unter „General Public License” stehenden Mikrokerne an die individuellen Erfordernisse anzupassen.

So etwas lohnt sich nicht für ganz kleine oder sehr preiswerte Sensoren. Bei teureren IoT-Geräten sieht es anders aus. Die Kunden erhalten dann ein deutlich besser abgesichertes Produkt. Auch juristisch haben Mikrokerne einen Vorteil, der in Zukunft immer wichtiger werden könnte. Wer nachprüfbar sichere Software verwendet, hat vor Gericht sicher die besseren Karten, wenn es um Schadensersatzansprüche geht. Die Entwicklung bleibt nicht stehen. Jüngstes Beispiel ist ein neues Echtzeitbetriebssystem Namens „eChronos“, das ebenso zur Familie der Mikrokerne zählt. Aktuell gibt es Versionen für die Microcontroller Intel 80251 and ARM Cortex M4. „Mikrokerne werden sich in den nächsten zwei Jahren rapide verbreiten.

Solche Umbrüche brauchen eben Zeit“, meint Prof. Gernot Heiser. Er fordert ein generelles Umdenken der Ingenieure, das Safety und Security strickt unterscheidet. Bei der klassischen Betriebssicherheit hat man es mit stochastischen Prozessen zu tun – was hier zu tun ist, weiß der Techniker aufgrund seiner Ausbildung. Bei Security hingegen hat man es auch mit Angreifern zu tun, die über Intelligenz und Lernfähigkeit verfügen und ein System hinsichtlich Schwachstellen analysieren können – hier ist auch Phantasie gefordert. Die Verantwortlichen sollten sich also stets fragen: Wo könnte ein kenntnisreicher Angreifer ansetzen? Auch das neue Betriebssystem „KasperskyOS“ von Kaspersky Lab, das vor Kurzem vorgestellt wurde, basiert auf Mikrokernel-Architektur. 15 Jahre hat die Firma an der Cybersicherheitslösung für Embedded-Systeme und IoT gearbeitet.

Bernd Schöne, freier Journalist