Softwaresicherheit durch Partitionierung

Separation Kernels für Industriesteuerungen

30. Mai 2023, 6:00 Uhr | Von Franz Walkembach
© stock.adobe.com

Separationskerne bieten eine höhere Sicherheit als die Trennung per Container. Mit Containerisierung lässt sich nur eine limitierte Isolierung erzielen, denn sie ist normalerweise nicht dafür vorgesehen, bösartigen Code an der Ausweitung von Privilegien zu hindern

Diesen Artikel anhören

Der kontinuierliche technische Fortschritt, der sinkende Kosten und eine größere Kompaktheit der Geräte erlaubt, macht es heute möglich, mehr physische Elemente in der industriellen Umgebung zu verbinden und zu steuern. Dies ermöglicht es Automatisierungsingenieuren, Prozesse mit größerer Genauigkeit zu überwachen und die OEE (Overall Equipment Effectiveness) zu steigern. Gleichzeitig verschmelzen separate Systeme der Betriebstechnik (OT, Operational Technology) mit der IT-Infrastruktur des Unternehmens.

passend zum Thema

Ein Steuerungssystem, das unter der Kontrolle eines Angreifers steht, ist gefährdet in Bezug auf die funktionale Sicherheit. Security ist dringend erforderlich, um Integrität,Verfügbarkeit von Automatisierungssystemen zu gewährleisten
Bild 1. Ein Steuerungssystem, das unter der Kontrolle eines Angreifers steht, muss in Bezug auf die funktionale Sicherheit als gefährdet angesehen werden. Security ist daher dringend erforderlich, um die Integrität und Verfügbarkeit von Automatisierungssystemen zu gewährleisten.
© phonlamaiphoto| stock.adobe.com

Diese größere Vernetzung bringt jedoch auch mehr Bedrohungen durch böswillige digitale Akteure mit sich. Daher wird neben der funktionalen Sicherheit (Safety) auch die IT-Sicherheit (IT Security) zu einem zwingenden Schwerpunkt (Bild 1).

Safety und Security stehen in einer komplexen Wechselwirkung. Die grundlegendste Aussage ist, dass Safety nicht ohne Security hergestellt werden kann, d. h. ein System, das unter der Kontrolle eines Angreifers steht, muss in Bezug auf die funktionale Sicherheit als gefährdet angesehen werden. Security ist daher dringend erforderlich, um die Integrität und Verfügbarkeit von Sicherheitssystemen zu gewährleisten. Darüber hinaus müssen sensible Daten geschützt werden, da ein Datenverlust oder eine Kompromittierung ein ernsthaftes Risiko für das Unternehmen darstellen könnte.

Für die Entwickler von Automatisierungsgeräten ergibt sich mit großer Wahrscheinlichkeit auch die Forderung nach einer Sicherheitszertifizierung, wie sie im Bereich der Safety längst etabliert ist. Neben Normen wie der IEC 61508, die den Entwurf von funktional sicheren Steuerungssystemen regeln, taucht die Normenreihe IEC 62443 auf. Diese Reihe deckt mehrere Aspekte ab, darunter die Sicherheit der Kommunikation von Gerät zu Gerät, den Schutz sensibler Daten sowie die Authentizität von Anweisungen und Verfahrensrichtlinien für Gerätehersteller.

Es ist eine schwierige Aufgabe, die ständig wachsende Systemkomplexität zu bewältigen, ohne die funktionale und IT-Sicherheit zu vernachlässigen. Ein Ansatz hierfür ist die Strategie des »teile und herrsche«. Dahinter steht das Konzept, bestehende Modulgrenzen mit losen Kopplungen zu identifizieren. Dies können beispielsweise einzelne Prozesse eines Betriebssystems (OS) oder Anwendungen sein, die auf verschiedenen Kernen desselben Prozessors laufen.

Strikte Partitionierung für mehr Sicherheit

Separation Kernel sind Containern vorzuziehen, da die Containerisierung nur eine schwache Isolierung bietet
Bild 2. Separation Kernel sind Containern vorzuziehen, da die Containerisierung nur eine schwache Isolierung bietet.
© Sysgo

