Die heutige Industrie 4.0 stellt den Anwender im Vergleich zu einer typischen IT-Server-Umgebung vor anders gelagerte Herausforderungen. Ein Industrie-4.0-Netzwerk besteht aus vielen miteinander verbundenen Geräten, die an verschiedenen Orten verteilt sind und nur selten oder gar nicht von Menschen bedient werden. Diese vernetzten Geräte befinden sich nicht in einem abgeschlossenen Serverraum, zu dem nur IT-Mitarbeiter physischen Zugang haben und wo sich eine sichere Umgebung rund um das Netzwerk aufbauen lässt. Nein, diese elektronischen Geräte sind über weite geografische Gebiete verteilt und führen eine Vielzahl von Funktionen aus, zum Beispiel erfassen, sammeln, verwalten, steuern, verarbeiten und interpretieren sie Daten (Bild 1). Viele dieser Geräte sind auf dem Markt frei verfügbar. Und als Ergebnis könnte ein Angreifer ein Gerät erwerben und versuchen, es zu hacken und/oder rückzuentwickeln. Dies würde eine vernetze Infrastruktur für eine Reihe neuer gefährlicher Angriffswege öffnen.

Softwareentwickler und Hersteller oder Integratoren von Geräten müssen erkennen, dass sie nicht nur die Kommunikationsaspekte dieser Geräte absichern müssen, sondern auch die Geräte selbst.

Authentifizierung

Bild 1: Die schnelle, kontinuierliche Weiterentwicklung von Industrie 4.0 erfordert intelligentere Gateways und Edge-Devices mit einer umfassenden Sicherheitsstrategie. Mentor

Authentifizierung

Bild 2: Zur Code-Authentifizierung sind ein öffentlicher und ein privater Schlüssel erforderlich. Da das Schlüsselpaar mathematisch verknüpft ist, kann alles was mit einem öffentlichen Schlüssel verschlüsselt ist, nur von dem entsprechenden privaten Schlüssel entschlüsselt werden – und umgekehrt. Mentor

Sicherheit ist ein großes Thema. Sie beginnt bei der Konzeption eines Geräts und erstreckt sich über Planung, Prozess, Aktivitäten und Technologie. Der vorliegende Beitrag konzentriert sich auf eine Handvoll von Schlüsseltechnologien, die beim Aufbau sicherer Industrie-4.0-Infrastrukturen hilfreich, wenn nicht sogar entscheidend sind.

Sicherheit durch Authentifizierung

Die Code-Authentifizierung ist im Wesentlichen eine Authentifizierung des binären Betriebssystem-Images. Indem sie ihre Systeme entsprechend einrichten, können Entwickler gewährleisten, dass jeder geladene Code von einer sicheren Quelle stammt. Entwickler müssen aber auch untersuchen, ob irgendein Teil des Codes verändert wurde. Die Code-Authentifizierung (Bild 2) und die Authentifizierung des sicheren Bootens (Bild 3) sind grundlegende Schritte zur Absicherung von vernetzten Embedded-Geräten.

Authentifizierung

Bild 3: Die Authentifizierung des sicheren Bootens beginnt mit der Ausführung eines First-Stage-Boot-Loaders, der in einem sicheren Flash-Speicher gespeichert ist und von Trusted-Platform-Module (TPM) -Hardware zur Verfügung gestellt wird. Mentor

Eck-DAten

Die zunehmende Vernetzung stellt IT-Infrastrukturen vor neue Herausforderungen. Für die Entwicklung von Sicherheitsfunktionen für End-Point-Systeme oder Edge-Devices können viele der bewährten Sicherheitsfunktionen verwendet werden, die andere elektronische Systemdesigns seit Jahren nutzen. Dies sind jedoch grundlegende Sicherheitsfunktionen, die heute jedes vernetzte Gerät in irgendeiner Form aufweisen muss. Für den Aufbau einer sicheren Industrie 4.0-Infrastruktur bietet der Software-Hersteller Mentor Entwicklern Tools, Betriebssysteme, Plattformen und Dienstleistungen an.

Sobald die erste Boot-Phase bestätigt wurde, setzt der Prozess den Aufbau einer Vertrauenskette fort. Durch Nutzung der gleichen öffentlichen/privaten Schlüssel lassen sich die nachfolgenden ausführbaren Module herunterladen, verifizieren, laden und ausführen (Bild 4). Interessanterweise kann der Entwickler mit dieser Strategie Sicherheit weit über das eingebettete Gerät hinaus gewährleisten. Ein Beispiel sind Binärdateien für die Anbindung an die Cloud, wie zum Beispiel die Microsoft Azure-SDK-Binärdateien. Diese hat Mentor in das Echtzeitbetriebssystem Nucleus (RTOS) und Mentor Embedded Linux integriert. Wenn diese Binärdateien beeinträchtigt werden, wird die Integrität dieser Cloud-Integration womöglich infrage gestellt.

Authentifizierung

Bild 4: Die „Vertrauenskette“ beginnt an der Basis, der Hardware. Der Prozess startet mit dem Authentifizierungsschritt und gewährleistet so, dass die Hardware den Boot-ROM authentifiziert. Der Boot-ROM authentifiziert dann das Betriebssystem und anschließend authentifiziert das Betriebssystem die Anwendungsebene. Mentor

Prozesstrennung mittels MMU und MPU

