NTP (UDP-Port 123) dient zur Synchronisation der Systemuhren. ,,Es ist kein
demokratisches Protokoll, sondern glaubt an die Idee einer absolut korrekten
Zeit, die dem Datennetz durch Maschinen mit Atomuhren oder Funkuhren, die das
nationale Zeitnormal empfangen, offenbart wird`` [FSI-96].
Diese Maschinen werden als Primary-Time-Server bezeichnet. Rechner, die
zur Synchronisation einen Primary-Time-Server fragen, werden als Secondary-Time-Server bezeichnet. Um seine Systemuhren per NTP zu
synchronisieren, kontaktiert ein Rechner einen oder mehrere
Secondary-Time-Server. Dieser Rechner ist dann der Time-Server für ein LAN,
den wiederum die Maschinen im LAN nach der korrekten Zeit fragen können.
NTP ist ein beliebtes Angriffsziel, da durch Verändern der Systemzeit
zeitbasierte Authentisierungsmechanismen ausgehebelt werden können. Wenn
ein Angreifer den Netzwerktraffic mitgelesen hat, kann er nach Verändern
der Systemzeit zuvor erspähte Passworte nochmal verwenden. Diese Methode wird
als rplay-attack bezeichnet. Doch das Verändern der Systemzeit kann
noch weitere Auswirkungen haben:
In den meisten Betriebssystemen gibt es die Möglichkeit, Programme zu
einer bestimmten Zeit ausführen zu lassen. Unter Unix ist dieser
Mechanismus als cron-job bekannt. Meist sind dies Programme, die
regelmäßig anfallende Administrationsaufgaben, wie z.B. das Rotieren oder
Löschen von Logfiles, erledigen. Wenn diese Programme nicht mehr ausgeführt
werden, können die Filesysteme überlaufen. Ein Angreifer kann aber auch
durch Manipulieren der Systemzeit versuchen, seine Spuren zu verwischen.
Angriffe auf NTP erfolgen oft indirekt, d.h. auf den oder die Time-Server, von denen das Angriffsziel seine Zeitangaben bezieht. Diese Server kann man durch NTP-Trace-Anfragen ausfindig machen.