Geräte mit Embedded-Linux erhalten zu selten Updates, bemängeln Experten. Wie Aktualisierungen für mehr Sicherheit und Zuverlässigkeit funktionieren können, erklärt dieser Artikel.
“Die Embedded-Linux-Branche muss sich in Zukunft verstärkt um Updates für ihre Geräte kümmern.” Das sagt Carsten Emde, der Geschäftsführer des Open Source Automation Development Lab (OSADL, [1]). Die Genossenschaft betreibt Forschung und Ausbildung für Linux-Anwender in der Automatisierungsindustrie.
Laut Emde ist nur mit Hilfe von Updates die Einbruchs- (Security) und Betriebssicherheit (Safety) von Industrieanlagen sicherzustellen. Diese teilen vermehrt die Gefährdungen von Linux-Routern, NAS-Geräten und Linux-Fernsehern, die per Internet erreichbar sind.
Von der Stange?
Teil der Problematik ist, dass kaum standardisierte Aktualisierungsverfahren für die Geräte existieren. Wie bei der Entwicklung der Embedded-Software geht hier fast jeder Hersteller seinen eigenen Weg. Handelt es sich bei der Hardware um ein leistungsfähiges x86-System, besteht noch die Möglichkeit, eine etablierte Linux-Distribution zu verwenden, die sowohl einen Paketmanager als auch regelmäßige Updates bereitstellt. Bei kommerziellen Distributionen kommen den Embedded-Herstellern allerdings häufig die Lizenzen in die Quere, die den Weitervertrieb mit der Hardware erschweren.
Zudem benötigen Paketmanager einige Ressourcen, um beispielsweise Abhängigkeiten zu verwalten oder Archive zu dekomprimieren. Für schwächere Zielsysteme kommt daher ein so genanntes Spiegelverfahren zum Einsatz. Der Hersteller verwendet ein leistungsstärkeres Entwicklersystem, das er mittels Paketmanager auf den neuesten Stand bringt. Diesen Stand spiegelt er auf das Embedded-Gerät.
Am untersten Ende des Spektrums steht ein Verfahren, das selbst bei minimal ausgestatteten Embedded-Geräten funktioniert: Man schreibt das komplette Betriebssystem als Image am Stück auf eine Speicherpartition des Zielgeräts. Das stellt zudem sicher, dass alle Komponenten des Betriebssystems und Softwarestacks auf dem richtigen Stand sind und gut zusammenspielen. Das neue Image kann etwa per USB-Stick oder Speicherkarte zum Gerät kommen.
Damit sich ein Gerät beim Scheitern des Updates nicht in einen nutzlosen Ziegelstein verwandelt, gibt es in der Regel eine Fallback-Kopie des Betriebssystems, erklärt Michael Opdenacker. Der Gründer des Embedded-Spezialisten Free Electrons [2] erläutert zwei Mechanismen für diesen Zweck: Im ersten Szenario verfügt der persistente Speicher des Zielgeräts über mindestens zwei Partitionen. Auf einer verbleibt die bisherige Linux-Installation. Die andere beschreibt der Bootloader mit dem neuen Image. Anschließend versucht er die neue Partition zu booten. Bei Erfolg ändert ein Skript die Bootkonfiguration nachhaltig, ansonsten bleibt die alte Partition aktiv.
Rettung naht
Opdenackers Lieblingslösung besteht aber in einer schreibgeschützten Partition mit einem minimalen Rescue-System. Es wird aktiv, wenn der Anwender etwa einen Knopf am Gerät drückt. Dieses Rescue-System übernimmt die Aufgabe, ein aktualisiertes Betriebssystem auf die Standardpartition zu kopieren. Geht dabei etwas schief – kein Problem: Das unveränderliche Rettungssystem lässt sich auf jeden Fall starten.
Auch Michael Opdenacker beklagt die Update-Müdigkeit: “Am liebsten würde ich einen Hacking-Contest veranstalten, bei dem die Teilnehmer Embedded-Linux-Geräte knacken”, meint er. Doch er bietet auch tröstliche Worte: Die Versionsvielfalt in der Embedded-Branche stelle sicher, dass ein einzelner Exploit oder Bug nur etwa 1 bis 2 Prozent der Geräte im Internet lahmlegen kann. Diversität hat eben auch ihre Vorteile.
Infos
- OSADL: http://www.osadl.org
- Free Electrons: http://free-electrons.com






