Sharkhawy, M. (2021). Attack detection and mitigation for high-precision clock synchronization - The precision time protocol (PTP) case study [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.62007
As distributed computing applications increasingly rely on a common notion of time,clock synchronization protocols become valuable assets to protect and interesting targetsfor attackers. Most common clock synchronization protocols do not provide any security mechanisms by default, being challenged by the fact that the functionality of these security mechanisms itself is preconditioned by the availability of synchronized time.This creates a hen-and-egg-like problem that is difficult or sometimes impossible to solve.One of the protection schemes for clock synchronization that has been recently proposed is SecureTime [1]. SecureTime protects network messages using digital signatures andprovides delay bounds to mitigate delay attacks.In this thesis we investigate whether SecureTime can be adapted for use with the PrecisionTime Protocol (PTP), how SecureTime affects PTP’s accuracy and to which extent it is interoperable with existing PTP implementations. First, we adapt the design of SecureTime for use with PTP by proposing extensions for the practical realization of SecureTime. Most notably parts of the architecture that have been omitted by the original authors because of the generic architectural concept are designed and implemented. These additions include, but are not limited to a session initialization procedure for which we design a Datagram Transport Layer Security (DTLS)based solution and a cookie-based delay measurement authentication procedure that is inspired from the design of Network Time Security (NTS). Efforts are made to avoid introducing per-slave state on a PTP master and to avoid traffic-amplification attacks against PTP’s delay measurement. We identify challenges when operating SecureTime with transparent clocks or in a hybrid setting, together with standard PTP nodes. Based on these findings we implement a prototypical SecureTime instance by modifying the Linux PTP software. Essential for the SecureTime evaluation is a measurement system that we implement to determine the accuracy of clock synchronization achieved via PTP. To this end we use two Beaglebone Black single board computers and a Global Positioning System (GPS) receiver. We thoroughly document sources of inaccuracy in the measurement setup and the solutions we apply to avoid them. An adversary system that is capable of performing highly accurate delay attacks on PTP is implemented using the Data Plane Development Kit (DPDK).We compare standard PTP and SecureTime-enhanced PTP experimentally and determine that SecureTime does not impact the accuracy of PTP negatively. In addition, we test our SecureTime implementation under various types of delay attacks and confirm that SecureTime can detect delay attacks if it is correctly parametrized.
en
Die korrekte Funktion verteilter Systeme hängt zunehmend von einer synchronen Zeit in deren verteilten Instanzen ab. Uhrensynchronisationsprotokolle werden somit zu grundlegenden, schützenswerten Komponenten verteilter Systeme, gleichzeitig aber auch zu lohnenden Zielen für Angreifer. Die meisten für Kommunikationsnetze standardisierten Uhrensynchronisationsprotokolle bieten jedoch keine Sicherheitsmechanismen und sind ausschließlich in abgeschlossenen, vertrauenswürdigen Netzen einsetzbar. Wesentlicher Grund dafür ist, dass gängige kryptographische Sicherheitsmechanismen, wie beispielsweise Authentifizierung oder Verschlüsselung, die Verfügbarkeit von synchroner Zeit voraussetzen. Diese inhärente Abhängigkeit von Sicherheits- und Uhrensynchronisationsprotokollen schafft ein Henne-Ei-Problem, das schwierig oder manchmal unmöglich zu lösen ist. Eine kürzlich vorgeschlagene Sicherungsmaßnahme für netzwerk-basierte Synchronisation von Uhren ist SecureTime [1]. SecureTime schützt Netzwerknachrichten mit digitalen Signaturen und führt harte, systemspezifische Grenzen in der Verzögerung von Nachrichten ein, um Verzögerungsangriffe auf die Uhrensynchronisation zu erkennen.In dieser Arbeit untersuchen wir, ob SecureTime für die Verwendung mit dem Precision Time Protocol (PTP) angepasst werden kann, wie SecureTime die Genauigkeit von PTP beeinflusst und inwieweit es mit bestehenden PTP Implementierungen kompatibel ist.Zunächst passen wir das Design von SecureTime für die Verwendung mit PTP an, indem wir Erweiterungen für die praktische Umsetzung von SecureTime vorschlagen. Teile der Architektur, die von den ursprünglichen Autoren aufgrund des generischen Architekturkonzepts nicht festgelegt werden konnten, werden entworfen und implementiert. Diese Erweiterungen beinhalten unter anderem ein Session-Initialisierungsverfahren, für das wir eine Datagram Transport Layer Security (DTLS)-basierte Lösung vorschlagen und ein Cookie-basiertes Authentifizierungsverfahren für die Verzögerungsmessung, das vom Design von Network Time Security (NTS) inspiriert wurde. Ein wesentliches Ziel des Entwurfs ist zu vermeiden, dass der PTP-Master Zustände von PTP-Slaves speichern muss. Weiters versucht der Entwurf die missbräuchliche Verwendung des Protokolls für Angriffe, sogenannte Amplification-Angriffe, zu minimieren. Wir identifizieren Herausforderungen on SecureTime mit transparenten Uhren und in einer hybriden Umgebung, gemeinsam mit Standard-PTP Systemen. Basierend auf diesen Erkenntnissen implementieren wir eine prototypische SecureTime-Instanz, durch Modifikation der Linux PTP Software. Wesentlich für die SecureTime-Evaluierung ist ein Messsystem, das wir implementieren, um die Genauigkeit der Uhrensynchronisation über PTP zu bestimmen. Zu diesem Zweck verwenden wir zwei Beaglebone Black Einplatinencomputer und einen Global Positioning System (GPS) Empfänger. Wir dokumentieren ausführlich die Quellen der Ungenauigkeit im Messaufbau und die Lösungen, die wir anwenden, um diese zu vermeiden. Ein Angreifer-System, das in der Lage ist, hochpräzise und konfigurierbare Verzögerungsangriffe auf PTP durchzuführen, wird auf Grundlage des Data Plane Development Kit (DPDK) entworfen und aufgebaut. Wir vergleichen Standard-PTP und SecureTime-erweitertes PTP experimentell undstellen fest, dass SecureTime die Genauigkeit von PTP nicht negativ beeinflusst. Darüber hinaus testen wir unsere SecureTime-Implementierung unter verschiedenen Arten von Verzögerungsangriffen und bestätigen, dass SecureTime Verzögerungsangriffe erkennen kann, wenn es richtig parametrisiert wurde.