Um Steuerungen vor Angriffen zu schützen, braucht es keine zusätzliche Hardware; Sicherheit lässt sich auch mit virtuellen Security Appliances realisieren.

Um Steuerungen vor Angriffen zu schützen, braucht es keine zusätzliche Hardware; Sicherheit lässt sich auch mit virtuellen Security Appliances realisieren.Shutterstock.com

Sicherheitslösungen mit eigenständigen Geräten haben den Vorteil die Schutzfunktion von der Anwendung physikalisch zu trennen, sodass sie einander nicht beeinflussen. Außerdem können sie den jeweiligen Kernkompetenzen entsprechend getrennt entwickelt werden. Wegen der zusätzlich benötigten Hardware scheitert ihr Einsatz aber häufig an Kostenrestriktionen.

Gleichzeitig wird das Preis-Leistungs-Verhältnis von Prozessoren, Speichern und Peripheriebauteilen immer besser – und das wird sich aufgrund des Mooreschen Gesetzes auch nicht ändern. Deswegen verlagern sich Hardware-Funktionen in die Software. Nur der Zwang zur Modularisierung begrenzt diesen Trend, denn ohne Modularisierung lassen sich technische Risiken nicht beherrschen und Subsysteme verschiedener Zulieferer nicht zusammenführen. Virtualisierung ist der Schlüssel, um die Kostenvorteile weiterer Hardware-Konsolidierung bei gleichzeitiger Modularisierung nutzen zu können. Dies führt zum Konzept virtueller Security Appliances für die industrielle Automation.

Der Hypervisor hat die Oberaufsicht

Virtualisierung von Client- und Server-Systemen ist in der Unternehmens-IT heute Stand der Technik. Typischerweise werden die virtuellen Systeme im Netzwerk auf einer Server-Farm betrieben. Die Bereitstellung und der koordinierte Betrieb virtueller Maschinen auf einer gemeinsamen Hardware erfolgen dabei durch eine als Hypervisor oder Virtual Machine Monitor genannte Software.

Die Profinet-Steuerung wurde durch das Laufzeitsystem Proconos von KW-Software unter VxWorks realisiert, dessen Ressourcenbedarf bei etwa 1,5 MB liegt. Die zur Para-Virtualisierung notwendigen Eingriffe erfolgen nur in VxWorks.

Die Profinet-Steuerung wurde durch das Laufzeitsystem Proconos von KW-Software unter VxWorks realisiert, dessen Ressourcenbedarf bei etwa 1,5 MB liegt. Die zur Para-Virtualisierung notwendigen Eingriffe erfolgen nur in VxWorks.Innominate

Es werden zwei Typen von Hypervisoren unterschieden: Ein Typ 1 Hypervisoren läuft direkt auf der Hardware und koordiniert nur die vorhandenen Hardware-Ressourcen. Ein Typ 2 Hypervisoren läuft dagegen als Applikation in einem Wirtssystem. Der Nachteil: Die Performance sinkt durch die zusätzliche Betriebssystemschicht.

Zusätzlich kommen zwei Virtualisierungstechniken zum Einsatz: Hardware- und Para-Visualisierung. Bei der Hardware-Virtualisierung wird dem Gastsystem ein vollständiger, eigener Computer vorgegaukelt. Das Gastsystem verwaltet seine Prozesse und die dazugehörige Zeiteinteilung (Multitasking) weiterhin. Eine Echtzeitfähigkeit ist hierdurch allerdings nicht möglich. Außerdem kann das Gastsystem je nach Plattform und Implementierung zum Teil direkt auf unterliegende Hardware-Komponenten zugreifen. Andere Komponenten werden komplett simuliert, wodurch ein sehr komplexer Hypervisor notwendig ist.

Bei der Para-Virtualisierung wird das Gastsystem modifiziert, um besser mit dem Hypervisor kooperieren zu können. Multitasking und Speicherverwaltung lassen sich so enger verflechten. Dadurch ist das System Echtzeit-fähig. Die interne Kommunikation zwischen Gastsystemen untereinander oder zwischen Gastsystem und Hypervisor erfolgt über spezialisierte Schnittstellen.

Da die in der Automatisierung eingesetzten Systeme auf dedizierter Hardware ohne den Eingriff eines Admins arbeiten, hat typischerweise mindestens eine Komponente Echtzeitanforderungen. Von den beiden Virtualisierungstechniken kommt daher vorrangig die Para-Virtualisierung infrage.

Konzept in der Praxis umgesetzt

Der Demonstrator verbindet eine echtzeitfähige Profinet-Steuerung mit einer Security Appliance als Firewall und Fernwartungslösung.

