News vom 10.01.2014


Meinberg Security Advisory: [MBGSA-1401] NTP Netzwerk Amplification Angriffsmöglichkeit

Seit einiger Zeit berichten mehrere Websites und Cyber-Security-Organisationen über den Missbrauch der "monlist" Funktion der Referenz-Implementierung von NTP. Diese Funktion wird anscheinend immer öfter dafür ausgenutzt per "Traffic Amplification" (Netzwerk-Verkehr-Verstärkung) Angriffe gegen Internet Hosts durchzuführen oder lediglich die betroffenen Systeme und deren Funktion durch eine erhöhte Systemauslastung zu beeinträchtigen. Betroffen sind alle NTP Versionen bis ntp-4.2.7p26 und somit auch Meinberg Produkte aus der LANTIME Serie. Ihre NTP Server gegen diesen Missbrauch zu schützen ist relativ einfach und kann durch eine Ergänzung bzw. Änderung Ihrer Konfiguration erreicht werden.

CVE-ID: CVE-2013-5211

1. Beschreibung des Problems

Meinberg erhält seit einigen Tagen vermehrte Anfragen und Berichte von Kunden über eine gesteigerte Anzahl von Versuchen, laufende NTP Instanzen für "Traffic Amplification" Angriffe zu verwenden.

Die Referenz-Implementierung von NTP, veröffentlicht vom NTP Public Services Projekt (www.ntp.org), erlaubt es Benutzern, eine Liste von NTP Kommunikationspartnern anzufordern, d.h. von NTP Clients und Servern mit denen der NTP Daemon ntpd zuletzt Pakete ausgetauscht hat. Diese Liste, genannt "monlist", hat eine Beschränkung auf 600 Einträge und kann somit maximal 600 IP Adressen und einige andere statistische Angaben enthalten (Anzahl der ausgetauschten Pakete mit der IP Adresse usw.).

Bei den meisten NTP Clients umfasst diese Liste nur die verwendeten NTP Server und ist somit meist auf weniger als 10 Einträge begrenzt. Auf NTP Servern mit vielen Clients enthält die Liste allerdings das Maximum von 600 Einträgen. Da nur ein relativ kleines Anfragepaket notwendig ist, um den NTP Server zu veranlassen eine große Datenmenge an den (vermeintlichen) Absender der Anfrage zu versenden, spricht man von "Traffic Amplification".

Verwendet ein Angreifer eine gefälschte Absender-IP bei der Anfrage, wird der Server seine umfangreiche Antwort an die gefälschte IP senden. Das erlaubt es dem Angreifer, eine große Menge an Netzwerktraffic an jede beliebige IP Adresse schicken zu lassen, die der missbrauchte NTP Server erreichen kann. Durch das Senden einer großen Anzahl von Anfragepaketen, eventuell auch von mehreren Systemen, kann das Ziel des Angriffes durch die Menge an Netzwerktraffic in seiner Funktion als NTP Server (und auch anderweitig) stark beeinträchtigt werden, bis hin zum Totalausfall.

2. Betroffene Systeme

Alle NTP Installationen, die eine ntpd Version kleiner als 4.2.7p26 ausführen, werden in der Standardkonfiguration auf NTP Mode 7 "monlist" Anfragen antworten. Ab Version 4.2.7p26 wurde die "monlist" Funktion entfernt und durch ein "mrulist" Feature ersetzt, das NTP Mode 6 Pakete verwendet und durch ein Handshake-Verfahren verhindert, dass ntpd eine beliebige andere IP Adresse mit einer großen Anzahl von Netzwerk-Paketen trifft.

Meinberg LANTIME NTP Server bis einschließlich Firmware Version 6.14.020 erlauben Mode 6/Mode 7 Zugriffe im Auslieferungszustand (Factory Defaults) und sind somit ebenfalls betroffen.

3. Mögliche Gegenmaßnahmen

Meinberg LANTIME Systeme

Modulares 1HE Gehäuse für Zeit- und Frequenzsynchronisation

Modulares 1HE Gehäuse für Zeit- und Frequenzsynchronisation

Weiterlesen...
Höchste Sicherheitsfunktionen mit dem IMS LANTIME M1000

Höchste Sicherheitsfunktionen mit dem IMS LANTIME M1000

Weiterlesen...

Für Meinberg LANTIME Produkte mit Firmware Versionen V4.x und V5.x kann durch eine Konfigurationsänderung erreicht werden, dass NTP Mode 6 und Mode 7 Anfragen von beliebigen IP Adressen nicht mehr beantwortet werden. Dafür muss die "Edit additional NTP Configuration" Funktion auf der NTP-Seite des Web-Interfaces verwendet werden.

Fügen Sie die folgenden Zeilen zur "Additional NTP Configuration" Ihrer LANTIME Systeme hinzu:

# LANTIME Additional NTP Configuration:
restrict default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery
restrict 127.0.0.1

WICHTIG: Die letzte "restrict" Zeile ist wichtig, damit die interne Abfrage des NTP Status weiter funktioniert. Sollten Sie diese Konfigurationszeile (restrict 127.0.0.1) nicht oder nicht richtig einfügen, kann das zu Problemen bei der Darstellung und Auswertung des NTP Status auf dem Web Interface, im Display und bei konfigurierten Alarmierungen führen.

LANTIME Systeme mit einer V6 Firmware können durch das gleiche Verfahren geschützt werden oder durch Auswählen der "Disable mode 6 / mode 7" Option im "General Options" Abschnitt der NTP Seite im Web-Interface.

Andere NTP Installationen

Wenn das Aktualisieren Ihrer NTP Installationen auf anderen Systemen nicht möglich ist, können Sie in ähnlicher Art und Weise den Support für Mode 6 / Mode 7 Pakete einschränken. Das "noquery" Flag deaktiviert den Mode 6 und Mode 7 Support für Statusabfragen (und somit auch "monlist") und kann in einer "Default Restrict" Definition gesetzt werden, die damit erstmal alle eingehenden Anfragen ignoriert. Für einzelne IP Adressen oder Subnets kann dann der Zugriff durch weitere "restrict" Anweisungen erlaubt werden.

NTP Mode 6/mode 7 Pakete werden verwendet, um Status Informationen vom NTP Daemon Prozess (ntpd) abzufragen und erlauben es einem Angreifer, Informationen über die laufende NTP Version, das Betriebssystem und andere Details wie z.B. den Status des NTP Dienstes und die verwendeten Zeitquellen bzw. Upstream NTP Server zu sammeln. Neben dem Abschalten der Möglichkeit des Sammelns von Informationen für nicht autorisierte Systeme empfiehlt Meinberg auch, die Unterstützung für das Verändern von Konfigurationsparametern des NTP Prozesses zu blockieren. Das kann mit dem "nomodify" Flag erreicht werden.

HINWEIS: Um mehr über die Bedeutung und Verwendung der Konfigurationsbefehle von NTP zu erfahren, kann die NTP Dokumentation auf http://doc.ntp.org eingesehen werden. Die hier gezeigten Konfigurationsbeispiele sollten mit allen ntpd Versionen von 4.2.0 bis 4.2.6 funktionieren, mit der Einschränkung, dass IPv6 betreffende Befehle natürlich nur auf Systemen eingesetzt werden können, die auch IPv6 Support haben.

Fügen Sie die folgenden Zeilen zu Ihrer NTP Konfigurationsdatei (ntp.conf) hinzu:

# for IPv4
restrict default limited kod nomodify notrap nopeer noquery
# for IPv6
restrict -6 default limited kod nomodify notrap nopeer noquery

Diese Anweisungen bewirken, dass alle eingehenden Mode 6 und Mode 7 Anfragen nicht mehr beantwortet werden und aktiviert außerdem die sogenannte "kiss-o'-death" (kod) Funktion von NTP. Eine Einschränkung für das Abfragen der Zeitinformation ist damit nicht gegeben und somit wird weiterhin jeder IP Adresse erlaubt, Client Requests zu schicken.

Meistens ist es sinnvoll, auf dem NTP Server selbst vollen Zugriff zu gewähren, damit der Administrator und ggf. Überwachungssoftware in der Lage ist, den NTP Status abzufragen. Das erreicht man dadurch, dass man die oben definierten Standard-Einschränkungen für die Localhost IP Adresse deaktiviert:

# for IPv4
restrict 127.0.0.1
# for IPv6
restrict -6 ::1

Um vom Standard (default) abweichende Einschränkungen für autorisierte IP Adressen und Subnetze zu definieren, kann man weitere "restrict" Befehle in die Konfiguration einfügen. Wenn Sie z.B. einem Administrator-PC mit der IP 192.168.0.20 den vollen Zugriff zu erlauben, müssen Sie die folgende Zeile in die Konfiguration einfügen:

# for IPv4
restrict 192.168.0.20 nomodify nopeer

Oder, um die Einschränkungen für ein ganzes Subnetz zu deaktivieren:

# for IPv4
restrict 192.168.0.0 mask 255.255.255.0

5. Weitere Quellen

Mehr über dieses Sicherheitsproblem können Sie auf den folgenden Websites erfahren:

Bitte zögern Sie nicht, Ihren Meinberg Support zu kontaktieren, wenn Sie noch Fragen haben oder Unterstützung benötigen.

Aktualisiert am 15.01.2014:
Hinzufügen von CVE-ID, Links zu CERT und NTP.org (unter 5.) sowie hinzufügen des "limited" Keywords bei den Konfigurationsbeispielen, weil "kod" sonst ohne Funktion ist.


Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact Meinberg Mail Contact