Softwareentwicklung für sichere Systeme

Unikernel: Virtualisierung trifft Containerisierung

5. Oktober 2022, 8:00 Uhr | Von Ian Ferguson
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Ausweitung der Anwendbarkeit von Unikerneln

Unikernel: Virtualisierung trifft Containerisierung
© leowolfert | stock.adobe.com

Mit dem Ziel, diese Einschränkungen, insbesondere die letzte, zu überwinden und die Vorteile des Unikernel-Konzepts einem breiteren Spektrum von Anwendungen zugänglich zu machen, führte Lynx Anfang 2022 eine Umfrage zu den verschiedenen öffentlich zugänglichen Unikernel-Optionen durch. So ließ sich feststellen, dass einige von ihnen zwar an eine bestimmte Compiler-Sprache gebunden sind, wie z.B. runtime.js (javascript), Clive (Go), LING (Erlang) und MirageOS (OCaml). Nur eine, OSV, kann viele Sprachen ausführen. Dies führte zu einer weiteren Erkundung dieser Option.

OSV ist ein modularer Open-Source-Unikernel, der entwickelt wurde, um eine einzelne, nicht modifizierte Linux-Anwendung sicher auf einem Hypervisor auszuführen. Er wurde entwickelt, um unveränderte x86-64- und Aarch64-Linux-Binärdateien auszuführen, was ihn effektiv zu einem Linux-binärkompatiblen Unikernel macht. Da es in IT-Infrastrukturanwendungen eingesetzt wird, verfügt OSV über ein angemessenes Maß an Beobachtungsfunktionen, einschließlich Protokollierung, Verfolgung und Fehlersuche. Die Verwendung einer BSD-Lizenz (Berkeley Software Distribution) ist einfach und eine Reihe von Peripheriegeräten und Protokollen, z.B. TCP/IPv4, PCIe, ACPI, werden unterstützt. Die Unterstützung von IPv6 war zum Zeitpunkt der Analyse noch nicht ausgereift.

passend zum Thema

Unikernel in unternehmenskritischen Sicherheitsanwendungen

Für Lynx konzentriert sich das anfängliche Interesse für den Unikernel auf die Sicherheit, da dieser Ansatz die Angriffsfläche drastisch reduziert. Außerdem erfordern diese Arten von Anwendungen keine garantierten Zeitvorgaben und Sicherheitszertifizierungsartefakte.

So kann beispielsweise ein Unikernel wie OSV für die Ausführung von Sicherheitskomponenten wie IDS (Intrusion Detection System) und VPNs (Virtual Private Network) verwendet werden.

Implementierung des OSV-Unikernels auf einem Xilinx-Entwicklungsmodul
Bild 2. Implementierung des OSV-Unikernels auf einem Xilinx-Entwicklungsmodul.
© Lynx Software Technologies

IDS (Intrusion Detection System) und VPNs (Virtual Private Network) verwendet werden. Bild 2 zeigt, wie dies auf einem Xilinx-Entwicklungsmodul implementiert werden könnte. TIDS (Tactical Intrusion Detection System) und Dynamic Access Control (DAC) sind statistische Anomalie-Detektoren, die von der US-Armee in einigen ihrer Netze eingesetzt werden und den IP- und 1553-Datenverkehr überwachen. Die Verwendung einer Datendiode und eines Filters auf dem Unikernel würde es einem Kunden ermöglichen, eine Linux-VM zu ersetzen, was Speicherplatz spart und den Angriffsraum drastisch reduziert.

Ein struktureller Vorteil dieses Ansatzes ist, dass die Einführung eines Unikernels die Anzahl der Anwendungsfälle für Bare-Metal-Anwendungen reduziert. Obwohl der Unikernel die Möglichkeit bietet, den Speicherbedarf der Software erheblich zu reduzieren, gibt es dennoch einen Platz für Bare-Metal-Anwendungen, die sich mit spezifischen Einzelfunktionen befassen. Es wird auch weiterhin wesentlich effektiver sein, eine 500-Zeilen-Anwendung als Bare-Metal-Anwendung zu implementieren, z.B. für die Arbeit mit privaten Schlüsseln.

