Was ist ein Memcached-DDoS-Angriff?
Ein Memcached-DDoS-Angriff ist ein Reflexions- und Verstärkungsangriff. Angreifer senden kleine UDP-Anfragen mit gefälschter Absenderadresse, nämlich der des Opfers, an Memcached-Server, die aus dem Internet erreichbar sind. Diese Server antworten dem Opfer mit deutlich größeren Datenmengen. Das Opfer wird von Verkehr überflutet, den es nie angefordert hat, während die eigentlichen Absender hinter den Reflektoren verborgen bleiben.
So funktioniert es
- Memcached ist ein In-Memory-Cache, mit dem Anwendungen häufig gelesene Daten schnell bereithalten. Er gehört in ein privates Netz.
- Manche Server waren mit aktiviertem UDP auf Port 11211 und ohne Authentifizierung aus dem Internet erreichbar.
- UDP prüft den Absender nicht, daher kann ein Angreifer die Absenderadresse fälschen. Der Server antwortet an diese Adresse.
- Eine kleine Anfrage kann eine sehr große Antwort auslösen, der Verkehr beim Opfer ist also ein Vielfaches des gesendeten. Die Tabelle der Bandbreitenverstärkung von US-CERT führt Memcached mit dem 10.000- bis 51.000-Fachen, dem höchsten Wert der Liste.
Reales Beispiel
Am 28. Februar 2018 wurde GitHub von einem Angriff getroffen, der 1,35 Tbit/s (126,9 Millionen Pakete pro Sekunde) erreichte und mit einem Verstärkungsfaktor von bis zu 51.000 gemeldet wurde. Laut Vorfallbericht war die Seite von 17:21 bis 17:26 UTC komplett und bis 17:30 UTC zeitweise nicht erreichbar; danach leitete GitHub den Verkehr über das Edge-Netz von Akamai und filterte an der Netzgrenze. Das Memcached-Projekt hatte am Vortag, dem 27. Februar 2018, Version 1.5.6 veröffentlicht, die UDP standardmäßig abschaltet.
So schützen Sie sich
Diese Schritte gelten für Ihre eigenen Server und Ihr eigenes Netz.
- Memcached nicht ins Internet stellen. An localhost oder eine private Schnittstelle binden und Port 11211 in Firewall oder Security Group sperren.
- UDP deaktivieren, wenn es nicht gebraucht wird (ab Memcached 1.5.6 standardmäßig aus).
- SASL-Authentifizierung nutzen oder den Cache nur über die Anwendungsebene erreichbar machen.
- Netzbetreiber: gefälschten Verkehr am Rand filtern. Ingress-Filterung (BCP 38) verhindert, dass gefälschte Absenderadressen das Netz verlassen, und nimmt der Reflexion die Grundlage.
- Opfer: vorgelagerten Schutz nutzen. Eine Flut von 1 Tbit/s kann kein einzelner Server und keine einzelne Leitung auffangen. Setzen Sie auf einen DDoS-Schutz- oder CDN-Anbieter und halten Sie den Notfallkontakt Ihres Providers bereit. CISA nennt außerdem ferngesteuertes Blackholing mit den Upstream-Providern.
Das allgemeine Vorgehen steht in DDoS-Angriffe stoppen und DoS-Schutz.
Häufige Fehler
- Einen Cache für "intern" halten und nie prüfen, welche Ports ins Internet zeigen.
- Sich auf eine Standardkonfiguration älterer Versionen verlassen, bei der UDP aktiv war.
- Glauben, die eigene Firewall fange eine volumetrische Flut ab. Wenn die Pakete dort ankommen, ist die Leitung schon voll.
- Nicht bemerken, dass der eigene Server der Reflektor ist. Ungewöhnlicher ausgehender UDP-Verkehr eines Cache-Hosts ist ein Warnzeichen.
Verwandte Angriffe
Der Missbrauch von Memcached folgt dem Muster des DNS-Amplification-Angriffs und gehört zu den volumetrischen Angriffen unter Distributed Denial of Service. Reine UDP-Floods senden den Verkehr direkt, statt ihn zu reflektieren.
Wo LoadFocus passt
LoadFocus simuliert keine Angriffe und stellt die Memcached-Verstärkung nicht nach: Das ist reflektierter UDP-Verkehr, den nur Ihr Netzbetreiber oder Ihr DDoS-Schutzanbieter auffangen kann. Lasttests von LoadFocus senden HTTP- und HTTPS-Verkehr an Systeme, die Sie testen dürfen, und zeigen, wie viel legitime Last Ihre Anwendung verkraftet. Zum Unterschied zwischen Last- und Stresstest siehe Load Testing vs. Stress Testing.
Häufige Fragen: Memcached-DDoS-Angriffe
Welchen Port nutzt ein Memcached-DDoS-Angriff?
UDP-Port 11211, den Standardport von Memcached. Ihn aus dem Internet zu sperren, schließt den Hauptweg.
Ist meine Website gefährdet, wenn ich Memcached nutze?
Sie können als Reflektor missbraucht werden, wenn Memcached mit aktiviertem UDP aus dem Internet erreichbar ist. Als Opfer sind Sie wie jede andere Seite gefährdet. Das Binden an eine private Schnittstelle löst das erste Problem.
Wie groß können solche Angriffe werden?
GitHub maß am 28. Februar 2018 1,35 Tbit/s, der Verstärkungsfaktor wurde mit bis zu 51.000 angegeben. Angriffsgrößen ändern sich, jede Zahl ist eine Momentaufnahme.
Hat die Korrektur von 2018 das Problem beendet?
Version 1.5.6 schaltete UDP standardmäßig ab, was neuen Installationen hilft. Alte Versionen und Server mit ausdrücklich aktiviertem UDP lassen sich weiter missbrauchen, deshalb bleiben Firewall-Regeln wichtig.
Kann ich meine Abwehr mit LoadFocus testen?
Nein. LoadFocus erzeugt keinen Angriffsverkehr, sondern testet, wie sich Ihre Anwendung unter legitimer HTTP-Last verhält. Tests der DDoS-Resilienz erfordern das Verfahren Ihres Schutzanbieters und eine schriftliche Genehmigung.
Verwandte Begriffe
- Was ist ein UDP-Flood-DDoS-Angriff?
- Was ist ein Application-Layer-DDoS-Angriff?
- Was ist ein HTTP-Flood-DDoS-Angriff?
- Was ist Schutz vor Denial-of-Service (DoS)?
- Was ist Distributed Denial of Service (DDoS)?
- DDoS-Angriffe
- DDoS-Angriffe stoppen: Praktischer Leitfaden
- Was ist ein DNS-Amplification-Angriff? Abwehr
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.