Sicherheitslücken schließen Firmware-Updates für das Internet of Things

Die Verfügbarkeit von MCUs zu günstigen Preisen samt wachsender Internet-Infrastruktur hat die Welle zur totalen Vernetzung ausgelöst: Sensoren erfassen Daten und geben sie im Internet der Dinge (IoT) weiter. Firmware-over-the-Air-Updates sind dabei eine wichtige Option.

Das Internet of Things (IoT) beschreibt eine Welt von miteinander kommunizierenden Gegenständen, die uns umgeben. Das klingt erst einmal allumfassend und trivial, so besteht die Fahrzeugelektronik aus vielen intelligenten Einheiten, die miteinander kommunizieren. Von einem Internet der Dinge spricht man beim Auto aber erst, wenn das Auto mit anderen Autos kommuniziert und nicht nur der ABS-Sensor mit dem Steuergerät.

Der Unterschied zwischen einem lokalen Embedded-System und IoT ist die Kommunikation mit der Außenwelt: Bei IoT-Geräten werden Mechanismen wie Cloud-Server eingesetzt, um zwischen den einzelnen IoT-Teilnehmern zu vermitteln. Die Gegenstellen werden von Smart-Devices, wie Tablets oder Smartphones, weiteren Cloud-Servern oder privaten Servern gebildet. Smartphone und Tablet dienen dabei oft als Fernbedienung oder (zweites) Display. Cloud-Server werden dazu verwendet, eine möglichst breite Verfügbarkeit der Daten zu erreichen. Firmeneigene Server dienen überwiegend der Gerätewartung, also Firmware-Updates oder dem Austausch von Log-Daten. Dank dieser digitalen Netze profitieren Unternehmer wie Anwenderin: durch Maschine-zu-Maschine-Kommunikation (M2M) und der daraus resultierenden Analyse- und Vorhersagemöglichkeiten der Datenmengen erzeugt IoT eine extrem hohe Transparenz. Maschinen erkennen ihre Verschleißgrenzen und können drohende Ausfälle rechtzeitig erkennen und verhindern. Patienten können basierend auf Echtzeit-Analysen gezielter behandelt werden. Kritische Zustände werden rechtzeitig erkannt und im Vorfeld bereits vermieden.

Die ständige Verbindung mit dem Netz kann so auch für Firmware-Updates genutzt werden, um zeitnah Sicherheitslücken zu schließen, neue Features einzupflegen oder auf Einflüsse von außen zu reagieren.

Moderne Wartung in der Medizintechnik 

Die Firma Cutera stellt Spezialwerkzeuge für die ästhetische Chirurgie mit besonderem Augenmerk auf die Hautverjüngung-und -reparatur her. Im Wesentlichen bestehen die Werkzeuge aus einem Steuergerät, an das sich verschiedene Werkzeuge anschließen lassen. Die meisten Werkzeuge setzen Laser und andere Energiequellen unterschiedlicher Wellenlängen ein, um die verschiedenen Behandlungen zu ermöglichen und sich auf verschiedene Hauttypen einstellen zu können.
 

Auf Seiten des Steuergerätes hat sich die Bedienbarkeit immer weiterentwickelt. So gab es auf Seite der Benutzerschnittstelle am Anfang Segmentanzeigen, die später durch große Displays ersetzt wurden. Inzwischen hat auch das IoT bei Cutera Einzug gehalten. Die neuesten Geräte werden in Zukunft auch mit dem Internet verbunden sein und geben damit insbesondere dem Service die Möglichkeit, Geräte zu warten ohne physisch anwesend sein zu müssen. Dies ist besonders interessant, da sich die Kunden für dieses Spezialgebiet weltweit verteilen und es sich nicht an jedem Ort lohnt, ein Service-Büro einzurichten.

