Reinventing Quality

ERROR: Content Element with uid "4550" and type "dce_dceuid16" has no rendering definition!

Industrie 4.0 steht für voll vernetzte und automatisierte, hoch integrierte Produktionsprozesse. Roboter kommunizieren allerdings häufig unsicher - unverschlüsselt und ohne Authentisierung, VPN-Server bieten auch Dritten Remote-Zugriff auf kritische Netzbereiche, Man-in-the-Middle-Angriffe erlauben es Angreifern an wertvolle Zugangsdaten zu gelangen, eingesetzte Sicherheitsprodukte wie Firewalls, Intrusion Detection Systems, Verschlüsselung (Software- und Hardware) enthalten erfahrungsgemäß remote-ausnutzbare Sicherheitslücken. Diese ermöglichen Angriffe auf IT-Infrastrukturen moderner Industrieunternehmen. Industrieunternehmen haben daher starke Anforderungen an funktionale Sicherheit (Safety – Störungssicherheit und Schutz der Einsatzumgebung vor unerwünschtem Verhalten der Roboter). Mangelnde Security (Angriffssicherheit) der Roboter führt Safety ad absurdum, wenn nämlich Safety-Funktionen manipuliert werden können. Ein manipulierter Industrieroboter kann so z.B. Personen gefährden. Eine Evaluierung und Zertifizierung nach ISO-27001 bewertet nicht die tatsächliche Angriffssicherheit. Die Sicherheitsqualität der eingesetzten Sicherheitsprodukte und auch die (Sicherheits-)Konfigurationen werden nämlich nicht auf Sicherheit überprüft. Erforderlich ist dagegen ein ISO 27034 basiertes Security Testing.

Die 5 häufigsten Sicherheitslücken bei Industrie 4.0:

1. Die (Kommunikations-)Architektur der Automatisierungssteuerung (hier am Beispiel ROS) bietet keine Sicherheitsmechanismen wie Verschlüsselung und Authentifizierung.

2. Eine unsichere Verschlüsselungskonfiguration des VPN-Servers für Remote-Zugriff ermöglicht Angriffe auf Cipher-Suites und veraltete Verschlüsselungsprotokolle.

3. Sicherheitslücken in Webanwendungen zur Konfiguration und dem Management von Automatisierungssteuerungen ermöglichen es, Login-Daten auszuspähen und damit Konfigurationen zu manipulieren und/oder fremde Firmware einzuspielen - und damit z.B. einen Trojaner zu verankern.

4. Veraltete, unsichere Software-Patchstände ermöglichen es Angreifern, sogar mit bereits veröffentlichten Exploits anzugreifen.

5. Remote Desktop Protokoll (RDP) – Fehlende Zertifikatsüberprüfungen und nicht-konfigurierte eigene Zertifikate ermöglichen es Angreifern, Tastatureingaben mitzuschneiden, den Desktop zu projizieren und Login-Daten mitzuschneiden.

Auf der Grundlage der ISO-27034 wurde ein Security Testing Prozess entwickelt, mit dem die tatsächliche Angriffssicherheit auf ein Maximum angehoben wird, in dem Sicherheitslücken auf allen Ebenen identifiziert, bewertet und anschließend Behebungsmaßnahmen vorgeschlagen werden. Eine Risikoanalyse kommuniziert die daraus resultierenden Risiken an das Management, sodass es Ressourcen bereitstellen kann, um die Sicherheitslücken – stets im Einklang mit der Wirtschaftlichkeit – zu beheben und eine sichere IT-Infrastruktur zu schaffen.

Den Kern des Application Security Prozesses bilden die folgenden 5 Tool-gestützten Security Testing Methoden zur Identifizierung von bekannten und insbesondere unbekannten Sicherheitslücken (Zero-Day-Vulnerabilities):

1. SQUARE - Security QUAlity Requirements Analysis: Ziel dieser Methode ist es exakte Sicherheitsanforderungen für die darauf folgende Designphase bereitzustellen. Dabei werden alle die Sicherheit betreffende Anforderungen identifiziert, definiert und Bestehende validiert. Das Ergebnis sind vollständige (für das Lastenheft verwendbare) Sicherheitsanforderungen.

2. Security By Design: Threat Modeling ist eine Methode, um systematisch eine Architektur auf Sicherheit hin zu prüfen. Diese Methode wird sowohl bei der Software- und Hardwareentwicklung verwendet, als auch zur Prüfung von sicherheitskritischen IT-Infrastrukturen und Netzwerke. Das Ergebnis ist eine Sicherheitslücken-freie Architektur (Sicherheitsarchitektur)

3. Code Review: Static Source Code Analysis – Semi-automatisiertes Scannen des Quellcodes auf Sicherheitslücken zum Auffinden von Race Conditions, Deadlocks, Zeiger- und Speicherverletzungen. Ziel ist es bereits während der Implementierung Sicherheitslücken zu mitigieren und zu beheben.

4. Simulated Attacks: Penetration Testing ist eine dynamische Sicherheitsprüfung (Laufzeittest), bei der bekannte Angriffe auf ein System simuliert werden, um in dieses zu kompromittieren. Ziel ist es bekannte Sicherheitslücken zu identifiziert und damit das Sicherheitsniveau zu bewerten und nach Umsetzung von Mitigierungsmaßnahmen zu erhöhen.

5. Dynamic Analysis: Fuzzing ist eine dynamische Sicherheitsprüfung (Laufzeittest), bei der manipulierte und nicht erlaubte Eingabedaten (Fuzzdaten, Attackstrings) an ein System/Anwendung gesendet werden, um Anomalien herbeizuführen. Herbeigeführte Anomalien werden im nächsten Schritt reproduziert und untersucht, mit dem Ziel unbekannte oder nicht-veröffentlichte Sicherheitslücken (Zero-Day-Vulnerabilities) zu identifizieren.

Erst mit dem systematischen Einsatz dieses Security Testing Methoden zur Identifizierung von Sicherheitslücken wird sichergestellt, dass ein angemessenes Sicherheitsniveau im Bereich Industrie 4.0 erreicht wird und die IT-Infrastruktur inkl. aller Produkte und Anwendungen tatsächlich angriffssicher ist. Mit diesen 5 Methoden werden alle Arten von Sicherheitslücken wie Design-relevante, Implementierungs- und Laufzeit-Sicherheitslücken identifiziert.

Valeri Milke, softScheck GmbH

Informatik Studium mit Abschluss B.Sc. und Schwerpunkt Informationssicherheit. Senior Consultant IT Security bei der softScheck GmbH.
Kernkompetenzen bei Webanwendungen, SCADA-Security und Mobile Security:

  • Klassisches Penetration Testing
  • Threat Modeling zur Sicherheitsüberprüfung der Architektur
  • Fuzzing zur Identifizierung von Sicherheitslücken

Beispiel-Projekte:

  • Threat Modeling Smart Meter Gateway
  • Security Testing ROS (Robot Operating System), SCADA-Infrastruktur, Web Application Firewall, Router, SAP-Systeme usw.

Prof. Dr. Hartmut Pohl, softScheck GmbH

  • Geschäftsführer softScheck GmbH
  • Security Consulting mit dem ISO 27034 zertifizierten Entwicklungsprozess sicherer Software und dem Security Testing Process
  • Security Requirements Analysis, Threat Modeling, Static Source Code Analysis, Dynamic Analysis (Fuzzing)
  • Steuerungssysteme, Webseiten, Netze, Apps und Systems
  • softScheck garantiert als Prüfungspartner des TÜV Saarland alle seine Testergebnisse mit einem eigenen Zertifikat oder auch einem TÜV-Zertifikat.