Einfach anzugreifen: das Precision Time Protocol

| Redakteur: Richard Oed

Mit geringem Aufwand kann das Precision Time Protocol von Insidern manipuliert werden. Forschern gelang es, die Systemzeit um 48 Jahre zu verstellen.
Mit geringem Aufwand kann das Precision Time Protocol von Insidern manipuliert werden. Forschern gelang es, die Systemzeit um 48 Jahre zu verstellen. (Bild: gemeinfrei / Pixabay)

Aus latenzzeitkritischen Netzwerk-Applikationen ist das Precision Time Protocol nicht mehr wegzudenken. Forschern von IBM und dem Marist College haben es nun gehackt und Systemuhren um bis zu 48 Jahre verstellt.

Gleich auf drei Wegen konnte ein sechsköpfiges Wissenschaftlerteam mit Insider-Angriffen die Uhrzeit in einem Computernetzwerk manipulieren. Dazu fälschten die Forscher des Marist College in Poughkeepsie / New York und der dortigen IBM-Niederlassung Nachrichten des Precision Time Protocol (PTP) zwischen Master- und Slave-Uhren. Während einer kurzen Attacke waren sie so in der Lage, die Systemzeit um mehr als einen Tag umzustellen, bei einem 37-minütigen Angriff wurde sogar ein Offset um 48 Jahre erreicht.

Das in IEEE 1588-2008 definierte Precision Time Protocol stellt eine der effektivsten Methoden dar, um die Systemzeit in großen und wirtschaftlich bedeutenden Netzwerken mit großer Genauigkeit zu synchronisieren. Die Synchronität der Uhrzeit ist beispielsweise für die Sicherheit bei Finanztransaktionen, bei Cloud-Dienstleistern oder auch im Energiesektor sehr wichtig. Deswegen schreiben Kontrollorgane wie die europäische Wertpapieraufsichtsbehörde European Securities and Markets Authority (ESMA) für manche Applikationen auch eine maximale Abweichung der Systemuhren vor.

Das PTP spezifiziert ein Netzwerk von kommunizierenden Uhren (PTP-Knoten) in Master-Slave-Anordnung und besteht aus drei Hauptschichten: der Auswahl der Referenzuhr (Grand-Master-Clock) mittels eines Best-Master-Clock-(BMC-)Algorithmus, dem Senden von Nachrichten mit einem Zeitstempel und einer Management-Schicht. Bei der Auswahl der Referenzuhr sendet jeder in Frage kommende Knoten eine ANNOUNCE-Nachricht über den Physical Layer an das Netzwerk, in der er die Genauigkeit seiner Zeitquelle sowie einige Zusatzinformationen bekanntgibt. Der BMC-Algorithmus wählt daraufhin die Grand-Master-Uhr aus. Diese sendet dann mittels Multicast eine SYNC-Nachricht mit ihrem Zeitstempel an alle Slave-Knoten. Das Protokoll misst dabei die Laufzeitverzögerung und kompensiert diese selbst.

Drei Angriffsszenarien führten zum Erfolg

Insgesamt testeten die Forscher drei Angriffsmethoden, wobei der Angriffscode immer in Python geschrieben wurde und die gefälschten Pakete mittels des Programms Scapy zusammengesetzt wurden. Die erste Methode führte eine sogenannte „Master Spoof DoS Attack“ durch, bei der Datenpakete mit ANNOUNCE- und SYNC-Nachrichten als Denial-of-Service Angriff in rascher Folge parallel zu einer echten Grand-Master-Clock (die ihre Pakete mit niedrigerer Frequenz aussendet) erzeugt und verschickt wurden. Um realistische Pakete zu erzeugen, wurde zuerst durch einen Netzwerk-Sniffer der unverschlüsselte PTP-Verkehr der Referenzuhr abgegriffen und dann die gefälschten Pakete entsprechend aufgebaut.

Mit einem nur 37 Sekunden dauernden Angriff waren die Wissenschaftler in der Lage, den PTP4L-Service eines Slaves auf einen Offset von -2149,5 Minuten und einen PHC2SYS-Service-Offset von -35 Sekunden zu setzen. Die größte beobachtete Abweichung während der Tests belief sich auf 48 Jahre. Dabei reichen schon Diskrepanzen im Mikrosekundenbereich aus, um die Reihenfolge von Finanztransaktionen zu verändern oder die Serialisierung von Datenbank-Updates zu beeinflussen.