Der Demonstrator verbindet eine echtzeitfähige Profinet-Steuerung mit einer Security Appliance als Firewall und Fernwartungslösung.Innominate

Bei dem von Innominate entwickelten Hypersecured-Konzept werden Automatisierungskomponenten, zum Beispiel eine Steuerung, und eine Security Appliance als jeweils eigenständige virtuelle Maschinen nach dem Prinzip der Para-Virtualisierung mit einem Typ 1 Hypervisor auf einer Hardware integriert. Die Steuerung lässt sich so effizient vor unbefugten Zugriffen und Angriffen durch Schadsoftware schützen.

Um die Realisierbarkeit dieses Konzepts zu demonstrieren, hat Innominate eine Muster-Implementierung eines Hypersecured PLC auf Basis seiner Mguard-Technologie und Komponenten von Wind River und KW-Software entwickelt. Der Demonstrator verbindet eine echtzeitfähige Profinet-Steuerung mit einer Security Appliance als Firewall und Fernwartungslösung.

Die Kommunikation zwischen Steuerung und den Komponenten der Profinet-Zelle findet in einem eigenen Ethernet-Netzwerk statt, das keine weitere Verbindung nach außen hat. Dies stellt die zeitkritische Kommunikation innerhalb der Zelle sicher. Die Kommunikation zwischen Steuerung und Außenwelt für Projektierung und andere Verbindungen ohne Echtzeitanforderung erfolgt durch die Security Appliance. Die interne Kommunikation zwischen Steuerung und Security Appliance übernimmt  eine virtuelle Netzwerkschnittstelle.

Als Hardware kommt eine Embedded-PC-Baugruppe auf Basis eines Intel-Atom-Z530-Single-Core-Prozessors mit 1,6 GHz, 512 MB RAM und zwei Gigabit-Ethernet Ports zum Einsatz. Der verwendete Wind River Hypervisor vom Typ 1 für echtzeitfähige Para-Virtualisierung ist mit rund 0,5 MB Codegröße kompakt. Der Hypervisor bildet den Prozessorkern auf zwei virtuellen Boards ab. Die Zeitschlitze für die virtuellen Maschinen werden nach einem statischen Modell zugewiesen, sodass ein definiertes Zeitverhalten vorliegt. Die notwendigen Peripheriekomponenten, insbesondere Netzwerkschnittstellen, werden den einzelnen virtuellen Maschinen inklusive I/O-Speicherbereichen und Interrupts direkt und exklusiv zugewiesen.

Die Profinet-Steuerung wurde durch das Laufzeitsystem Proconos von KW-Software unter VxWorks realisiert, dessen Ressourcenbedarf bei etwa 1,5 MB liegt. Die zur Para-Virtualisierung notwendigen Eingriffe erfolgen nur in VxWorks und bleiben für das Laufzeitsystem transparent.

Security Appliance blockt die Angriffe

Für die Para-Virtualisierung einer Mguard Security Appliance mussten die Ingenieure den  Linux-Kern der Mguard Firmware ändern. Die Systemkonfiguration wurde an die virtuelle Maschine angepasst und für die x86-Architektur ein Speicherbedarf von 128 MB eingestellt. Die virtuelle Security Appliance schützt die Steuerung, da durch die exklusive Zuweisung der Netzwerkschnittstellen nur sie mit dem externen Netz in Kontakt kommt. Auch der Schutz gegen Denial-of-Service-Attacken greift aufgrund der direkten Hardware-Kontrolle: Im Extremfall können höchstens der Mguard überlastet und externe Pakete verzögert oder verworfen werden. Aufgrund der vollständigen Trennung hinsichtlich Speicher und Rechenzeit durch den Hypervisor bleibt die Steuerung hiervon unbeeinträchtigt.

Zugriffe auf die Steuerung werden durch die Firewall blockiert, solange nicht eine spezielle Ausnahme dafür autorisiert wird; etwa vom Projektierungsrechner aus. Durch die integrierte Virtual-Private-Network-Funktion (VPN) mit IPsec-Authentifizierung und Verschlüsselung lässt sich auch aus der Ferne gesichert auf die Steuerung zugreifen, wobei die Secutity Appliance den VPN-Tunnel öffnet und schließt. Die Steuerungssoftware sieht nur die normale IP-Kommunikation.

Das Konzept ist jedoch nicht auf zwei virtuelle Maschinen beschränkt. Es eröffnet Perspektiven für die geschützte Integration weiterer Komponenten und Betriebssysteme, zum Beispiel von Mensch-Maschine-Schnittstellen, die häufig unter Microsoft Windows laufen. Jenseits mehrerer virtueller Boards auf einem CPU-Kern lässt sich die Leistung durch Mehrkern-Prozessoren weiter steigern.