Professional Articles

Industrial Automation

Sichere Fabrik-Automation

Der kontinuierliche technologische 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 Industrieingenieuren, Prozesse mit größerer Genauigkeit zu überwachen und die OEE (Overall Equipment Effectiveness) zu steigern. Gleichzeitig verschmelzen separate Systeme der Betriebstechnologie (Operational Technology, OT) mit der IT-Infrastruktur des Unternehmens. Diese größere Konnektivität bringt jedoch auch mehr Bedrohungen durch böswillige digitale Akteure mit sich.


Flexible und sichere Industriesteuerungen mit Separation Kernels

Der kontinuierliche technologische Fortschritt, der sinkende Kosten und eine größere Kompaktheit der Geräte ermöglicht, macht es heute möglich, mehr physische Elemente in der industriellen Umgebung zu verbinden und zu steuern. Dies ermöglicht es Industrieingenieuren, Prozesse mit größerer Genauigkeit zu überwachen und die OEE (Overall Equipment Effectiveness) zu steigern. Gleichzeitig verschmelzen separate Systeme der Betriebstechnologie (OT) mit der IT-Infrastruktur des Unternehmens. Diese größere Konnektivität 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. 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 Steuergerä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, 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

Indem die Gerätehardware unter der Kontrolle eines so genannten Separationskerns läuft, kann der Entwickler individuelle Partitionen erstellen. 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 Funktionalität 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 (engl. programmable logic controller - PLC), die auch eine Anlagenverwaltungsschale (asset administration shell -ASS) 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, so dass Angreifer nicht in der Lage sind, das Gerät über Schwachstellen im 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 Steuerungsgeräte 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.

Selektive Neuzertifizierung nach Software-Upgrade

Designs, die auf einem separaten Kernel basieren, ermöglichen nicht nur ein sehr hohes Maß an Sicherheit, sondern können auch die Zertifizierung deutlich vereinfachen und damit erhebliche Kosten einsparen. Gerade im Bereich der Security birgt die Änderung bestimmter Eigenschaften eines Systems das Risiko, dass die Sicherheitsannahmen außer Kraft gesetzt werden und das System unsicher wird. Bei einem Feldgerät ist dies der Fall, wenn durch ein Software-Upgrade ein zusätzlicher, von außen gesteuerter Dienst installiert wird. In der Regel muss in einem solchen Fall das gesamte Gerät neu zertifiziert werden, einschließlich der Teile, die sich nicht geändert haben. Diese Tatsache erschwert die Entwicklung flexibler Geräte, die sich wirtschaftlich an neue Fertigungsbedingungen anpassen lassen.

Die Partitionierung der Gerätesoftware nach den Regeln eines zertifizierten Trennungskerns ermöglicht eine selektive Neuzertifizierung nur der Partition, die von der Aktualisierung betroffen ist. Die anderen Partitionen bleiben unverändert, und die strikte Trennung gewährleistet, dass ihre Sicherheitsvoraussetzungen gleich bleiben. Darüber hinaus kann der Separationskernel einen sicheren Aktualisierungsmechanismus mit kryptografischer Signatur, Transportverschlüsselung und anderen Funktionen bieten.

Nicht vertrauenswürdiger Code und Legacy-Anwendungen

Bei Fertigungsaufträgen, bei denen kein starkes Vertrauensverhältnis zwischen Kunde und Hersteller besteht, müssen in der Fertigung zusätzliche Vorkehrungen getroffen werden, um die IT Sicherheit während des Prozesses zu gewährleisten. Beispielsweise könnte ein Möchtegern-Kunde versuchen, Geräte auf der Feldebene mithilfe von manipuliertem Fertigungscode mit Malware zu infizieren. Von dort aus könnte der Angreifer versuchen, die Produktion zu sabotieren oder die Infektion auf andere Teile des Netzwerks, wie z. B. das MES (Manufacturing Execution System), zu übertragen, um an vertrauliche Informationen zu gelangen. In solchen Konstellationen ist es daher eine gute Idee, den Fertigungscode des Kunden innerhalb einer oder mehrerer Partitionen zu isolieren, um zu verhindern, dass er Vertrauensgrenzen überschreitet und seine Privilegien erweitert. Dies geschieht, indem man die Fähigkeit der nicht vertrauenswürdigen Partition einschränkt, mit anderen Partitionen auf demselben Gerät oder mit dem Netzwerk und/oder Feldbus zu kommunizieren.

Auch ältere Anwendungen können durch Partitionierung in ein neues Softwaredesign integriert werden. Bei solchen Anwendungen wurde der Code oft nur mit Blick auf die funktionale Sicherheit geschrieben und hält einer Sicherheitsbewertung nicht stand. Ein Separationskernel kann solche Anwendungen vollständig kapseln und sie von außerhalb der Gerätegrenzen oder aus der Perspektive anderer Partitionen auf demselben Gerät unsichtbar machen. Zu diesem Zweck wird ein sicheres Gateway mit einer Firewall und einem Intrusion Detection System eingerichtet, und die Legacy-Anwendung kommuniziert mit dem Gateway nur über spezielle, überwachte Kommunikationskanäle.

Für Legacy-Anwendungen spielt es keine Rolle, ob sie zuvor auf Bare Metal liefen oder ein Betriebssystem verwendeten. Dadurch können Gastbetriebssysteme im Paravirtualisierungs- oder Hardwarevirtualisierungsmodus ausgeführt werden, wobei die Echtzeitfähigkeit erhalten bleibt. So bleibt der Betreiber unabhängig von nicht mehr vorhandenen Hardwareplattformen.

PikeOS

PikeOS von SYSGO unterstützt eine breite Palette von Hardware-Architekturen und bietet Schnittstellen für eine Vielzahl von Gastbetriebssystemen. Der Separationskernel verfügt über ein integriertes Linux-Gastbetriebssystem zur Einbindung von Linux oder anderen Open-Source-Funktionen wie Netzwerk, GUI oder Webserver. Proprietäres geistiges Eigentum, Echtzeitfunktionen und sicherheitskritische Anwendungen laufen in separaten Partitionen. Anwendungen mit unterschiedlichen Kritikalitäts- und Sicherheitsstufen werden sicher in separaten Partitionen getrennt und separat zertifiziert. Da es sich bei PikeOS um eine europäische Technologie handelt, unterliegt es keinen Exportbeschränkungen und kann daher weltweit eingesetzt werden.

Mehr Informationen unter www.sysgo.com/pikeos

Article Translations

Secure Factory Automation

PikeOS RTOS & Hypervisor

PikeOS
RTOS & Hypervisor

Learn more

PikeOS for MPU

PikeOS for MPU

Learn more

ELinOS Embedded Linux

ELinOS
Embedded Linux

Learn more

Need more Information?


Contact us