Indem die Gerätehardware unter der Kontrolle eines sogenannten Separationskerns läuft, kann der Entwickler individuelle Partitionen erstellen (Bild 2). Durch die Partitionierung der vorhandenen Software entlang festgelegter Grenzen und das Verschieben jedes Moduls in eine eigene Partition kann eine vollständige Isolierung in Bezug auf funktionale und IT-Sicherheit erreicht werden. In den meisten Fällen ist dies jedoch kein wünschenswerter Zustand, da die verschiedenen Anwendungen miteinander kommunizieren müssen. Separationskernel bieten daher Kommunikationsmöglichkeiten wie gemeinsame Speicherbereiche und IPC-Kanäle (Interpartition Communication), die bei Bedarf aktiviert werden können.

Durch die strikte Trennung in einzelne Partitionen können sich die Anwendungen nicht gegenseitig beeinflussen, es sei denn, dies wird vom Integrator bewusst ermöglicht. So können die Auswirkungen eines Fehlers auf die Partition beschränkt werden, in der er aufgetreten ist. Darüber hinaus ermöglicht die Partitionierung die Einführung von Sicherheitsdomänen, d. h. von Teilen des Systems mit unterschiedlichen Anforderungen an das Sicherheitsniveau. Separationskernel haben in der Regel eine sehr kleine Codebasis, was die Wahrscheinlichkeit von Programmier- oder Laufzeitfehlern verringert.

Aus der Sicherheitsperspektive sind Entwürfe auf der Grundlage von Separationskernen in der Regel einer Trennung auf der Grundlage von Containern vorzuziehen, da die Containerisierung nur eine schwache Isolierung bietet. Container sind in der Regel nicht darauf ausgelegt, die Ausweitung von Privilegien durch bösartige Anwendungen zu verhindern. Im Extremfall kann eine solche Anwendung dann bis in das Host-Betriebssystem vordringen. Mit einer Partitionierung über einen Separationskernel kann dies zuverlässig verhindert werden

Geräte mit gemischter Kritikalität

Bei der Entwicklung von Software gibt es zwangsläufig einen Kompromiss zwischen Funktion und Korrektheit: Software mit vielen Funktionen wird immer komplexer und damit anfälliger für Programmierfehler sein, was die Sicherheit beeinträchtigt. Ein Entwurf mit gemischter Kritikalität zielt darauf ab, beide Ziele gleichzeitig zu erreichen, indem mehrere Teilsysteme mit unterschiedlicher Kritikalität kombiniert werden.

Ein Beispiel hierfür ist eine SPS, die auch eine Anlagenverwaltungsschale (AAS, Asset Administration Shell) und eine Webschnittstelle für die Erstkonfiguration enthält. Sowohl die AAS als auch der Webserver sind weniger kritisch als die SPS, da die funktionalen Sicherheitseigenschaften des Geräts nicht beeinträchtigt werden, wenn eine der beiden Komponenten ausfällt. Die SPS befindet sich daher in einer anderen (kritischeren) Sicherheitsdomäne. Die Cloud-Kommunikation für die Datenaggregation und -analyse kann ebenfalls in einer separaten Partition implementiert werden, sodass Angreifer nicht in der Lage sind, das Gerät über Schwachstellen im Datenübertragungskanal (Uplink) zu gefährden.

Was für die Cloud gilt, ist in der Fabrikhalle nicht weniger wichtig: sichere Kommunikation über Kanäle, die prinzipiell angreifbar sind. Das gilt sowohl für die Mensch-Maschine-Schnittstelle (HMI) als auch für die Maschine-zu-Maschine-Kommunikation (M2M). Folglich müssen Geräte für Steuerungssysteme die entsprechenden Stacks und Server integrieren, wie BaSyx, OPC UA, HTTP REST, MQTT, DDS, oneM2M.

Netzwerkdienste und die Server, die sie bereitstellen, spielen eine wichtige Rolle, da sie die Angriffsfläche des Geräts direkt vergrößern. Da die heutigen Protokolle so leistungsfähig und damit komplex sind, steigt das Risiko kritischer Schwachstellen entsprechend.


  1. Separation Kernels für Industriesteuerungen
  2. Selektive Neuzertifizierung nach Software-Upgrade

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!