Cyber Security Problematik und Lösungsansätze
Der Artikel behandelt die Sicherheit im Sinne IT-Security, die nachfolgend immer auch Auswirkungen auf Safety in den Bereichen kritische Infrastrukturen, Home Automation, industrie...
Der Artikel behandelt die Sicherheit im Sinne IT-Security, die nachfolgend immer auch Auswirkungen auf Safety in den Bereichen kritische Infrastrukturen, Home Automation, industrielle Automation, autonome Systeme sowie der Automatisierung allgemein hat. Bestimmte Problemstellungen wie Manipulationen mit „False Data Injection“ (FDI) sind mit klassischen Werkzeugen bzw. Ansätzen direkt nicht erkennbar. Ein typisches Beispiel hierfür ist Stuxnet, ein Wurm, der im Juni 2010 im Iran entdeckt wurde. Die Schadsoftware manipulierte den Sensor für die gemessene Drehzahl der Geräte so, dass sie sich durch Überdrehzahl selbst zerstörten. Eine Absicherung gegen FDI kann nur über eine modellbasierte Plausibilitätsprüfung erfolgen. Insbesondere im Energiesystem der Zukunft spielt Cyber Security eine große Rolle, da Software die zentrale Basis für diese hoch vernetzte Infrastruktur darstellt. Die Veränderungen bestehen im Ersatz großer, zentraler Kraftwerke durch viele kleine und verteilte Kraftwerke mit Steuerung aus der Ferne (Remote). Statt einer kontinuierlichen Verfügbarkeit in einem statischen Stromnetz macht eine schwankende Verfügbarkeit, flexible Netzstrukturen mit vielen steuerbaren Elementen erforderlich. Die bisherige Sicherheit über physische Beschränkungen im direkten Zugriff kann bei unsicheren Netzwerken wie dem Internet und zahlreichen Zugangspunkten nicht mehr garantiert werden. Hierzu bedarf es eines erheblichen IT-Sicherheitsschutzes.
Die Dimensionen des Smart Grid sind dabei sowohl in den Bereichen der Erzeugung und des Verbrauchs, der Ebenen der Geschäftsvorgänge vom Erzeugungsprozess bis zum Handel und der verschiedenen Interaktionsebenen zu sehen. Der einzelne Kunde wird dabei auch als Privatperson lokal ebenfalls ein komplexes System zu verwalten haben, das im Rahmen der möglichen Geschäftsvorgänge zu konfigurieren und zu steuern ist.
Angriffsszenarien
Cyber Angriffe sind seit 2010 massiv steigend, ebenso aber auch die immer wieder festgestellten Schwachstellen in der Software von Automatisierungssystemen aber auch in Security Geräten, die die Sicherheit eigentlich verbessern sollen. Nach dem US CERT stiegen die Vorfälle in industriellen Automatisierungssystemen seit 2010 permanent an. Der Energiesektor ist dabei das Angriffsziel Nummer 1. Die möglichen Angriffsarten sind:
- Denial of Service (kurz DoS, englisch für Dienstverweigerung),
- die Umgehung bestimmter Sicherheitsmechanismen, wie zum Beispiel die Angriffsvariante Man in the Middle,
- die absichtliche Fehlbedienung durch zulässige Aktionen, wie zum Beispiel Passwort-Diebstahl,
- die Fehlbedienung durch nicht oder falsch konfigurierte Zugriffsrechte,
- das Ausspionieren von Daten, wie zum Beispiel Rezepturen und Geschäftsgeheimnisse bzw. Betriebspläne für Anlagen und deren Sicherheitsmechanismen,
- die Manipulation von Daten, wie zum Beispiel Bagatellisieren der Bedeutung von Alarmen, das Löschen von Daten, wie zum Beispiel Log-Dateien, um Attacken zu vertuschen sowie
- das besonders kritische False Data Injection (Sensormanipulation).
Der zuletzt genannte Angriff ist der gefährlichste, da die manipulierten Werte innerhalb der zulässigen Wertebereiche liegen, mittels normalem Kommunikationsverkehr (Traffic) übermittelt werden, aber die physikalische Anlage in nicht zulässige Grenzbereiche bringen und damit zur Zerstörung führen. Außerdem können erlaube Werte in Wechselwirkung mit anderen Werten eine Anlage ebenfalls in einen kritischen Gesamtzustand bringen und in Kombination Schäden verursachen. Das erstere geht von der Manipulation eines zentralen Wertes aus, das zweite von einer kritischen Kombination von Werten. Hinzu kommen die klassischen Angriffsvektoren wie „Buffer Overflow“, was nach wie vor in hoher Zahl auftritt. Hier wird ein Datum bestimmter Größe mit Daten von deutlich umfangreicherer Größe überschrieben und damit weitere Daten- oder Adressbereiche (Rücksprungadressen etc.) überschrieben. Strategien wie zufällige Speicherbelegungen stellen eine Abhilfe dar, besitzen aber selbst wieder neue Schwachstellen.
Schwachstellen
Angriffe richten sich immer gegen existierende Schwachstellen in der Software eines Systems. Diese können in nicht aktualisierter Software bei erkannten Schwachstellen liegen, in der Mensch-Maschine-Schnittstelle über das Internet, in fehlerhaften Protokollen zur Remote-Darstellung von Prozesszuständen, fehlerhaften Festlegungen der Zugriffsrechte bzw. deren Auswertung, fehlerhafte Feststellung der berechtigten Person, Buffer Overflow, Kommando und Parameterwert Manipulationen und nachfolgend die fehlerhafte Auswertung mit Übergang in einen unzulässigen Zustand des Systems, Datenbankmanipulation durch SQL Anweisungen, die Verwendung von Protokollen mit Klartext sowie der ungeschützten Übertragung von Zugangsdaten. Die Bewertung der Kritikalität einer Schwachstelle erfolgt anhand des “Common Vulnerability Scoring System – CVSS. Bewertet wird:
- wie sich die Schwachstelle nach außen äußert,
- die Angriffskomplexität,
- die Zahl der Anmeldevorgänge zur Identitätsfeststellung,
- das Maß des Vertrauensbruchs, der Integritätsverletzung sowie der Verfügbarkeit.
Der Buffer Overflow als häufigste Schwachstelle zeigt, dass die grundlegende Zuverlässigkeit in der Software nicht gewährleistet ist. Denn die Prüfung von Eingangsdaten auf syntaktische und semantische Korrektheit sollte ein grundsätzlicher Vorgang sein und Implementierungsschwachstellen vermeiden. Die Schwachstellen treten sowohl bei Automatisierungssystemen als auch bei Security Komponenten auf.
Methoden für IT-Security
Die Grundlagen für Safe&Secure Systeme sind die konstruktive Sicherstellung der Zuverlässigkeit durch den Einsatz sicherer Programmiersprachen, die Erkennung von Manipulationen in der Kommunikation, die Absicherung der Regelkreise durch Plausibilitätsprüfungen, die Identifikation kritischer Komponenten und deren Expositionskritikalität mit nachfolgender Absicherung und die Verwendung redundanter Messsysteme. Eine sichere Plattform als Basis für Applikationen erfordert ein verlässliches und transparentes Betriebssystem. Leider hat hierzu die Entwicklung in Deutschland komplett ausgesetzt.
Bei der Absicherung von Systemen gegen Cyber Angriffe existieren grundsätzliche Vorgehensweisen:
- die sogenannte Härtung,
- der Einsatz von Honey Pots zur Ablenkung und Analyse des Angriffsverhaltens,
- Intrusion Detection und Prevention Systeme sowie
- die modellbasierte Plausibilitätsprüfung gegen FDI.
Eine absolute Sicherheit gibt es nicht, diese kann aber über Resilienzeigenschaften, als die Fähigkeit eines Systems, seine Funktionsfähigkeit unter Belastungen aufrechtzuerhalten, beziehungsweise kurzfristig wiederherzustellen, deutlich erhöht werden. Redundante Sensoren, diversitäre Software, konfigurierbare Kommunikationswege etc. sind Methoden, um die Resilienz eines Systems zu erhöhen. Basis ist aber immer die konstruktive Zuverlässigkeit der Softwarerealisierung. Wesentliche Vorgaben sind:
- Absicherung der Angriffsoberflächen (Angriffsvektoren)
- Entwurf und Implementierung von sicherem Programmcode
- Potentiell unsichere Funktionen durch sichere Alternativen ersetzen
- Eingaben bzw. Kommunikationsdaten immer validieren (syntaktisch und semantisch)
- Maßnahmen gegen Buffer Overflow einsetzen (Eingabewerte, Längen und Wertebereiche prüfen)
- Bei Datenbankabfragen SQL Anweisungen prüfen
- Weboberflächen bzw. Zugänge gegen Angriffe über Scripts prüfen
- Dateinamen und Verzeichnisnamen prüfen
Weitere Maßnahmen sind
- Bei bekannten Schwachstellen
- – Ports und Dienste nur in minimalem Umfang anbieten (unbedingt notwendig)
- – Anwendungen und Dienste auf das absolut notwendigste zu beschränken
- – Ein effektives Update und Patch Management installieren
- Allgemeine Protokolle in SCADA Systemen
- – Zugangsberechtigungen bei Übertragungen schützen
- – Sichere Fernzugriffe implementieren
- SCADA Daten und Kommando Übertragungsprotokolle
- – Schutz der Zugangsberechtigungen bei der Kommunikation
- – Implementierung sicherer Zugriffskontrollen und Prüfung der Datenintegrität
- – Verschlüsselung von Daten einsetzen
- Schutz vor Man-in-the-Middle Angriffen (Signaturen)
- Datenbanken und Webanwendungen umfassend schützen
- Eindeutige Feststellung der Identitäten und Berechtigungen mit einem sicheren Verwaltungssystem
Die Konkretisierung der Verfahren setzt eine Kultur voraus, welche Security massiv adressiert, Entwickler in der Programmierung sicherer Software trainiert und hierzu erzieht, Schwachstellen schnell kommuniziert, eine strenge Feststellung der Identität und der Rechte beim Zugang durchführt und erheblichen Fokus auf Safety und Security legt.
Letztlich bedeutet dies beim Betrieb die Minimierung aller Funktionalitäten auf das absolut notwendige. Das Motto lautet also:
- Schalte alles ab, was nicht gebraucht wird
- Vermeide jeden nicht absolut notwendigen Zugriff
- Prüfe jedes Datum, das von außen kommt
- Programmiere sicheren Code
- Setze eine sichere Programmiersprache und ein sicheres Betriebssystem ein
Modellbasierte Plausibilitätsprüfung
Ohne tiefe Kenntnis des zu schützenden technischen Prozesses können FDI nicht erkannt werden. Aus einer Voranalyse wird die Exposition und Kritikalität bestimmter Zustandsgrößen und Komponenten wie Sensoren abgeleitet. Zusätzlich wird untersucht, wie eine Zustandsgröße gemessen wird und ob es Redundanzen direkt oder über Modellansätze gibt. Ein Angreifermodell ist bei diesem Ansatz nicht erforderlich.
Es wird eine Systembeschreibung in Form von Gleichungen (Modell) erstellt und es erfolgt ein Vergleich der Messwerte mit dem Modell. Eine Methode hierzu ist das „Data Reconciliation“ in Form der Minimierung der Differenz zwischen optimiertem und gemessenem Wert mit dem Modell als Nebenbedingung. Entweder die Modellgleichung wird erfüllt oder es ergeben sich größere Differenzen. Die Fehlerdetektion bzw. Fehlerlokalisierung erfolgt über statistische Methoden und Zusatzwissen aus Voranalysen. Bei erkannten Manipulation wären gezielte Gegenmaßnahmen z.B. eine Unterbrechung von Kommunikationskanälen, die Verwendung eins BackUp Konzepts oder letztlich die Notabschaltung. Eine zurzeit untersuchte Anwendung ist die Windkraftanlage zur Stromerzeugung.
Zusammenfassung
In allen Bereichen bewirken Security Probleme auch nachfolgend Probleme im Safety Bereich. Ob dies autonome Fahrzeuge, die Wasserversorgung, Verkehrsinfrastrukturen oder das Smart Energy Grid ist, überall können Angriffe zu Ausfällen und Abschaltungen führen. Damit ist die Zuverlässigkeit dieser Systeme und die davon möglicherweise abhängende funktionale Sicherheit nicht mehr garantiert. Schwachstellen in Security-Komponenten sind umfassend zu kommunizieren und über gesetzliche Regelungen als kritische Produktfehler einzuordnen, welche entsprechend dem Risiko mit einer hohen Haftung verbunden und zwingend schnellstens behoben sein
müssen.
Der Gesetzgeber hat hier umgehend zu reagieren und auch das BSI muss sehr klare und eindeutige Vorgaben festlegen. Die Automatisierungshersteller müssen jetzt beginnen, ihre Software unter Security Gesichtspunkten neu zu entwerfen und mit sicheren Programmiersprachen zu implementieren. Gleichzeitig muss in der Ausbildung von Programmieren, Informatikern und Ingenieuren der Fokus in der Softwareentwicklung auf konstruktive Zuverlässigkeit und Sicherheit (Safety und Security) gelegt und der Einsatz sicherer Programmiersprachen propagiert werden.