Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUTOMATION SYSTEM AND METHOD FOR OPERATING SAME
Document Type and Number:
WIPO Patent Application WO/2016/081970
Kind Code:
A1
Abstract:
The invention relates to an automation system which, according to an exemplary embodiment, comprises at least one programmable logic controller designed to communicate, via a data bus, with at least one system to be controlled, using a second communication protocol. The automation system further comprises at least one SCADA system which is designed to communicate with the programmable logic controller via a network and while using a first communication protocol, data being transmitted between the SCADA system and the programmable logic controller, said data containing operating information on nominal and/or actual states of the plant. The automation system comprises a monitoring unit, which is designed to extract the operating information from the data transmitted between the SCADA system and the programmable logic controller and to compare said operating information with a specification of admissible states of the plant.

Inventors:
NADERHIRN MICHAEL (AT)
Application Number:
PCT/AT2015/050300
Publication Date:
June 02, 2016
Filing Date:
November 25, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
S&T AG (AT)
International Classes:
G05B19/042
Foreign References:
US20120304007A12012-11-29
US20070162957A12007-07-12
Other References:
None
Attorney, Agent or Firm:
WESTPHAL, MUSSGNUG & PARTNER, PATENTANWÄLTE M.B.B. (DE)
Download PDF:
Claims:
Patentansprüche :

1. Automatisierungssystem, welches folgendes aufweist:

mindestens eine speicherprogrammierbare Steuerung (20), welche dazu ausgebildet ist, über einen Datenbus mit mindestens einer zu steuernden Anlage (30) unter Verwendung eines zweiten Kommunikationsprotokolls zu kommunizieren;

mindestens ein SCADA-System (10), welches dazu ausgebildet ist, mit der speicherprogrammierbaren Steuerung (20) über ein Netzwerk und unter Verwendung eines ersten Kommunikationsprotokolls zu kommunizieren, wobei zwischen dem SCADA- System (10) und der speiche rogrammierbaren Steuerung (20) Daten übertragen werden, welche Betriebsinformationen über Soll- und/oder Ist-Zustände der Anlage (30) beinhalten; und

eine Überwachungseinheit (15), welche dazu ausgebildet ist, aus den zwischen dem SCADA-System (10) und der speicherprogrammierbaren Steuerung (20) übertragenen Daten die Betriebsinformationen zu extrahieren und diese mit einer

Spezifikation zulässiger Zustände der Anlage (30) zu vergleichen.

2. Automatisierungssystem gemäß Anspruch 1,

wobei gemäß dem ersten Kommunikationsprotokoll zwischen dem

SCADA-System (10) und der speicherprogrammierbaren Steuerung (20) Datenpakete übertragen werden, welche Schreib- und Lesekommandos zum Schreiben bzw. Lesen von mindestens einem Register der speicherprogrammierbaren Steuerung (20) sowie korrespondierende Antwortnachrichten beinhalten, und/oder

wobei von der speiche rogrammierbaren Steuerung (20) ein oder mehrere Steuersignale (X) an die zu steuernden Anlage (30) und/oder wobei von der zu steuernden Anlage (30) ein oder mehrere Feedbacksignale (Y) an die speicherprogrammierbare Steuerung (20) übertragen werden.

3. Automatisierungssystem gemäß Anspruch 1 oder 2,

bei dem das zweite Kommunikationsprotokoll ein echtzeitfähiges

Kommunikationsprotokoll, insbesondere ein echtzeitfähiges Feldbusprotokoll ist, und/oder bei dem das erste Kommunikationsprotokoll ein nicht echtzeitfähiges Kommunikationsprotokoll, insbesondere ein auf TCP/IP basierendes

Kommunikationsprotokoll, z.B. das Modbus/TCP Protokoll ist.

4. Automatisierungssystem gemäß einem der Ansprüche 1 bis 3, bei dem die extrahierten Betriebsinformationen über Soll- und/oder Ist-Zustände der Anlage (30) zumindest einen der folgenden Parameter umfassen:

Sollwert einer Auslenkung mindestens eines Aktors des Anlage (30); Istwert einer Auslenkung mindestens eines Aktors des Anlage (30).

5. Automatisierungssystem gemäß einem der Ansprüche 1 bis 4, bei dem die Spezifikation zulässiger Zustände zumindest eines der folgenden Parameterspezifiziert:

maximale Auslenkung mindestens eines Aktors der Anlage (30);

minimale einer Auslenkung mindestens eines Aktors der Anlage (30); maximale oder minimale zeitliche Änderung eines Sollwerts einer

Auslenkung mindestens eines Aktors der Anlage (30);

maximale oder minimale zeitliche Änderung eines Istwerts einer Auslenkung mindestens eines Aktors der Anlage (30).

6. Automatisierungssystem gemäß einem der Ansprüche 1 bis 5, bei dem die

speiche rogrammierbare Steuerung (20) mindestens ein Register aufweist, welches

