HyperSecured PL
Virtuelle Security für
Automatisierungslösungen
Mit der konsequenten Vernetzung von Maschinen und Anlagen ergeben sich neue Möglichkeiten zur Fernwartung, aber auch neue Herausforderungen im Bereich der Netzwerksicherheit. Die physikalische Trennung der Funktionen von Steuerung oder HMI und einer Appliance für die Netzwerksicherheit bieten den Vorteil der vollständigen Kapselung: Die jeweiligen Funktionen beeinflussen einander nicht. Nachteilig sind jedoch die entstehenden zusätzlichen Kosten. Um die Kostenvorteile der immer weiter entwickelten Halbleiterprodukte bei gleichzeitiger Modularisierung nutzen zu können, bieten sich Virtualisierungslösungen an.
Die Virtualisierung von Servern in IT-Landschaften ist heute Stand der Technik. Ziel ist dabei, neben der effizienten Nutzung von Hardware insbesondere die Trennung der Aufgabe von der darunterliegenden Hardware. Der virtualisierte Server soll möglichst nicht von einer speziellen Hardware abhängig sein, sondern auf einer virtualisierten Hardware laufen, die herstellerunabhängig ist und eine beliebige Migration erlaubt. Typischerweise werden die virtuellen Server im Netzwerk auf einer Computerfarm mit gemeinsamer Storage-Lösung betrieben. In der Steuerungstechnik liegen die Anforderungen anders. Die hierbei eingesetzten Systeme arbeiten auf dedizierter Hardware ohne Operatoreingriff. Typischerweise hat mindestens eine Komponente Echtzeitanforderungen.
Anforderungen in der Steuerungstechnik
Bei der Hardwarevirtualisierung wird dem Gastsystem ein vollständiger eigener Computer vorgegaukelt. Das Gastsystem behält seine eigene Zeitscheibenverwaltung, eine Echtzeitfähigkeit ist hierdurch nicht möglich. Das Gastsystem kann je nach Implementierung auf unterliegende Hardwarekomponenten direkt zugreifen. Andere Komponenten werden komplett simuliert, wodurch ein sehr komplexer Hypervisor, beziehungsweise ein Wirtssystem mit Virtualisierungslösung notwendig wird. Bei der Paravirtualisierung wird das Gastsystem modifiziert, um besser mit dem Hypervisor oder Wirtssystem kooperieren zu können. Zeitscheiben- und Speicherverwaltung können enger miteinander verflochten werden, sodass Echtzeitverhalten erzielt werden kann. Die interne Kommunikation zwischen Gastsystemen oder Gastsystem und Hypervisor erfolgt über effiziente spezialisierte Schnittstellen. Der Hypervisor ist die Virtualisierungssoftware, die die virtuelle Maschine bereitstellt. Es gibt zwei unterschiedliche Typen. Typ 1 Hypervisoren laufen direkt auf der Hardware und koordinieren nur die vorhandenen Hardwareressourcen. Soll der Hypervisor selbst auf Hardware zugreifen können, muss er über entsprechende Treiber verfügen. Typ 2 Hypervisoren laufen selber als Applikation in einem Wirtssystem. Der Hypervisor kann sich der Treiber des Wirtssystems bedienen, die erzielbare Performance sinkt aber durch die zusätzliche Betriebssystem-Schicht.
Vorteile der Virtualisierung
Die Virtualisierung bringt zwei wesentliche Vorteile mit sich. Zum einen eine Konsolidierung, da bisher auf verschiedenen Geräten laufende Software auf einer CPU zusammengefasst wird. Zweitens eine Separierung, da die unterschiedlichen virtualisierten Applikationen getrennte Ressourcen haben, die komplett unabhängig voneinander verwaltet werden. Dies schafft eine sehr gute Voraussetzung, um Security-Funktionalität effizient in ein Gerät zu integrieren.
Gemeinsame Technologieplattform
KW-Software und Innominate beschlossen Anfang 2010 ihre Technologien IEC61131, Safety, Profinet und Security zu einer gemeinsamen Technologieplattform zusammenzufügen, um dem Markt eine gegen Hacker, Schadsoftware und Know-how-Diebstahl geschützte Automatisierungslösung anzubieten. Durch die bis zu diesem Zeitpunkt häufig nur unter der Hand bekannten Fälle von Angriffen auf Automatisierungsanlagen war zu erwarten, dass das Thema Security in der Automation bald eine bedeutende Rolle einnehmen würde. Das Auftreten des Stuxnet Wurms hat diese Einschätzung schneller als erwartet bestätigt. Unter dem Motto ‚Security meets Automation‘ präsentieren beide Firmen Technologien und Lösungen für die industrielle Netzwerksicherheit. KW-Software und Innominate sind Schwesterunternehmen in der Phoenix Contact Gruppe, somit lag es nahe, die Softwaretechnologien beider Firmen zu kombinieren. Zusätzlich ist KW-Software strategischer Partner im Wind River Partner ECO-System für die Bereiche IEC61131 und Profinet, sodass die zur Virtualisierung benötigte Basistechnologie und entsprechender Support zur Verfügung standen. Wind River bietet mit dem Hypervisor eine vorhandene Basis-Technologie an, die die bestehenden Komponenten besonders gut integrieren kann. Die Security Appliance läuft unter Linux, die IEC61131 Steuerung und der Profinet Stack unter VxWorks. Zusätzlich können auf derselben CPU noch weitere, z.B. Windows-basierte Systeme ausgeführt werden.
Virtualisierung für die Automation
In einem gemeinsamen Exponat machen die Technologiepartner den Trend zur Virtualisierung und Hardware-Konsolidierung auch für Automatisierungsanwender praktisch greifbar. Auf einem Embedded-IPC mit Hypervisor wurden erstmals eine Profinet-fähige Software-SPS und eine Security Appliance als virtuelle Maschinen zu einer gegen Netzwerkangriffe gesicherten Steuerungslösung integriert. In der Beispiel-Implementierung war die zu lösende Aufgabe die Kombination einer echtzeitfähigen Profinet-Steuerung mit einer Security-Appliance als Firewall und Fernwartungslösung. Die Profinet-Kommunikation zwischen der Steuerung und den anderen Komponenten findet bei dieser Lösung in einem eigenen Ethernet-Netzwerk statt, welches keine weiteren Verbindungen nach außen hat. Hierdurch ist die zeitkritische Kommunikation jederzeit sichergestellt, da keinerlei Störungen aus anderen Bereichen einwirken können. Die Kommunikation der Steuerung zur Außenwelt (Statusinformationen, Konfiguration) erfolgt durch die Security-Appliance hindurch. Der Rechner mit der Programmiersoftware und andere Komponenten befinden sich im ungesicherten Bereich. Die interne Kommunikation zwischen der Steuerung und der Security Appliance erfolgt rein Netzwerk-basiert mittels einer virtuellen Netzwerkschnittstelle.
embedded-PC mit Hypervisor
Auf einem Embedded-PC mit Hypervisor, bestehend aus einer CPU-Platine mit einem Trägerboard für die Peripherieanschlüsse, werden eine Profinet-fähige Software-SPS und eine Security-Appliance als virtuelle Maschine zu einer gegen Angriffe geschützte Steuerungslösung integriert. Die Hardware ist lüfterlos und ohne drehende Teile, bei Gesamtabmessungen von 120x70cm², und basiert auf einem Intel Atom Z530 CPU mit 1,6GHz (1 Core), der durch den Hypervisor für zwei virtualisierte Anwendungen aufgeteilt wird.
Ressourceschonender Hypervisor
Der Wind River Hypervisor ist als Typ 1 Hypervisor mit ca. 0,5 MB sehr ressourcenschonend, die Umsetzung der echtzeitfähigen HyperSecured PLC erfolgt mittels Paravirtualisierung. Für die Lösung der Aufgabenstellung wird der einzelne CPU Core durch den Hypervisor auf zwei virtuelle Boards abgebildet. Die Zuweisung der Zeitscheiben für die virtuellen Maschinen erfolgt mittels eines statischen Modells, sodass ein definiertes Zeitverhalten erzielt wird. Die für den Betrieb notwendigen Peripheriekomponenten, insbesondere die Netzwerkschnittstellen, werden den einzelnen virtuellen Maschinen direkt zugewiesen. So wird der I/O-Speicherbereich zugeordnet und die Interrupts werden exklusiv durch die virtuelle Maschine bedient.
mGuard Security Appliance
Die Security Anwendung, der virtuelle mGuard, liegt auf der ‚unsicheren‘ Seite. Die Security-Anwendung wird unter Linux ausgeführt und überwacht die Kommunikation mit dem Netzwerk. Ein Zugriff auf die Steuerung wird durch die mGuard-Firewall blockiert, solange nicht eine spezielle Regel für den Zugriff vom Projektierungsrechner aktiviert wird. Durch die direkte Hardware-Zuweisung der Netzwerkschnittstellen gerät nur der mGuard mit dem unsicheren Netzwerk in Kontakt. Probleme im Netzwerkstack einer anderen Appliance oder eines Wirtssystems sind daher ausgeschlossen. Im Extremfall eines Denial of Service (DoS)-Angriffs könnte höchstens der mGuard komplett überlastet und Pakete verworfen oder ausgebremst werden. Aufgrund der vollständigen Trennung der Systeme hinsichtlich Speicher und Rechenzeit durch den Hypervisor bleibt die Funktion der Steuerung hierdurch aber unbeeinträchtigt. Durch die integrierte Virtual Private Network (VPN)-Funktion per IPsec mit sicherer Authentifizierung und Verschlüsselung kann der Zugriff auf die Steuerung auch aus der Ferne erfolgen, wobei der VPN-Tunnel vom mGuard terminiert wird. Die Steuerungssoftware sieht nur normale IP-Kommunikation. Zur Paravirtualisierung mussten Änderungen am Linux-Kern vorgenommen werden, außerdem wurde die Systemkonfiguration auf die virtuelle Maschine angepasst. Für die x86-Architektur ist der mGuard auf einen Speicherbedarf von 128MB konfiguriert.
Profinet-SPS unter VxWorks
Die Profinet-SPS als zweite Anwendung wird durch das Laufzeitsystem ProConOs unter VxWorks realisiert und kommuniziert mit der Außenwelt nur über den mGuard. Zur IEC 61131 Programmierung und Profinet-Konfiguration wird ein Desktop-PC verwendet. Der mGuard wird über das Web Interface im Browser konfiguriert. Die Steuerung kommuniziert zur Laufzeit über ein separiertes und exklusives Ethernet-Netzwerk mit weiteren Profinet-Komponenten. Der Zugang zum externen Netzwerk, zur Programmierung und Statusüberwachung erfolgt durch die Security Appliance und wird mittels einer virtuellen Netzwerkstelle geschützt. Der Ressourcenbedarf der Steuerung liegt bei ca. 1,5MB. Die zur Paravirtualisierung notwendigen Eingriffe erfolgen nur in VxWorks. Für das Laufzeitsystem war die Einbindung in die Gesamtlösung transparent. Für die Integration der Gesamtlösung mussten die virtuellen Appliances zusammengebunden werden, wobei die virtuellen Maschinen getrennt und unabhängig bereitgestellt wurden. Eine Beeinflussung untereinander fand also nicht statt. Die vorgestellte Musteranwendung ist problemlos auf weitere Anwendungen skalierbar. Auf einem Single-Core-System lässt sich die Hardware in mehrere virtuelle Boards unterteilen. Durch die Verwendung eines Multi-Core-Prozessors kann die Performance erheblich gesteigert werden und durch die Verwendung weiterer virtueller Boards und die Unterstützung zusätzlicher Betriebssysteme z.B. unter Ausnutzung von Hardware-Virtualisierung lassen sich weitere Komponenten integrieren.
Warum gibt es das bis dato noch nicht?
Bislang konnte eine sichere Steuerungslösung mit jeweils dedizierter Hardware für eine SPS und eine Security-Appliance aufgebaut werden. Durch den Trend zur Virtualisierung lassen sich jetzt kostengünstigere auf einer CPU integrierte Lösungen schaffen. Als Vorrausetzung dafür werden Hardware-unabhängige Software-Komponenten und industriell nutzbare Hypervisoren benötigt. Diese Technologien und für die Virtualisierung geeignete Embedded-Hardware stehen erst seit kurzem zur Verfügung.
Verhalten der HyperSecured PLC bei einem Stuxnet Angriff
Der original Stuxnet Wurm war auf Projektierungssoftware und Steuerungen von Siemens spezialisiert und hätte daher für unseren HyperSecured PLC keine Bedrohung dargestellt. Aber auch ein Stuxnet-artiger Angriffsversuch auf unsere Laufzeit-Komponenten hätte beim HyperSecured PLC wenig Aussicht auf Erfolg. Die virtuelle mGuard-User-Firewall verhindert unbefugte Projektierungszugriffe auf die Steuerung, und das mGuard-Integrity-Monitoring-Verfahren deckt Manipulationen an Engineering-PCs – selbst durch bislang unbekannte Schadsoftware – zeitnah auf.
Autor: Boris Waldeck, Head of Sales and Marketing, KW-Software