Im Fehlerfall werden die Geräte dann eine E-Mail an den Service schicken, damit dieser schnell reagieren kann. Zudem werden die Geräte Berichte über die Dropbox zur Verfügung stellen, sodass die Service-Teams schon frühzeitig erkennen können, ob und wo sie tätig werden müssen. Zusätzlich lassen sich diese Reporte auch dazu einsetzen, die Produkte gezielt zu verbessern. Im Labor sind diese Funktionen bereits auf Basis von Seggers Echtzeitbetriebssystem embOS, IP-Stack embOS/IP, Filesystem emFile, TLS Stack emSSL, dem USB-Host, emUSB-Host und der Dropbox-API implementiert. Im nächsten Schritt ist Cutera dabei, diese Implementierung auf dem in der Medizintechnik üblichen Weg zu zertifizieren. 

Datenaustausch mit der Cloud 

Es gibt eine Vielzahl an Protokollen und Wegen, die im IoT verwendet werden. Immer wieder werden CoAP und MQTT auf der Protokollseite genannt. Für die Cloud-Services gibt es verschiedene Anbieter. Je nach Anwendungsfall erfüllen diese sehr unterschiedliche Voraussetzungen. Im oben genannten Fall der Firma Cutera ist es so, dass Cutera selbst seine Server nicht rund um die Uhr in Betrieb hat. Damit benötigt Cutera einen Zwischenspeicher, der jederzeit verfügbar ist. Hier bietet sich zum Beispiel der Dienst Dropbox an. In der Dropbox lassen sich aus Sicht von Embedded-Systemen nahezu unbegrenzt große Daten nahezu unbegrenzt lange zwischenspeichern. 

Um dieses zu nutzen, verwenden die Werkzeuge der Firma Cutera in der neuesten Generation eine Internetverbindung. Die Internetverbindung dient im Wesentlichen der Wartung. Dazu spielen die Geräte Log-Dateien und Berichte in die Dropbox, sodass diese von den Service-Teams ausgewertet werden können. Falls nötig werden in umgekehrter Richtung Firmware-Updates zu Servicezwecken verfügbar gemacht. Dafür ist ein bestimmtes Verzeichnis vorgesehen, dessen Inhalt die Geräte in regelmäßigen Abständen prüfen. Ist ein Update vorhanden, wird dieses geladen und bei nächster Gelegenheit wird das Update aktiviert. 

Sichere Daten – sicheres Update 

Um die Sicherheit der Daten in der Dropbox zu gewährleisten, werden diese signiert. Dies betrifft sowohl die Firmware-Updates, als auch die Log-Daten. So lassen sich Manipulationen schnell identifizieren. Für den abhörsicheren Datenaustausch wird mit der Dropbox eine SSL-Verbindung aufgebaut. Hier folgt man internationalen Sicherheitsstandards. Das heißt, wenn hier von SSL geschrieben wird, dann sind die neueren Versionen der Transport-Layer-Security (TLS) gemeint. 

Der Update-Prozess läuft dann folgendermaßen: Zunächst wird geprüft, ob ein Firmware-Update vorhanden ist. Dieses wird dann in das Gerät geladen. Das Firmware-Update wird mit einer digitalen Signatur ausgeliefert, sodass das Gerät sowohl die Integrität der Daten als auch die Herkunft der Daten verifizieren kann. Ist das Gerät mit den erhaltenen Daten einverstanden, beginnt der eigentliche Update-Prozess. Je nach Implementierung geschieht das Update automatisch oder auf Nutzerinteraktion. Für das Update werden die Daten entpackt und die Firmware anschließend im Speicher überschrieben. Anschließend wird erneut geprüft, ob der Prozess funktioniert hat und die Firmware intakt ist. Ist dies nicht der Fall, gibt es einen Fallback-Prozess. Dieser verhindert, dass eine defekte Firmware im Gerät gestartet werden kann.

Fazit

Cloud-Services lassen sich auch für spezielle Geräte gewinnbringend einsetzen. Ob es einfach darum geht, den weltweiten Service gezielter einsetzen zu können oder sogar in vielen Fällen zu Hause lassen zu können, oder ob es um verbesserte Feedback-Kanäle geht: Die Möglichkeiten sind nahezu unbegrenzt.(fr)