abhängig von einem, von der Anlage empfangenen Feedbacksignal (Y) der Anlage (30) und/oder

abhängig von einem von dem SCADA-System (10) empfangenen Schreibbefehl beschrieben wird.

7. Automatisierungssystem gemäß einem der Ansprüche 1 bis 6, bei dem die

speicherprogrammierbare Steuerung (20) mindestens ein Register aufweist,

abhängig von dessen Inhalt ein Steuersignal (X) für die Anlage (30) erzeugt wird und/oder

abhängig von dessen Inhalt eine Antwortnachricht auf einen von dem SCADA- System (10) empfangenen Lesebefehl erzeugt wird.

8. Automatisierungssystem gemäß einem der Ansprüche 1 bis 7, bei dem die zu

extrahierenden Betriebsinformationen der Anlage (30) in mindestens einem Register der speiche rogrammierbaren Steuerung (20) gespeichert sind.

9. Automatisierungssystem gemäß einem der Ansprüche 1 bis 8,

bei dem die Überwachungseinheit (15) mit dem Netzwerkt verbunden ist und sowohl mit dem SCADA-System (10) als auch mit der speicherprogrammierbaren Steuerung (20) unter Verwendung des ersten Kommunikationsprotokoll über das Netzwerk kommunizieren kann.

10. Automatisierungssystem gemäß Anspruch 9,

bei dem die Überwachungseinheit (15) so mit dem Netzwerkt verbunden ist, dass die gesamte Kommunikation zwischen dem SCADA-System (10) und der

speiche rogrammierbaren Steuerung (20) über die Überwachungseinheit (15) geleitet wird und folglich von dieser überwacht werden kann.

11. Automatisierungssystem gemäß einem der Ansprüche 1 bis 10, bei dem die

Überwachungseinheit (15), dazu ausgebildet ist,

für die speicherprogrammierbare Steuerung (20) bestimmte Datenpakete zu blockieren, wenn eine daraus extrahierte Betriebsinformation auf einen Zustand der Anlage hinweist, der nicht in einem durch die Spezifikation definierten zulässigen Bereich liegt; oder

einen Alarm auszulösen, wenn aus einem Datenpaket extrahierte

Betriebsinformation auf einen Zustand der Anlage hinweist, der nicht in einem durch die Spezifikation definierten zulässigen Bereich liegt.

12. Automatisierungssystem gemäß einem der Ansprüche 1 bis 10, bei dem die

Überwachungseinheit (15), dazu ausgebildet ist,

ein Schreibkommandos zu blockieren, wenn ein daraus extrahiertes

Betriebsdatum einen Wert aufweist, der nicht in einem durch Spezifikation definierten zulässigen Bereich liegt; oder einen Alarm auszulösen, wenn ein aus einer Antwortnachricht auf einen Lesebefehl extrahiertes Betriebsdatum einen Wert aufweist, der nicht in einem durch Spezifikation definierten zulässigen Bereich liegt.

13. Automatisierungssystem gemäß einem der Ansprüche 1 bis 12, bei dem die

Überwachungseinheit (15), dazu ausgebildet ist,

vom SCADA-System (10) verschlüsselt gesendete Daten zu entschlüsseln, die entschlüsselten Daten zu untersuchen, wieder zu verschlüsselt und an die

speicherprogrammierbare Steuerung (20) gemäß dem ersten Kommunikationsprotokoll weiterzuschicken,

wobei von dem SCADA-System (10) zur Verschlüsslung ein anderer Schlüssel oder ein anderes Verschlüsselungssystem verwendet wird wie von der

Überwachungseinheit.

14. Verfahren zum Betrieb von mindestens einer Anlage (30), die mittels mindestens einer speiche rogrammierbaren Steuerung (20) und mindestens eines SCADA-Systems gesteuert wird,

wobei die speicherprogrammierbare Steuerung (20) über einen Datenbus mit einer zu steuernden Anlage (30) unter Verwendung eines zweiten Kommunikationsprotokolls zu kommuniziert;

wobei das SCADA-System (10) mit der speicherprogrammierbaren

Steuerung (20) über ein Netzwerk und unter Verwendung eines ersten

Kommunikationsprotokolls kommuniziert, wobei zwischen SCADA-System (10) und der speicherprogrammierbaren Steuerung (20) Daten übertragen werden, welche

Betriebsinformationen über Soll- und/oder Ist-Zustände der Anlage (30) beinhalten; und wobei aus den zwischen SCADA-System (10) und speicherprogrammierbarer Steuerung (20) übertragenen Daten die Betriebsinformationen zu extrahiert und diese mit einer Spezifikation zulässiger Zustände der Anlage (30) verglichen werden.

15. Verfahren gemäß Anspruch 14,

wobei das Extrahieren der Betriebsinformationen von einer Überwachungseinheit (15) durchgeführt wird, die so mit dem Netzwerkt verbunden ist, dass die gesamte Kommunikation zwischen dem SCADA-System (10) und der Steuerung (20) über die Überwachungseinheit (15) geleitet wird.