Marktreife

Ist die Unikernel-Technik somit bereit für den Einsatz in unternehmenskritischen Anwendungen, in der Luft- und Raumfahrt und im Verteidigungssektor? Obwohl sie einige überzeugende Vorteile bietet, gibt es eine Reihe von Bereichen, die hohe Anforderungen stellen und in denen die heutigen Unikernel-Architekturen etwas zu kurz kommen.

  • Übereinstimmung mit POSIX und ARINC: Die Industrie verlagert sich auf die Verwendung modularer Softwarearchitekturen, die eine Anpassung an gängige APIs wie POSIX (Por- table Operating System Interface) – und, auf dem US-Markt auf Betreiben der US-Armee, den FACE-Standard (Future Airborne Capability Environment) – erforderlich machen.
  • Größe: Je größer ein Betriebssystem ist, desto mehr Zeit und Kosten sind damit verbunden, die Technik durch ein Zertifizierungsverfahren wie DO-178 zu bringen. Die Zahl der Quellcodezeilen (SLOC, Source Lines Of Code) wird als ungefähres Maß für die Softwarekomplexität verwendet. Bei den strengsten Versionen dieser Norm dauert es durchschnittlich zwei bis vier Stunden, bis eine einzige Zeile Quellcode diesen Prozess durchlaufen hat.
  • Zeitplanung: OSV implementiert einen präemptiven, fairen Planungsalgorithmus zwischen den Aufgaben, d.h. der Prozessor wird gleichmäßig auf die Systemnutzer oder -gruppen verteilt. Bei der präemptiven Planung wird die CPU den Prozessen für eine begrenzte Zeit zugewiesen. Bei der nicht-präemptiven Planung hingegen wird die CPU dem Prozess zugewiesen, bis er beendet wird oder in den Wartezustand übergeht. In unternehmenskritischen Systemen gibt es Anwendungsfälle, in denen Ressourcen auf einer Prioritätsbasis zugewiesen werden müssen – d.h. nicht alle Aufgaben sind gleichwertig – und zwar mit nicht-präemptiver Terminierung.

Vielversprechend, aber noch nicht perfekt

Noch sind Unikernels nicht ganz reif für die breite Anwendung in unternehmenskritischen Applikationen, Doch die Vorteile, die sie bieten, sind so bedeutend, dass Entwicklungsteams ermutigt werden, die Unikernel-Technik in bestimmten, begrenzten Kontexten zu nutzen. Damit sie dies tun können, werden Unikernel-Produkte benötigt, die mit kommerziell bewährten Echtzeitbetriebssystemen verbunden sind. Durch die Beibehaltung eines hohen Maßes an Kompatibilität zwischen dem Unikernel und dem eigenständigen Produkt können Entwickler Anwendungen frei zwischen den Umgebungen portieren. Dies erlaubt es, die Vorteile jedes einzelnen Systems erforschen und nutzen zu können, ohne dass es zu einer erheblichen Verdoppelung des Entwicklungsaufwands kommt.

 

Der Autor

 

Ian Ferguson von Lynx Software Technologies
Ian Ferguson von Lynx Software Technologies.
© Lynx Software Technologies

Ian Ferguson

ist VP of Sales and Marketing bei Lynx Software Technologies. In dieser Funktion ist er auch für die Förderung des Lynx-Partnerschaftsprogramms verantwortlich, um das Engagement in den Bereichen Automobil, Industrie und IT-Infrastruktur zu forcieren. Ferguson war fast elf Jahre lang bei ARM tätig, wo er Teams in den Bereichen vertikales Marketing, Corporate Marketing und strategische Allianzen leitete. Er ist Absolvent der Universität Loughborough (UK) mit einem B. Sc. in Elektrotechnik.

iferguson@lynx.com


  1. Unikernel: Virtualisierung trifft Containerisierung
  2. Ausweitung der Anwendbarkeit von Unikerneln

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lynx Software Technologies Europe

Weitere Artikel zu Industrie-Computer / Embedded PC

Weitere Artikel zu Betriebssysteme