Die viel beschworene virtuelle Vermengung von Daten über Menschen, Prozesse und Dinge im IoT verheißt eine Welt der Bequemlichkeit, Effizienz und neuer wirtschaftlicher Möglichkeiten. Doch um das Potenzial des Internet of Things voll ausschöpfen und nutzen zu können, ist eine vertrauenswürdige Infrastruktur nötig. Dazu gehört das besonders schwierige IoT-Gateway.

Bild 1: Zunehmende Interkonnektivität erfordert vertrauenswürdige Gateways noch mehr als nur den Schutz der Endpunkte.

Bild 1: Zunehmende Interkonnektivität erfordert vertrauenswürdige Gateways noch mehr als nur den Schutz der Endpunkte. Lynx

Die IoT-Infrastruktur setzt sich generell aus vier Klassen von Computergeräten zusammen: Sensoren, Gateways, Server und Prozesssteuerung (Bild 1). Sensoren messen den Zustand eines Systems, Gateways erfassen die Daten der Sensoren und leiten diese an die Server weiter, die Server analysieren die Daten und passen die Prozesssteuerung entsprechend an.

IoT-Gateway

Das IoT-Gateway dient in erster Linie als drahtloser Aggregationspunkt, der die IoT-Sensordaten sammelt und weiterleitet. An sich nichts Neues; drahtlose Automatisierungstechnik wird in Industrieanwendungen seit Jahren eingesetzt. Der Unterschied besteht darin, dass sie in eigentumsrechtlich geschützte Systeme verfrachtet und in privaten Netzwerken eingesetzt wurde. Die größte Gefahr ging von der physischen Zugänglichkeit der Endpunkte aus, die oft genau denjenigen möglich war, die am Ergebnis vielleicht etwas drehen wollten: Endkunden, die ihr Smartmeter manipulieren, um die Stromrechnung niedrig zu halten oder eine Stromabstellung rückgängig zu machen.

Eckdaten

IoT-Gateways brauchen ein Menge an Funktionen und Schnittstellen, um auf der einen Seite beliebige Sensoren anzubinden und auf der anderen Seite mit der Cloud zu kommunizieren. Das macht sie anfällig für Angriffe und schwer zu entwickeln, da kaum ein Betriebssystem alle Aspekte ideal abdeckt. Doch mit einem Separation-Kernel-Hypervisor und moderner Hardware kombinieren Entwickler einfach verschiedene Betriebssysteme und bei Bedarf sogar Bare-Metal-Anwendungen.

Die Vision des IoT ist es, die Interoperabilität zu erweitern und Konnektivität auf ganze Städte und letztendlich weltweit auszudehnen. Folglich werden die Endpunkte nun über das Internet miteinander und mit Remote-Systemen verbunden. Dadurch sind sie beliebig vielen zusätzlichen, aber weniger örtlich gebundenen Bedrohungen ausgesetzt. Vor allem im sicherheitskritischen Industriebereich ist die Vertrauenswürdigkeit der Gateways zwischen den Netzwerken überlebenswichtig und noch wichtiger als der Endpunktschutz.

Funktionalität eines IoT-Gateways

Es gibt einige technische Schlüsselmerkmale, die ein effektives IoT-Gateway aufweisen sollte, wenn es die Zielsetzungen des IoT erfüllen und gleichzeitig dessen Bedrohungen fernhalten will:

  • Ein hohes Maß an Interoperabilität mit Standard-Netzwerkprotokollen, um Verbindungen auch zwischen verschiedenen Sensortypen unterschiedlicher Hersteller zu gewährleisten.
  • Edge- und Mesh-Computing-Verfahren sollten die Datenanalyse näher an die Sensoren bringen. Das vergeudet weniger Bandbreite als die Verteilung von Sensordaten in die Cloud.
  • Generische Plattform-Services für Anwendungen nutzen, die auf bestimmte Untergruppen physikalischer Rohdaten zugreifen, etwa für die örtliche Erwärmung, Verkehrsgeschwindigkeit oder Parkraumverfügbarkeit.
  • Deterministische Rechenmethoden nutzen für zeitkritische Anwendungen wie Roboter-Produktionsstraßen und robotergesteuerte industrielle Prozesse.
  • Zertifizierung nach Standards wie IEC 61508.
  • Das Gateway sollte autonom, zuverlässig und fernwartbar sein um physikalische Handhabung so gering wie möglich zu halten.
  • Es sollte so sorgfältig konzipiert und durchdacht sein, dass die Flexibilität durch vielerlei Schnittstellen und Netzwerkprotokolle, exponierte Implementierungen, komplexe Software und Anbindungen nicht Tür und Tor für bösartige Angriffe öffnet.

Monolithische Architekturen

Solch eine Kombination wünschenswerter Eigenschaften stellt herkömmliche Embedded-Designs vor erhebliche Herausforderungen, vor allem hinsichtlich der Aspekte Interoperabilität, Hochverfügbarkeit und Hochsicherheit. Traditionelle Designs setzen auf monolithische Architekturen, bei denen alle Anwendungen von einem einzigen OS gehostet werden und sämtliche I/O-Unterstützung, Verwaltungs- und Sicherheitskontrollen in diesem OS-Kernel integriert sind.

Monolithische Konstruktionen dieser Art haben jedoch eine fragile Schwachstelle (Single Point of Failure). Das Hosting aller Anwendungen einschließlich I/O-Handling und der Verwaltungsfunktionen auf gleichem Raum bedeutet, dass jeder Misserfolg bei den Sicherheitsmaßnahmen oder der Kernelcodierung die Sicherheit oder Verfügbarkeit des gesamten Systems gefährden kann. Besonders schwierig ist eine hochgradige Trennung zwischen den Applikationen um dadurch die Geheimhaltung (Datenschutz, Vertraulichkeit) und Verfügbarkeit anderer Anwendungen zu gewährleisten.