Description:
AUTOMATISIERUNGSSYSTEM UND VERFAHREN ZU DESSEN BETRIEB

TECHNISCHES GEBIET

Die vorliegende Erfindung betrifft das Gebiet der Automatisierungssysteme bzw.

Robotiksysteme, insbesondere deren Steuerung und Regelung.

HINTERGRUND

In den letzten Jahren sind gezielte Attacken auf Industrieanlagen, Steunerungs- und Regelungssysteme sowie Robotersysteme bekannt geworden. Im Jahr 2010 wurde die Malware Stuxnet bekannt, mit welcher eine gezielte Attacke auf eine Industrieanlage erfolgte und diese auch erfolgreich außer Betrieb setzte. Die Malware (Schadsoftware) wurde speziell für ein bestimmtes System zur Überwachung und Steuerung technischer Prozesse (Supervisory Control and Data Acquisition System, kurz: SCADA-System) der Firma Siemens, die Simatic S7, entwickelt (siehe http://de.wikipedia.org/wiki/Stuxnet vom 25.11.2014). Bisher ist bekannt, dass in die Steuerung von Frequenzumrichtern eingegriffen wird, die beispielsweise eingesetzt werden können, um die Geschwindigkeit von anderen Geräten wie z.B. Motoren zu steuern. Solche Steuerungen werden vielfach in diversen Industrieanlagen wie z.B. Wasserwerken, Klimatechnik, Pipelines usw.

eingesetzt.

Die hier beschriebene Erfindung hat die Aufgabe eine solche Attacke mittels

Schadsoftware zu vermeiden bzw. die attackierte Systeme zu detektierten. ZUSAMMENFASSUNG

Die genannte Aufgabe wird durch ein System gemäß Anspruch 1 gelöst, unterschiedliche Ausführungsformen und Weiterentwicklungen sind Gegenstand der abhängigen

Ansprüche. Es wird im Folgenden ein Automatisierungssystem beschrieben, welches gemäß einem Ausführungsbeispiel mindestens eine speicherprogrammierbare Steuerung aufweist, welche dazu ausgebildet ist, über einen Datenbus mit mindestens einer zu steuernden Anlage unter Verwendung eines zweiten Kommunikationsprotokolls zu kommunizieren. Das Automatisierungssystem umfasst des Weiteren mindestens ein SCADA-System, welches dazu ausgebildet ist, mit der speicherprogrammierbaren Steuerung über ein Netzwerk und unter Verwendung eines ersten Kommunikationsprotokolls zu

kommunizieren, wobei zwischen dem SCADA-System und der speicherprogrammierbaren Steuerung Daten übertragen werden, welche Betriebsinformationen über Soll- und/oder Ist- Zustände der Anlage beinhalten. Das Automatisierungssystem sieht eine

Überwachungseinheit vor, welche dazu ausgebildet ist, aus den zwischen SCADA-System und speicherprogrammierbarer Steuerung übertragenen Daten die Betriebsinformationen zu extrahieren und diese mit einer Spezifikation zulässiger Zustände der Anlage zu vergleichen.

Gemäß einem weiteren Ausführungsbeispiel weist das Automatisierungssystem

mindestens eine speicherprogrammierbare Steuerung aufweist, welche dazu ausgebildet ist, über eine Datenleitung (z.B. ein Feldbus) mit einer zu steuernden Anlage zu

kommunizieren. Dabei werden ein oder mehrere Steuersignale von der

speicherprogrammierbaren Steuerung an die zu steuernden Anlage und/oder ein oder mehrere Feedbacksignale von der steuernden Anlage an die speicherprogrammierbare Steuerung übertragen. Das System weist weiter mindestens ein SCADA-System auf, welches dazu ausgebildet ist, mit der mindestens einen speicherprogrammierbaren

Steuerung über eine weitere Datenleitung (z.B. ein Netzwerk) und unter Verwendung eines ersten Kommunikationsprotokolls zu kommunizieren und Daten auszutauschen. Dabei werden Datenpakete übertragen, welche Schreib- und Lesekommandos zum Schreiben bzw. Lesen von mindestens einem Register der speiche rogrammierbaren Steuerung sowie korrespondierende Antwortnachrichten umfassen. Eine Überwachungseinheit ist dazu ausgebildet, aus den zwischen SCADA-System und speicherprogrammierbarer Steuerung mittels des ersten Kommunikationsprotokolls übertragenen Datenpaketen Betriebsdaten der zu steuernden Anlage (d.h. Betriebsinformationen über Soll- und/oder Ist- Zustände der Anlage) zu extrahieren und diese mit einer vorbekannten Spezifikation zulässiger Betriebsdaten der zu steuernden Anlage zu vergleichen.

Die zu steuernde Anlage kann einen oder mehrere Aktoren (z.B. Motoren) sowie einen oder mehrere Sensoren aufweisen, welche Istwerte von Auslenkungen der Aktoren (oder auch andere Betriebsparameter der zu steuernden Anlage) messen. Beispielsweise handelt es sich bei der zu steuernden Anlage um einen Industrieroboter.

Die speicherprogrammierbare Steuerung kann dazu ausgebildet sein, über die Datenleitung mit der zu steuernden Anlage unter Verwendung eines echtzeitfähigen zweiten

Kommunikationsprotokolls zu kommunizieren. Die Datenleitung kann beispielsweise ein Feldbus sein (bzw. Teil eines Feldbus-Systems) sein. Das erste Kommunikationsprotokoll muss hingegen nicht echtzeitfähig sein. Beispielsweise ist das erste

Kommunikationsprotokoll ein Protokoll, das auf TCP/IP basiert wie z.B. ModBus/TCP.

Die extrahierten Betriebsdaten der zu steuernden Anlage umfassen beispielsweise Soll- und Istwerte von einem oder mehrerer Zustände (state variables) der zu steuernden Anlage, wie z.B. den Sollwert einer Auslenkung mindestens eines Aktors der zu steuernden Anlage oder den (durch Sensoren gemessenen) Istwert einer Auslenkung mindestens eines Aktors der zu steuernden Anlage (oder beides). Die erwähnten zulässigen Betriebsdaten der zu steuernden Anlage umfassen beispielsweise die maximale und/oder minimale Auslenkung mindestens eines Aktors der zu steuernden Anlage, die maximale und/oder minimale zeitliche Änderung eines Sollwerts einer Auslenkung mindestens eines Aktors der zusteuernden Anlage, die maximale und/oder minimale zeitliche Änderung eines Istwerts einer Auslenkung mindestens eines Aktors der zusteuernden Anlage oder eine beliebige Kombination der vorgenannten Parameter. Diese zulässigen Betriebsdaten können z.B. vom Datum und der Uhrzeit und/oder anderen externen Größen abhängen und müssen nicht konstant sein. Die speicherprogrammierbare Steuerung kann mindestens ein Register aufweisen, welches abhängig von einem, von der zu steuernden Anlage empfangenen Feedbacksignal und/oder abhängig von einem von dem SCADA-System empfangenen Schreibbefehl (z.B.

Steuerbefehl) beschrieben wird. Abhängig vom Inhalt von mindestens einem Register kann ein Steuersignal für die zu steuernde Anlage erzeugt werden und/oder eine

Antwortnachricht auf einen von dem SCADA-System empfangenen Lesebefehl erzeugt werden. Die zu extrahierenden Betriebsdaten der zu steuernden Anlage sind beispielsweise auch in mindestens einem Register der speiche rogrammierbaren Steuerung gespeichert. Die Überwachungseinheit kann dazu ausgebildet sein, ein Schreibkommando zu blockieren, wenn ein daraus extrahiertes Betriebsdatum einen Wert aufweist, der nicht in einem durch Spezifikation definierten zulässigen Bereich liegt. Die Überwachungseinheit kann auch dazu ausgebildet sein, einen Alarm auszulösen, wenn ein aus einer

Antwortnachricht auf einen Lesebefehl extrahiertes Betriebsdatum einen Wert aufweist, der nicht in einem durch Spezifikation definierten zulässigen Bereich liegt.

Schließlich wird ein Verfahren zum Betrieb von mindestens einer Anlage beschrieben, die mittels mindestens einer speiche rogrammierbaren Steuerung und mindestens eines SCADA-Systems gesteuert wird. Die speicherprogrammierbare Steuerung kommuniziert dabei über einen Datenbus mit einer zu steuernden Anlageunter Verwendung eines zweiten Kommunikationsprotokolls. Das SCADA-System kommuniziert mit der speicherprogrammierbaren Steuerung über ein Netzwerk und unter Verwendung eines ersten Kommunikationsprotokolls, wobei zwischen SCADA-System und der speicherprogrammierbaren Steuerung Daten übertragen werden, welche Betriebsinformationen über Soll- und/oder Ist- Zustände der Anlage beinhalten. Aus den zwischen SCADA-System und speicherprogrammierbarer Steuerung übertragenen Daten werden die Betriebsinformationen extrahiert, sodass diese anschließend mit einer Spezifikation zulässiger Zustände der Anlage verglichen werden können.

Gemäß einem weiteren Ausführungsbeispiel des Verfahrens kommuniziert die speicherprogrammierbare Steuerung über eine Datenleitung mit der Anlage um diese zu steuern, wobei ein oder mehrere Steuersignale von der speicherprogrammierbaren Steuerung an die Anlage und/oder ein oder mehrere Feedbacksignale von der Anlage an die

speicherprogrammierbare Steuerung übertragen werden. Das SCADA-System

kommuniziert mit der mindestens einen speiche rogrammierbaren Steuerung über ein Netzwerk und unter Verwendung eines ersten Kommunikationsprotokolls, um Daten auszutauschen, wobei Datenpakete übertragen werden, die Schreib- und Lesekommandos zum Schreiben bzw. Lesen von mindestens einem Register der speicherprogrammierbaren Steuerung sowie korrespondierende Antwortnachrichten umfassen. Gemäß einem Beispiel der Erfindung umfasst das das Verfahren das Extrahieren von Betriebsdaten der Anlage aus den zwischen SCADA-System und speicherprogrammierbarer Steuerung mittels des ersten Kommunikationsprotokolls übertragenen Datenpaketen. Des Weiteren umfasst das Verfahren das Vergleichen der extrahierten Betriebsdaten mit einer vorbekannten

Spezifikation zulässiger Betriebsdaten des Regelsystems.

KURZE BESCHREIBUNG DER ABBILDUNGEN

Die Erfindung wird nachfolgend anhand von den in den Abbildungen dargestellten Beispielen näher erläutert. Die Darstellungen sind nicht zwangsläufig maßstabsgetreu und die Erfindung beschränkt sich nicht nur auf die dargestellten Aspekte. Vielmehr wird Wert darauf gelegt, die der Erfindung zugrunde liegenden Prinzipien darzustellen. In den Abbildungen zeigt:

Figur 1 ein Beispiel eines Automatisierungssystems gemäß einem Beispiel der

Erfindung;

Figur 2 zeigt schematisch einen Angriff auf ein Automatisierungssystem gemäß Fig.

Figur 3 ein Beispiel eines Automatisierungssystems, das gegen Angriffen von außen über das Internet abgesichert ist;

Figur 4 zeigt den zeitlichen Verlauf eines Sensor- bzw. Feedbacksignales;

Figur 5 zeigt die mögliche Konfiguration eines Blockes in Matlab/Simulink; und

Figur 6 zeigt den beispielhaften Einsatz von Regelblöcken in einem Matlab/Simulink

Modell.

Figur 7 ein weiteres Beispiel eines Automatisierungssystems, das gegen Angriffen von außen über das Internet abgesichert ist und über eine Verschlüsselung der Datenkommunikation verfügt.

In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder ähnliche Komponenten mit jeweils gleicher oder ähnlicher Bedeutung. DETAILLIERTE BESCHREIBUNG

Beschrieben wird im Folgenden ein Automatisierungssystem bzw. ein Robotiksystem, welches durch den in Fig. 1 gezeigten Aufbau charakterisiert werden kann. Gemäß dem in Fig. 1 dargestellten Beispiel umfasst das Automatisierungssystem 1 ein SCADA-System 10, eine speicherprogrammierbare Steuerung 20 (SPS, auch programmable logic

Controller, PLC), sowie eine zusteuernde Anlage 30 (plant, control System), welches im vorliegenden Beispiel als Industrieroboter dargestellt ist.

Ein SCADA-System 10 (SCADA = Supervisory Control and Data Acquisition) ist ganz allgemein ein computerbasiertes Überwachungssystem und Steuerungssystem für technische Prozesse. Im vorliegenden Beispiel steuert und überwacht das SCADA-System 20 eine speiche rogrammierbare Steuerung (SPS, PLC), wobei für die Kommunikation zwischen SCADA-System 10 und SPS 20 ein Industrieprotokoll (Kommunikationsprotokoll) verwendet wird (hier als ModBus/TCP bezeichnet), welches typischerweise keine oder eine nur sehr eingeschränkte Echtzeitfähigkeit besitzt (bei Modbus/TCP werden TCP/IP -Pakete verwendet, um die Daten zu übermitteln; seit 2007 ist die Modbus- Version Modbus/TCP Teil der Norm IEC 61158). Das SCADA-System 10 kann mit der SPS 20 über ein Computernetzwerk verbunden sein, das wiederum mit dem Internet verbunden sein kann. Das SCADA-System 10 kann Lesekommandos (wie z. B. das Auslesen von einem oder mehrerer Register einer SPS) oder Schreibkommandos (wie z. B. Befehle, welche einen Wert in ein Register der SPS 20 schreiben) an die SPS 20 übertragen. Die SPS/PLC 20 antwortet mit in der Spezifikation des Kommunikationsprotokolls definierten Antworten. Zum Beispiel wird der Wert des Registers ausgelesen oder eine Statusmeldung der SPS 20 an das SCADA-System 10 zurückgesendet. Eine allgemeine Erläuterung zu SCADA findet sich z.B. online unter

http://de.wikipedia.org/wiki/Supervisory_Control_and_Data _Acquisition (abgerufen am 25.11.2014).

Der zweite Teil des Systems umfasst typischerweise die SPS 20 und die zu steuernden Anlage 30 (z.B. Industrieroboter). Hier erfolgt die eigentliche Steuerung bzw. Regelung der von der Anlage ausgeführten Applikation, und als Kommunikationsprotokoll (in den Zeichnungen als„Real Time Industrial Protocol" bezeichnet) wird ein Bus-Protokoll (z.B. ein Feldbusprotokoll wie z.B. PROFIBUS, INTERBUS, etc.) verwendet, welches in Abhängigkeit der Applikation auch harte Echtzeitanforderungen erfüllen muss. Ein oder mehrere Sensorsignale Y (allgemein Feedbacksignale) der Anlage 30 werden dabei in ein oder mehrere Register der SPS 20 geschrieben, welche diese dann mittels Steuerungs- oder Regelungsalgorithmen (z. B. PID-Regler) in Steuerungssignale X für die Anlage 30 umsetzt und an dieses überträgt. Die Definition von„Echtzeit" der inzwischen durch DUST ISO/IEC 2382 abgelösten Norm DIN 44300 (Informationsverarbeitung), Teil 9

(Verarbeitungsabläufe) lautete: "Unter Echtzeit versteht man den Betrieb eines

Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen." Durch die

Hardware und Software muss also sichergestellt werden, dass keine Verzögerungen auftreten, welche die Einhaltung dieser Bedingung (Ergebnisse müssen innerhalb eine vorgegebenen Zeitspanne verfügbar sein) verhindern könnten. Die Verarbeitung der Daten muss dabei nicht besonders schnell erfolgen, sie muss nur garantiert schnell genug für die jeweilige Applikation erfolgen. Eine Kommunikation (Datenübertragung) in Echtzeit ermöglichen z.B. einige moderne Feldbus-Systeme (basierend z.B. auf Echtzeit-Ethernet, PROFIBUS, INTERBUS, etc.). Protokolle der„klassischen" Kommunikationsprotokollfamilie TCP/IP (Transmission Control Protocol/Internet Protocol) sind dagegen nicht ohne weiteres echtzeitfähig.

Wird nun ein Automatisierungssystem angegriffen, kann das auf unterschiedliche Art und Weise erfolgen:

Möglichkeit 1 - es werden gefälschte Nachrichten (Fake-Messages) eines Angreifers 1 1

(Attacker) an die SPS 20 gesendet, wie z. B. nicht erlaubte

Schreibbefehle;

Möglichkeit 2 - es wird das Betriebssystem der SPS 20 gehackt und dann ganz gezielt

Register der SPS falsch beschrieben. Die folgende Fig. 2 zeigt im Wesentlichen die Vorgehensweise einer Attacke nach

Methode 1 und 2. Ein Automatisierungssystem 1 gemäß einem Beispiel der Erfindung ist zur Vermeidung von derartigen Attacken dadurch abgesichert, dass ein unabhängiges Überwachungssystem 15 zwischen SCADA-System 10 und SPS 20 vorgesehen ist. Wird das Überwachungssystem 15 im linken Teil (zwischen SCADA-System 10 und SPS 20, siehe Fig. 3) platziert, sind keine signifikanten Echtzeitanforderungen notwendig.

Eine Platzierung der Überwachungseinheit im rechten Teil des Systems (zwischen SPS 20 und Regelungssystem 30) ist nur schwer realisierbar, da dort typischerweise harte

Echtzeitforderungen zu erfüllen sind. Dies würde dazu führen, dass eine Überwachungseinheit deterministische Eigenschaften aufweisen müsste (die Überwachungsaufgabe in einer vordefinierten Zeit erfüllt sein müsste) und auf der anderen Seite wäre die

Überwachungseinheit Teil des Steuersystems und würde somit z.B. Teil einer

Zertifizierung nach Maschinenrichtlinie in Bezug auf funktionale Sicherheit. Des Weiteren hätte eine Anordnung der Überwachungseinheit im rechten Teil einen hohen Aufwand in Bezug auf Einhaltung von Gesetzten und Richtlinien, einen reduzierten in einer vorgegebenen Zeit abzuarbeitenden Regelsatz (rule set) und in einem erhöhten

Implementierungsaufwand für den Algorithmus zur Überprüfung der Regelsätze und deren Sortierung zu Folge.

Die ein Aspekt zur Abwehr eines Angriffes besteht darin, dass man die Spezifikationen der zu steuernden Anlage 30 (z. B. spezifizierte Grenzwerte für die Sollwerte der

Aktorzustände oder Grenzwerte für die von den Sensoren bestimmten Istwerte) verwendet, um mit Hilfe der selbstständigen und von der SPS 20 und dem SCADA-System 10 unabhängigen Überwachungseinheit 15 die Kommunikation zwischen SCADA-System 10 und SPS 20 zu überwachen und dabei zu prüfen, ob die Spezifikationen eingehalten oder verletzt werden. Wird in der Überwachungseinheit 15 festgestellt, dass Betriebsdaten der Anlage (welche Betriebsinformationen über Soll- und/oder Ist- Zustände der Anlage repräsentieren, wie z.B. Soll- oder Istwerte der Zustände der Aktoren, Temperatur, etc.) sich im als zulässig spezifizierten Bereich befinden, kann man davon ausgehen, dass das System vernünftig arbeitet. Im Falle von Werten außerhalb eines spezifizierten Bereichs wird entweder ein Alarm oder andere Sicherheitsmaßnahmen ausgelöst, der entsprechende Befehl geblockt, sodass er die SPS 20 erst gar nicht erreicht.

Die folgende Fig. 4 zeigt den zeitlichen Verlauf eines Sensorsignales X (welches z.B. von der zu steuernden Anlage 30 an die SPS 20 übertragen wird). In der Systemspezifikation der zu steuernden Anlage kann nun ein zulässiger Arbeitsbereich des Signales X definiert werden (Signalpegel Signal_max und Signal _min) oder auch eine zeitliche Beschränkung wie zum Beispiel die zeitliche Ableitung dX/dt des Signales X (Tangentensteigungen dSignal_max und dSignal_min). Natürlich sind auch andere Beschränkungen bzw.

Randbedingungen wie z.B. betreffend berechnete Qualitätskriterien möglich.

Beipsielsweise kann ein dynamischer Beobachter (z. B. Kaiman-Filter) verwendet werden, um eine Überwachung von nicht direkt messbaren Betriebsdaten (Zustände, State variables) der zu überwachenden Anlage zu erreichen. Spezifizierte, zulässige

Betriebsdaten können sich auch auf indirekt gemessene bzw. beobachtete Zustände der Anlage richten.

Gemäß Fig. 4 übersteigt das Sensorsignal X an der Stelle 1 den zulässigen maximalen Signalpegel Signal_max, an der Stelle 2 fällt es unter den zulässigen minimalen

Signalpegel Signal_min. An den Stellen 3 und 4 über- bzw. untersteigt die

Tangentensteigung (der Tangente an das Sensorsignal X, entspricht der ersten Ableitung bzw. der Änderungsrate) die zulässige Ober- bzw. Untergrenze dSignal_max und dSignal_min.

Im Folgenden wird die Überwachungseinheit 15 im linken Teil des abgebildeten

Automatisierungssystems 1 beschrieben (vgl. Darstellung aus Fig. 3). Die genannten Methoden wären auch für den rechten Teil des Systems möglich, jedoch mit den oben beschriebenen Einschränkungen. Um eine Attacke gemäß Methode 1 (gefälschte

Registerschreibbefehle durch sogenannte Fake-Messages) zu vermeiden, werden Regeln (rules) bzw. Regelsätze (rule sets) verwendet, welche den Inhalt der Daten gemäß dem verwendeten Kommunikationsprotokoll untersuchen und im Falle einer detektierten Verletzung eines spezifizierten Bereichs die entsprechenden Befehle blockieren.

Um eine Attacke gemäß Methode 2 - Registerlesebefehle - zu vermeiden, werden

Überprüfungs-Regeln verwendet, welche den Inhalt der Daten gemäß dem verwendeten Kommunikationsprotokoll untersuchen und im Falle einer Verletzung eines spezifizierten Bereiches einen Alarm produzieren.

Zum Abarbeiten der Regeln wird kann z.B. ein Pattern-Matching-Programm verwendet werden, das ähnlich arbeitet wie z. B. Snort (ein freies Network Intrusion Detection System (NIDS) und ein Network Intrusion Prevention System (NIPS)) oder ähnliche. Eine andere Möglichkeit besteht darin, dass die Regeln (rules) in eine Logik oder einen

Programmcode übersetzt werden. Die Regeln können nun anhand der Kenntnis der Spezifikation des verwendeten Protokolls (z.B. Modbus/TCP), der Netzwerkinfrastruktur der Registerbelegung der SPS 20 und der Spezifikation der zu steuernden Anlage 30 erstellt werden. Dies kann manuell mittels eines Editors oder automatisiert erfolgen. Eine typische Regel besteht dabei aus folgenden Komponenten, wie anhand einer typischen Snort Regel beispielhaft gezeigt wird: alert tcp 10.0.2.10/32 any -> 10.0.1.10/32 502 \

(content :" I 04 I "; offset:7; depth: 1; content :" | 0003 | " ; offset:8; depth:2; flowbits : set , sidl03 ;

flowbits : noalert ; \

sid:103;)

Dabei bedeutet: alert - Tätigkeit des Alamierens;

tcp - das Protokoll, welches als Grundlage verwendet wird;

10.0.1.110/32 - zu beobachtende IP- Adressen (Adressbereich);

any, 502 - zu überwachende Ports;

content, offset, depth - Beschreibt den Inhalt und dessen Position im Protkoll, der überwacht werden muss;

flowbits - wird verwendet, um dynamisch weitere Regeln einzubinden. alert tcp 10.0.1.10/32 502 -> 10.0.2.10/32 any \

(content :" I 04 I " ; offset: 7; depth: 1;

flowbits : isset, sidl03 ; \

byte_test:2, <, 31768, 9; \

msg: "IDS-Alert : 10.0.1.10 to 10.0.2.10, functioncode 04, Startadress 0003, value to small"; \ byte test - beschreibt das Übeiprüfung eines Wertes ob er innerhalb oder außerhalb des Spezfikationsbereiches liegt;

msg - ist der Befehl, der den textuellen Output produziert, falls der Wert außerhalb des Spezifikationsbereiches liegt.

Zur automatischen Generierung der Regeln werden die vorher beschriebenen Kenntnisse bzw. Regeln/Regel Sätze in einem Programm verarbeitet und eine Textdatei produziert, welche dann z. B. mit Hilfe von Snort verwendet wird. Zur Vereinfachung der automatischen Generierung können auch Blöcke in einer

Entwicklungsumgebung (z. B. Matlab) verwendet werden, welche mit den notwendigen Kenntnissen hinterlegt sind. Die Fig. 5 zeigt die mögliche Konfiguration eines Blockes in Matlab/Simulink. In der darauf folgenden Abbildung Fig. 6 sieht man den beispielhaften Einsatz von Regelblöcken in einem Matlab/Simulink Modell. Die Übe rüfungs-Regeln können dann bei der Abarbeitung einer Blocks im Matlab/Simulink erzeugt werden, was dem Regelungsingenieur ermöglicht, sich nicht näher mit den Details der Absicherung des Automatisierungssystems 1 gegen Angreifer auseinandersetzen zu müssen.

Eine alternative Methode zur (semi-)automatischen Generierung von Regeln bzw.

Regelsätzen besteht darin, die Kommunikation zwischen SCADA-System 10 und SPS 20 für eine gewisse Zeit (während einer Lernphase) mitzulesen. Dabei wird der Inhalt der Kommunikation gemäß dem verwendeten Protokoll extrahiert und so die Registerinhalte der SPS ausgelesen, und dabei die während der Lernphase auftretenden minimalen und maximalen Werte für das jeweilige Register abgespeichert. Diese„gelernten" Minimal- und Maximalwerte (gelernte Spezifikation) können im nächsten Schritt manuell angepasst und dann computergestützt in Regeln umgewandelt werden. Diese Vorgangsweise ist dann sinnvoll, wenn die Überwachungseinheit 15 in ein bestehendes System integriert werden soll. Dieser Ansatz hat jedoch den Nachteil, dass man nicht feststellen kann, ob das Automatisierungssystem 1 bereits in der Lernphase attackiert war. Eine Detektion wäre nur möglich, wenn die gelernten Minimal- oder Maximalwerte außerhalb eines als zulässig spezifizierten Bereichs liegen. In modernen Kommunikationssystemen ist die Kommunikation häufig verschlüsselt (Ende-zu-Ende- Verschlüsselung). So kann auch die Kommunikation zwischen SCADA- System 10 und SPS (vgl. Fig. 1 und 3) verschlüsselt sein. Obwohl eine Verschlüsselung die Sicherheit im Hinblick auf mögliche Attacken mittels Schadsoftware erhöhen kann ist eine Verschlüsselung noch keine Garantie dafür, dass es zu keiner erfolgreichen Attacke kommen kann. Der Angreifer 11 (siehe Fig. 1) hat im Wesentlichen zwei Möglichkeiten. Erstens, die Attacke ist direkt gegen das SCADA-System 10 gerichtet. Die Schadsoftware kompromittiert das SCADA-System 10, manipuliert dieses und veranlasst dieses zu ungewünschtem Verhalten. In diesem Fall bringt eine Verschlüsselung keinen Schutz, da Daten auf dem SCADA-System 10 manipuliert werden bevor eine Verschlüsselung erfolgt. Zweitens, die Attacke erfolgt„on the fly" während der verschlüsselten Datenübertragung über die Datenleitung (d.h. über ein Computernetzwerk). Vor dieser Art eines Angriffs schützt die Verschlüsselung, solange der verwendete Schlüssel geheim bleibt. Statt einer Ende-zu-Ende- Verschlüsselung zwischen SCADA-System 10 und SPS 20 (vgl. Fig. 1) kann die Kommunikation zwischen SCADA-System 10 und Überwachungseinheit 15 mit einem ersten Schlüssel ENC l(oder Schlüsselpaar) verschlüsselt werden und die Kommunikation zwischen Überwachungseinheit 15 und SPS 20 mit einem zweiten Schlüssel ENC 2 (oder Schlüsselpaar) verschlüsselt werden. Diese Situation ist in Fig. 7 gezeigt. Dabei ist die Überwachungseinheit 15 wie in Fig. 3 gezeigt zwischen SCADA- System 10 und SPS 20 angeordnet und dazu ausgebildet, die von dem SCADA-System 10 gesendeten (und für die SPS 20 bestimmten) Daten zu entschlüsseln, anhand von Regeln bzw. Regelsätzen wie oben beschrieben zu prüfen und dann wieder (mit den zweiten Schlüssel ENC 2) zu verschlüsseln.