Viele der heute verfügbaren SoCs bieten eine verbesserte Systemleistung zur Ausführung robuster Anwendungen. Da Größe, Leistungsaufnahme und Kosten immer weiter reduziert werden, müssen Softwareentwickler komplexe Applikationen mit begrenzten Speicherressourcen ablaufen lassen. Hier kommt die Trennung von Prozessen am besten zum Einsatz. Obwohl die Prozesstrennung mittels System-MMU oder MPU keine Garantie für Sicherheit bietet, sorgt sie dafür, dass fehlerhafte Anwendungen keine anderen Anwendungen oder den Kernel selbst beeinträchtigen.

In einem vollständig unterstützten Echtzeit-Betriebssystem (RTOS) wie dem Nucleus-RTOS von Mentor bietet das Prozessmodell einen leichtgewichtigen Ansatz für die Partitionierung, der geschützte Speicherbereiche zur vollständigen Isolierung von Kernel und Middleware-Ressourcen erzeugt. Auf diese Weise können etwa Scribbler oder Stapelüberläufe, die sich im Anwendungscode befinden, den Betrieb der Systemsoftware nicht mehr länger beeinträchtigen oder beschädigen. Unter Verwendung der MMU oder MPU partitioniert das Nucleus-Prozessmodell den Speicher und erzeugt ohne Speichervirtualisierung geschützte Speicherbereiche. Dies ist äußerst wichtig für platzbeschränkte Anwendungen, wo es auf einen minimalen Footprint ankommt. Die Speicherpartitionierung bietet den Rahmen, um mit Cloud-Diensten neue Anwendung zu laden oder die Möglichkeit, große Algorithmen in kleinere Komponenten aufzuteilen, die sich kurz vor der Ausführungszeit laden lassen.

Ein sicherheitszertifiziertes Betriebssystem verwenden

Wie bei der Verwendung eines Prozessmodells garantiert das Ablaufen eines sicherheitszertifizierten Betriebssystems an sich noch keine Sicherheit. Auf Grundlage einer sicherheitszertifizierten Basis können Entwickler sich jedoch darauf verlassen, dass sich der Code wie beabsichtigt verhält und die Zuverlässigkeit des Systems verbessert wird. Sicherheitszertifizierte Umgebungen vermeiden Situationen, die von Softwarefehlern herrühren, welche sich über das System verbreiten und zu Sicherheitslücken in damit nicht zusammenhängenden Codebereichen führen.

Nucleus RTOS Safetycert verkürzt mit einer vollständig zertifizierten Lösung, die alle erforderlichen Dokumentationen und Artefakte enthält, den Weg zur behördlichen Zertifizierung. Anwender brauchen diese Zertifizierung für die Entwicklung kritischer Applikationen. Diesem sicherheitszertifizierten RTOS wurde bescheinigt, dass es die Anforderungen für IoT-Geräte erfüllt, die eine Zertifizierung gemäß International Electrotechnical Commission (IEC) Standard 61508 SIL 3 benötigen.

Die ARM-Trustzone-Architektur bietet eine Lösung zur Unterteilung der SoC-Hardware. Dazu definiert sie Prozesse, Peripheriekomponenten, Speicheradressen und sogar Bereiche des L2-Cache als „sicher“ und „nicht sicher“ ablaufende Hardware. Ein SoC mit ARM-Trustzone-Technologie kann mit nur wenigen Taktzyklen Verzögerung ein System dynamisch in eine „sichere Welt“ überleiten, wo ein Teil der Hardware partitioniert ist und Daten und Verarbeitung für den Rest des Systems vollkommen unsichtbar sind. Mit der von der ARM-Trustzone definierten und umgesetzten „normalen Welt“ (oder „nicht sicheren Welt“) kann ein Hardware-Teilbereich auf dem SoC festgelegt und für nicht sichere Verarbeitung genutzt werden.

Ein Anwendungsbeispiel für die Arm-Trustzone-Technologie in einem Industrie-4.0-Netzwerk ist ein Gateway. Hier muss der Operator Produktionsanlagen wie etwa Sensoren oder Steuerungen von den SCADA- und MES-Funktionen trennen. In dieser Architektur kann die gesamte Konnektivität und Datenverarbeitung in der sicheren Welt stattfinden, während die Kommunikation mit den oberen Schichten des Fabriknetzwerkes in der normalen Welt erfolgt. Auf diese Weise lassen sich wichtige Informationen immer noch über das Netzwerk übertragen, Malware oder Fehlalarme auf der Unternehmensschicht haben jedoch keinen Einblick in die Produktionsanlagen (Bild 5).

Authentifizierung

Bild 5: Mithilfe der ARM Trustzone lassen sich Industrie-4.0-Produktionsanlagen in eine sichere und eine normale Welt trennen. Wichtige Komponenten und Daten können vor dem breiten industriellen Netzwerk verborgen werden, wo MES- und SCADA-Systeme laufen und die „Angriffsfläche“ viel größer ist. Mentor

Es ist wichtig zu verstehen, dass die ARM-Trustzone nur wenig zur Verbesserung der Safety oder Security von Software in der sicheren Welt beiträgt, außer unerwünschten Zugriff auf die sichere Welt durch Software aus der normalen Welt zu verhindern. Es versteht sich von selbst, dass für eine vollständig vertrauenswürdige, sichere Welt das System zunächst in einen vertrauenswürdigen Zustand booten muss. Darüber hinaus ist es der Entwickler, der durch gründliche Entwicklungsprozesse, Tests, Zertifizierung und Unterstützung einer Strategie der „Vertrauenskette“ in der sicheren Welt festlegt, welche Software „vertrauenswürdig“ ist.