Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls ... · PDF filespo_alert_unixsock: Snort-Ausgabe-Modul ... preprocessor profinet: alert { dcp rt_unicast alarm_high }

Embed Size (px)

Citation preview

  • Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET

    Andreas Paul

    Brandenburgische Technische Universitt CottbusLehrstuhl Rechnernetze und Kommunikationssysteme

    SPRING 7GI SIDAR Graduierten-Workshop ber Reaktive SicherheitBerlin 05-06.07 2012

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 2

    Inhaltliche Gliederung

    Einleitung SCADA-Architektur Einordnung in aktuelle Arbeiten

    PROFINET Prinzip Protokollablufe Angriffsszenarien

    Zusammenfassung

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 3

    SCADA-Architektur (Beispiel) Automation network

    Prozessleitebene Planung, Visualisierung +

    Beobachtung von Prozessen Archivierung von Messwerten

    Steuerungs- und Feldebene Steuerung + Regelung von

    Prozessen Schnittstelle zum Prozess ber I/O

    Signale Anforderungen eingesetzter

    Kommunikationstechnologien hohe Ausfallsicherheit

    Verfgbarkeit! Echtzeitfhigkeit

    Internet

    Controller Controller

    PC PC

    Peripheraldevices

    WWW ProjectDB WSUS

    Remoteaccess

    Automationnetwork

    Enterprisenetwork

    Peripheraldevices

    Demilitarizedzone

    PCPC

    PC PC

    PC

    PC

    SECURITY?

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 4

    Verteiltes IDS zum Schutz von SCADA-Systemen

    Analysekomponente: Vortrag Franka Schuster!

    Simulationsumgebung Modellierung von SCADA-Infrastrukturen (Komponenten + Verhalten) Generierung Protokoll-konformer Nachrichten Simulation von Angriffsszenarien

    Deep Packet Inspection Datenanalyse basiert auf dekodierte Informationen der

    Protokollfelder DPI-Komponente

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 5

    DPI-Komponente 1/2

    snort

    preprocessors

    detection-engine

    output-pluginssignatures

    network traffic

    snort alerts

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 6

    DPI-Komponente 2/2

    spp_profinet: Snort-Prprozessor Dekodierung von Profinet-Frames Generierung von Snort-Alarmen

    spo_alert_unixsock: Snort-Ausgabe-Modul schreibt Alarme in Unix Domain Socket

    snort.conf: Snort-Konfigurationsdatei Aktivierung und Konfiguration von Prprozessoren:preprocessorprofinet:alert{dcprt_unicastalarm_high}

    Aktivierung des Ausgabe-Moduls:outputalert_unixsock

    event generator Generierung von DPI-Events Weiterleitung der Events an event channel (publish)

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 7

    PROFINET: Einleitung

    Industrial Ethernet Echtzeitfhiges Ethernet: geringe Zykluszeiten + geringer Jitter weitere Anstze: SERCOS III, ETHERNET/IP, Modbus/TCP,

    ETHERCAT, ... Realisierung der Echtzeitfhigkeit

    RT-Over-UDP: geplante Kommunikation VLAN-Priorisierung (IEEE 802.1Q)

    RT-Klasse 1: Kommunikation innerhalb eines

    Subnetzes RT-Klasse 2,3:

    Zeitsynchronisation Eingriff in MAC-Layer

    IEEE 802.3

    IP

    UDP

    PROFINET-Anwendung

    RT-C

    LASS

    -1

    RT-C

    LASS

    -2,3

    RT-O

    ver-U

    DP

    NRT

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 8

    IO-Controller IO-Supervisor

    IO-Device

    Gerterollen IO-Supervisor IO-Controller IO-Device

    Schritte1.Projektierung2.bertragung der Projektierdaten3.Initialisierung

    Vergabe des Gertenamens Vergabe der IP-Adresse

    4.Systemhochlauf5.Betriebsphase

    zyklisch: Prozessdaten azyklisch: Diagnose, Alarm

    PROFINET: Prinzip

    ProjektierdatenGertenameIP-Adresse

    GertenameDiagnosedaten

    IP-AdresseModul-KonfigurationProzessdatenAlarme

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 9

    PROFINET: Protokollablufe 1/2

    Initialisierung: Vergabe des Gertenamens

    DCP_Identify_Request

    DCP_Set_Request

    DCP_Set_Response

    DCP_

    Tim

    eout

    IO-Supervisor IO-Device

    DCP_

    Tim

    eout

    DCP_Identify_Request

    ARP_Request

    DCP_Identify_Response

    DCP_

    Tim

    eout

    ARP_

    Tim

    eout

    IO-Controller

    IO-Device

    DCP_Set_Request

    DCP_Set_Response

    optio

    nal

    check name

    set name

    set IP

    check IP

    Einleitung ZusammenfassungPROFINET

    Vergabe der IP-Adresse

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 10

    PROFINET: Protokollablufe 2/2

    Betriebsphase:

    zyklische Datenbertragung

    RTC_Data(Out-Data)

    RTC_Data(In-Data)

    send

    cyc

    le

    IO-Controller

    IO-Device

    send

    cyc

    le

    IO-Controller

    IO-Device

    RTC_Data(Out-Data)

    RTC_Data(In-Data)

    RTA_Data(Alarm-Ack)

    RTA_Data(Alarm)

    timeo

    ut

    timeo

    ut

    RTA_Ack

    RTA_Ack

    Einleitung ZusammenfassungPROFINET

    azyklische Datenbertragung

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 11

    PROFINET: Angriffsszenarien 1/2

    DCP_Identify_Request

    ARP_Request

    DCP_Timeout

    ARP_Timeout

    DCP_Identify_Respon

    se

    DCP_Identify_Reques

    t

    ARP_Request

    ARP_Response

    DCP_Identify_Response

    IO-Controller IO-DeviceAttacker

    Denial-Of-Service:Initialisierung: Vergabe der IP-Adresse

    Einleitung ZusammenfassungPROFINET

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 12

    PROFINET: Angriffsszenarien 2/2

    Man-In-The-Middle:Betriebsphase: zyklische Datenbertragung

    RTC_Data (Out-Data)

    PS_IO-DRTC_Data (Out-Data)

    RTC_Data (In-Data)

    RTC_Data (In-Data)

    PS_IO-C

    RTC_Data (Out-Data)*RTC_Data (Out-Data)

    RTC_Data (In-Data)*

    RTC_Data (In-Data)

    RTC_Data (In-Data)

    PS_IO-C

    RTC_Data (Out-Data)*

    IO-Controller IO-DeviceAttacker

    Send

    cyc

    le

    Send

    cyc

    le

    PS_C

    ...

    Attacker

    DCP_Identify_Requ

    est DCP_Identify_Request

    DCP_Identify_Resp

    onse

    DCP_Identify_Response*

    RTC_Data (Out-Dat

    a)

    RTC_Data(In-Data)

    RTC_Data (Out-Dat

    a)

    RTC_Data(In-Data)

    IO-Controller IO-Device

    Einleitung ZusammenfassungPROFINET

    Initialisierung: Vergabe der IP-Adresse

  • Andreas Paul: Verwundbarkeitsanalyse des Industrial-Ethernet Protokolls PROFINET 13

    Zusammenfassung

    Automatisierungsnetz (spez. Feldbus-Systeme) Anforderungen stehen mit denen zur Gewhrleistung klassischer

    IT-Schutzziele in Konkurrenz fehlende Mechanismen zur Sicherung einer authentifizierten

    Kommunikation + Wahrung der Datenintegritt abgeleitete Angriffe knnen auf andere Technologien bertragen werden!

    Ausblick: Schutz des Automatisierungsnetzes Ziel: Erweiterung der Sicherheit von SCADA-Systemen unter

    Bercksichtigung gegebener Anforderungen Franka Schuster: Intrusion-Detection fr Automatisierungstechnik

    Einleitung ZusammenfassungPROFINET

  • Vielen Dank fr Ihre Aufmerksamkeit!

    Fragen? Anmerkungen?