Da das Gateway eine hohe Funktionsvielfalt braucht, wird kein Betriebssystem zu allen Aspekten optimal passen. Bei monolithischen Designs zum Beispiel müssen alle Sensor- und Netzwerkschnittstellentreiber samt I/O-Protokollstack-Unterstützung in den OS-Kernel eingebaut werden. Wenn für das gewünschte OS keine Treiber zur Verfügung stehen wird es schwierig, die gewünschten Sensor- und Netzwerkschnittstellen zu unterstützen. Außerdem lassen sich bei monolithischen Betriebssystemen die Kernelfunktionen kaum im laufenden Betrieb patchen oder aktualisieren.

Separation-Kernel-Hypervisor

Kommerziell verfügbare SKH-Software (Separation-Kernel-Hypervisor) konzentriert sich darauf, physikalische Ressourcen zu verwalten und dabei ihre modulare Zusammensetzung zu unterstützen. Der SKH-Ansatz erlaubt es, Anwendungen, I/O, Verwaltungsfunktionen und Sicherheitssteuerungen zu modularisieren. Separation-Kernel-Hypervisoren verschaffen Systemarchitekten eine präzise Kontrolle über alle Formen der Kommunikation, Zeitzuweisung und Ressourcenzuordnung und geben ihnen das Werkzeug, um alle Sicherheitsschwachstellen und Echtzeitprobleme anzugehen.

Bild 2: Hohe Separation-Kernel-Sicherheit, kombiniert mit der Praktikabilität eines Hypervisors ergibt eine große Designflexibilität für IoT-Gateways.

Bild 2: Hohe Separation-Kernel-Sicherheit, kombiniert mit der Praktikabilität eines Hypervisors ergibt eine große Designflexibilität für IoT-Gateways. Lynx

Mit SKH lassen sich verschiedenste Varianten von Gast-Betriebssystemen oder sogar Bare-Metal-Anwendungen nebenläufig auf derselben Plattform ausführen (Bild 2). Dies ermöglicht die Wahl der optimalen Lösung für jede Funktion. Durch Virtualisierung kann ein mit einem SKH entworfenes Gateway mehrere Subjekte unterstützen. Ein mögliches Szenario wäre:

  • Zeitkritische Anwendungen wie Lastausgleich und Failover-Protokolle laufen auf einem Echtzeitbetriebssystem.
  • Das Datenhandling übernimmt ein leistungsstarkes Allzweckbetriebssystem.
  • Vertrauenswürdige Bare-Metal-Anwendungen mit minimalem Applikations-Overhead sorgen für sehr hohe Leistungs- oder Sicherheitsfunktionen.

Virtualisierung hilft nicht nur, die Interoperabilität und Sicherheit zu verbessern, sie spielt auch eine Schlüsselrolle bei modernen PaaS-Ansätzen (Platform as a Service), indem sie Analysetools und einer Gruppe von Benutzern es erlaubt, jedes Betriebssystem und jede Anwendung zu nutzen, welche für die jeweilige Aufgabe am geeignetsten sind.

Virtualisierungstechniken

Von den diversen verfügbaren Virtualisierungstechniken ist die Hardwarevirtualisierung besonders attraktiv, da sie die Fähigkeiten der CPU nutzt. Das sorgt nicht nur für den größtmöglichen Isolationsgrad, sondern erlaubt auch einen SKH mit sehr kleinem Speicherverbrauch. SKH sind in der Regel zehn- bis hundertmal kleiner als monolithische Betriebssysteme.

Ein möglichst geringer Speicherverbrauch ist eine beträchtliche Hilfe bei jeder Art von Zertifizierungsanforderungen, wie die Sicherheitszertifizierung nach Standards wie der IEC 61508, vor allem wenn Artefakte verfügbar und eingeführt sind. Ein geringer Platzbedarf bedeutet außerdem, dass die vertrauenswürdige Codebasis des Gesamtsystems minimal gehalten werden kann und so die Verwundbarkeit für bösartige Angriffe reduziert.

Isolation und Robustheit ergeben sich zuverlässig aus der Fähigkeit des SKH, die partitionierten Hardwareressourcen, die jedem Subjekt zugeordnet sind, genau zu kontrollieren und eindeutige Ausführungszeitpläne für Gastbetriebssysteme und Bare-Metal-Applikationen zu steuern. SKH können daher die Verfügbarkeit eines Systems garantieren indem sie dafür sorgen, dass eine kritische Anwendung niemals durch eine konkurrierende Anwendung abgewürgt wird oder diese ihr zuvorkommt.

Passendes Konzept

Separation-Kernel-Hypervisoren sind kein neues Konzept. Manche von ihnen sind seit fast einem Jahrzehnt im Einsatz und für Sicherheitsanwendungen zertifiziert. Mithilfe der Fähigkeiten von Virtualisierung und Bare-Metal-Anwendungen sowie vertrauend auf die Isolierungs- und deterministischen Eigenschaften eines SKH lassen sich aus mehreren Softwaremodulen Plattformen errichten, die aus mehreren unabhängigen Partitionen bestehen. Zwischen diesen Modulen lassen sich einfache Schnittstellen definieren, sodass der Zustand des Systems klar definiert und klar verständlich ist.

Mit einem Separation-Kernel-Hypervisor und modularen Designtechniken verfügen Entwickler von IoT-Gateways über zahlreiche Optionen um hoch interoperable, zuverlässige, sichere und nachhaltige Lösungen mit COTS-Komponenten zu erschaffen.