Server im Rechenzentrum mit Netzwerkkabeln

Als 700.000 Netgear-Router einen einzigen Zeitserver fluteten

Im Mai 2003 brüllte ein einziger Zeitserver der University of Wisconsin–Madison unter einer Last, die er nie hätte sehen dürfen: Hunderttausende Netgear-Router auf der ganzen Welt fragten ihn im Sekundentakt nach der Uhrzeit. Schuld war kein Angriff, sondern ein simpler Programmierfehler – eine fest einprogrammierte IP-Adresse. Die Geschichte zeigt, wie aus einer harmlosen Funktion versehentlich eine verteilte Überlastung wird.

Aufgeschrieben hat den Fall der Netzwerk-Ingenieur Dave Plonka von der UW–Madison. Sein Bericht vom 21. August 2003 ist bis heute ein Lehrstück darüber, was passiert, wenn massenhaft billige Geräte dieselbe Voreinstellung teilen.

Erst einmal: Was macht NTP?

Damit Computer, Router und Smart-Home-Geräte eine korrekte Uhrzeit haben, gleichen sie ihre Uhr über das Network Time Protocol (NTP) mit Zeitservern im Internet ab – über UDP-Port 123. Einfache Geräte nutzen die abgespeckte Variante SNTP (Simple NTP). Das ist völlig normal und harmlos – solange sich ein Gerät höflich verhält: Es fragt einen per Hostnamen erreichbaren Server (idealerweise einen ganzen Pool) nur alle paar Minuten bis Stunden ab und wartet nach einem Fehler geduldig, statt sofort erneut anzuklopfen.

Der Fehler: eine IP-Adresse, fest im Code

Die betroffenen Netgear-Router (unter anderem RP614 und RP614v2, MR814, DG814, HR314 und RO318) machten gleich drei Dinge falsch. Ihr eingebauter SNTP-Client:

  • hatte eine feste Server-IP im Code: alle Geräte fragten stur 128.105.39.11 ab – genau den Server ntp1.cs.wisc.edu der Uni Wisconsin, ohne Hostnamen, ohne Ausweichmöglichkeit;
  • nutzte einen festen Quellport: UDP-Port 23457 – wodurch sich die Geräte später zwar leicht identifizieren ließen, das Grundproblem aber nicht kleiner wurde;
  • fragte viel zu aggressiv: im Sekundentakt, bis endlich eine Antwort kam. Erst danach schaltete es auf größere Abstände (je nach Modell eine Minute bis 24 Stunden) um.
Siehe auch  Minecraft-Welt auf andere PS4 übertragen – So geht's

Solange der Server antwortete, beruhigten sich die Geräte. Antwortete er nicht – etwa weil er gerade überlastet war –, hämmerten Hunderttausende Router gleichzeitig jede Sekunde weiter. Ein Teufelskreis, der sich selbst am Leben hielt.

Die Flut

Am 14. Mai 2003 gegen 8 Uhr morgens explodierte der Datenverkehr. Statt der üblichen rund 40.000 Pakete pro Sekunde des gesamten Campus prasselten zeitweise mehr als 250.000 Pakete pro Sekunde und über 150 Megabit/s allein an SNTP-Anfragen herein. Netgear bezifferte die Zahl der ausgelieferten betroffenen Geräte später auf 707.147; die Uni zählte an manchen Tagen über 500.000 einzelne Clients – und das war wegen NAT vermutlich noch zu niedrig gegriffen. Hätten alle Geräte gleichzeitig angefragt, wären theoretisch bis zu 700.000 Pakete/s (426 Mbit/s) möglich gewesen.

Detektivarbeit mit strings

Zunächst war unklar, woher die 76 Byte großen UDP-Pakete kamen. Auffällig war der immer gleiche Quellport 23457. Über befreundete Universitäten, in deren Netzen verdächtige Adressen lagen, ließen sich die Absender schließlich als Netgear-MR814-Router identifizieren. Den Beweis lieferte die Firmware selbst: Mit dem simplen Kommandozeilen-Werkzeug strings zog Plonka lesbare Zeichenketten aus den Firmware-Dateien – und fand darin die hart einprogrammierte Adresse 128.105.39.11 schwarz auf weiß.