Für diese Attacke war es nicht notwendig, den eigentlichen Verkehr zwischen Grand-Master und den Ziel-Slaves zu unterbrechen. Ebenso wurde die Paketverzögerung (Packet Delay) nicht verfälscht. Bekannt sein musste nur die MAC-Adresse eines PTP-fähigen Switches, auch die IP-Adresse des Slaves war nicht von Nöten, da Multicast-Adresse und -Port immer gleich blieben.

Interessanterweise haben die Forscher beobachtet, dass sich die manipulierten Slaves teilweise von den Angriffen nicht oder nicht wesentlich erholten, selbst nachdem die Attacken beendet worden waren. Machbar wurde diese Angriffsart durch die Tatsache, dass beim PTP-Protokoll ein Slave keine Möglichkeit besitzt, die Identität seiner Grand-Master-Clock zu verifizieren.

Denial-of-Service-Angriffe mit ANNOUNCE-Paketen reichen aus

Die zweite Angriffsmethode, eine „ANNOUNCE Packet DoS Attack“ beschränke sich auf das Fälschen der ANNOUNCE-Pakete und das Spammen der Slaves. Das bereits genügte, um das Zeitsystem des Netzwerks durcheinanderzubringen. Nach Aussage der Forscher musste nicht einmal die Sequenznummer stimmen, um diesen Angriff erfolgreich durchzuführen. Im Gegensatz zur vorgenannten Angriffsart soll diese Attacke jedoch leicht zu blockieren sein.

Der dritte und aufwändigste Angriff war die „Master Clock Takeover Attack“, die vollständige Übernahme des Zeitsystems durch einen „bösen Zwilling“ (Evil Twin) der Zentraluhr. Hierbei gibt der böse Zwilling vor, dass seine Uhrzeit die Genauigkeit einer Atomuhr besitzt. Folglich wird er durch den Best-Master-Clock-Algorithmus als Grand-Master ausgewählt.

Zur Umsetzung wurden mittels Sniffing der Pakete einer echten Referenzuhr deren Sequenz-ID und die Frequenz der Pakete mit ANNOUNCE- und SYNC-Nachrichten bestimmt. Mit diesen Informationen generierten sie eine falsche Uhr mit denselben Attributen wie die andere Zentraluhr. Im Anschluss fälschte der böse Zwilling dann die ANNOUNCE-, SYNC- und DELAY-RESPONSE-Pakete für den Rest des Angriffs. Auch diese Attacke ist nur umsetzbar, da die Slaves keine Möglichkeit besitzen, die Identität eines Master-Clocks zu verifizieren.

Im Syslog erkennbare Spuren ermöglichen die Abwehr

Gemeinsam ist allen Attacken, dass sie Spuren in der Management-Konsole und im Syslog hinterlassen, die dazu verwendet werden können, die Angriffe durch eine dynamische Filterung der Angriffssignaturen abzuschwächen und Warnmeldungen auszugeben. Dennoch zeigten sich die Forscher von IBM und des Marist College von der Einfachheit der möglichen Attacken überrascht, auch wenn sie von Insidern durchgeführt werden müssen. So sei es nicht notwendig, die Kennung oder die IP-Adresse des Slaves zu wissen oder eine bestehende Kommunikation zu unterbrechen. Zudem sei das verwendete Programm mit 1500 Code-Zeilen sehr klein und passe leicht auf einen USB-Stick.

In ihrer Arbeit zeigen die Wissenschaftler mehrere Wege zur Abwehr solcher Angriffe auf das Precision Time Protocol auf. Insbesondere die Möglichkeit zur Überprüfung der Identität eines Master-Clocks durch den Slave stelle eine wirksame Maßnahme dar. Da der zugehörige Anhang S einer neuen Revision von IEEE 1588 derzeit noch in der Entwurfsphase ist, hoffen die Autoren dort auf entsprechende Änderungen.

Der Originalaufsatz wurde unter dem Titel „Impact of Cyberattacks on Precision Time Protocol“ von den IEEE Transactions on Instrumentation and Measurement akzeptiert und ist als Vorabveröffentlichung in der IEEE Xplore Digital Library verfügbar.

Quellenangabe

DeCusatis, C., Lynch, R.M., Kluge, W., Houston, J. Wojciak, P. Guendert, S.: Impact of Cyberattacks on Precision Time Protocol, in: IEEE Transactions on Instrumentation and Measurement Early Access (2019);
URL: https://ieeexplore.ieee.org/document/8721270, zuletzt abgerufen am 15. Juli 2019

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46030558 / Safety & Security)