Wie der Fall gelöst wurde

Der Weg zu Netgear war zäh: Auf die erste E-Mail Mitte Juni 2003 folgte erst nach 23 Tagen eine automatische Antwort. Der Durchbruch kam per Anruf – ein Support-Direktor bestätigte den Fehler –, danach bildete sich ein 15-köpfiges Prüfteam aus Netgear-Mitarbeitern, Uni-Personal und unabhängigen Fachleuten. Die reparierte Firmware änderte das Verhalten grundlegend:

  • Anfragen erst, wenn ein DNS-Server konfiguriert ist – keine feste IP mehr;
  • Auflösung von time-a.netgear.com und time-b.netgear.com im 10-Minuten-Takt, also über Netgears eigene Infrastruktur;
  • ein Zeitserver wird erst kontaktiert, wenn die Namensauflösung geklappt hat;
  • zwischen Wiederholungen liegen 10 Minuten, und nach 5 Versuchen gibt das Gerät auf.
Siehe auch  Wie groß kann eine Minecraft Welt werden (in GB) ?

Parallel schaltete die Uni die Anfragen zunächst am Netzrand ab und prüfte größere Lösungen (etwa einen per BGP verteilten Anycast-Zeitdienst). Zwischen Netgear und der UW–Madison wurde zudem eine – vertraulich gehaltene – Einigung ausgehandelt.

Warum das kein Einzelfall blieb

Plonkas Bericht nennt selbst einen Parallelfall: In Australien fluteten rund 85.000 SMC-Router den Zeitserver der Forschungsorganisation CSIRO mit zweimal pro Minute wiederholten Anfragen. Das Muster wiederholte sich: 2006 legten hart einprogrammierte Adressen in D-Link-Firmware unter anderem den Zeitserver eines dänischen Betreibers lahm – wieder mit anschließendem Vergleich.

Die Konsequenz zog die Internet-Gemeinde auf zwei Ebenen. Erstens als Norm: Der von Plonka mitverfasste RFC 4085 von 2005 trägt den sprechenden Titel „Embedding Globally-Routable Internet Addresses Considered Harmful“ – das Einbetten fester öffentlicher IP-Adressen in Geräte gilt seither ausdrücklich als schädlich. Zweitens praktisch: Das NTP-Pool-Projekt bietet Herstellern eigene „Vendor Zones“ an – ein rotierender Verbund vieler Server, den ein Gerät per Hostnamen anspricht, statt einen einzelnen Rechner zu belagern.

Was Hersteller – und du – daraus lernen

  • Nie eine einzelne fremde IP-Adresse fest ins Gerät brennen. Hostnamen und einen Server-Pool verwenden.
  • Höflich abfragen: große Intervalle, zufällige Verzögerung (Jitter) und echtes Backoff nach Fehlern – niemals im Sekundentakt weiterhämmern.
  • Wer viele Geräte ausliefert, richtet eine eigene Zeitserver-Infrastruktur ein oder nutzt eine NTP-Pool-Vendor-Zone – mit Erlaubnis des Betreibers.
  • Für Nutzerinnen und Nutzer: Router-Firmware aktuell halten. Genau solche Fehler werden per Update behoben.

Der Fall ist über 20 Jahre alt – und heute relevanter denn je. Im Zeitalter von Milliarden billiger IoT-Geräte kann eine einzige unbedachte Voreinstellung im Firmware-Image ausreichen, um wildfremde Server unbeabsichtigt in die Knie zu zwingen. Netgears Router waren dabei nie böswillig – sie taten nur, exakt und millionenfach, was jemand ihnen einprogrammiert hatte.

Siehe auch  Einführung in LLMs: Was sind Tokens und warum sind sie entscheidend für die Leistung von KI-Modellen?

Quelle: Dave Plonka, „Flawed Routers Flood University of Wisconsin Internet Time Server“ (UW–Madison, 2003) · RFC 4085 · NTP Pool – Information for Vendors.

Nach oben scrollen