Memcached-DDoS-Angriff

Memcached kann Websites beschleunigen, aber ein Memcached-Server kann auch ausgenutzt werden, um einen DDoS-Angriff auszuführen.

Share facebook icon linkedin icon twitter icon email icon

Memcached-DDoS-Angriff

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Einen Memcached-DDoS-Angriff definieren
  • Die Funktionsweise von Memcached erklären
  • Methoden zur Bekämpfung von Memcached-Angriffen aufzeigen

Was ist ein Memcached-DDoS-Angriff?

Ein verteilter Memcached-Denial-of-Service-(DDoS)-Angriff ist ein Cyberangriffstyp, bei dem ein Angreifer versucht, ein Opfer mit Internet-Traffic zu überfluten. Der Angreifer spooft Anfragen an einen anfälligen UDP-Memcached*-Server, der dann ein Opfer mit Internet-Traffic überflutet und die Ressourcen des Opfers potentiell überlastet. Während die Internet-Infrastruktur des Opfers überlastet ist, können keine neuen Anfragen bearbeitet werden, und regulärer Datenverkehr kann nicht auf die Internet-Ressource zugreifen, was zu einem Denial-of-Service führt.


*Memcached ist ein Datenbank-Caching-System zur Beschleunigung von Websites und Netzwerken.

Cloudflare Memcached Traffic Map

Hier sind Rechenzentren in Cloudflares globalem Netzwerk und der relative Umfang von Memcached-Angriffs-Traffic, den sie während eines kürzlichen Angriffs empfangen haben.

Wie läuft ein Memcached-Angriff ab?

Ein Memcached-Angriff läuft ähnlich wie alle DDoS-Amplification-Angriffe wie z. B. NTP-Amplification und DNS-Amplification ab. Bei dem Angriff werden gespoofte Anfragen an einen anfälligen Server gesendet, der dann mit einer Datenmenge antwortet, die größer ist als die ursprüngliche Anfrage, wodurch das Datenverkehrsvolumen vergrößert wird.


Memcached-Amplification kann mit einem böswilligen Teenager verglichen werden, der ein Restaurant anruft und sagt: „Ich möchte von jedem etwas. Bitte rufen Sie mich zurück und nennen Sie mir die gesamte Bestellung.“ Wenn das Restaurant nach einer Rückrufnummer fragt, wird die Telefonnummer des Opfers angegeben. Das Opfer erhält dann einen Anruf vom Restaurant mit vielen Informationen, die es nicht verlangt hat.


Diese Amplification-Angriffsmethode ist möglich, weil Memcached-Server über die Option verfügen, mit dem UDP-Protokoll zu laufen. UDP ist ein Netzwerkprotokoll, das das Senden von Daten zulässt, ohne zuerst einen sogenannten Handshake zu erhalten. Dabei handelt es sich um einen Netzwerkprozess, bei dem beide Seiten der Kommunikation zustimmen. UDP wird eingesetzt, weil der Zielhost nie gefragt wird, ob er zum Empfang der Daten bereit ist oder nicht. So kann ohne vorherige Zustimmung eine massive Datenmenge an die Zieladresse gesendet werden.

Ein Memcached-Angriff erfolgt in 4 Schritten:
  1. Ein Angreifer implantiert eine große Datennutzlast* in einem verfügbaren Memcached-Server.
  2. Als Nächstes spooft der Angreifer eine HTTP-GET-Anfrage mit der IP-Adresse des angegriffenen Opfers.
  3. Der anfällige Memcached-Server, der die Anfrage empfängt, versucht hilfreich zu sein und sendet eine umfangreiche Antwort an die Zieladresse.
  4. Der angegriffene Server oder seine umgebende Infrastruktur kann die große Datenmenge, die vom Memcached-Server gesendet wurde, nicht verarbeiten, was zu einer Überlastung und einer Dienstverweigerung (Denial-of-Service) für legitime Anfragen führt.
Memcached

Dies ist ein bekämpfter Memcached-Angriff mit 260 GB pro Sekunde auf Cloudflares Netzwerk

Wie groß kann ein Memcached-Amplification-Angriff sein?

Der Vergrößerungsfaktor dieses Angriffstyps ist wirklich erstaunlich. In der Praxis haben wir Verstärkungsfaktoren bis zum 51.200-Fachen erlebt! Das bedeutet, dass für eine 15-Byte-Anfrage eine 750-kB-Antwort gesendet werden kann. Das stellt einen gewaltigen Verstärkungsfaktor und ein enormes Sicherheitsrisiko für Websites dar, die ein derartiges Volumen von Angriffs-Traffic nicht handhaben können. Durch das Zusammenspiel eines so großen Verstärkungsfaktors mit anfälligen Servern wird Memcached zu einem primären Anwendungsfall für Angreifer, die einen DDoS-Angriff auf unterschiedliche Ziele starten wollen.

Wie kann ein Memcached-Angriff bekämpft werden?

  1. Deaktivierung von UDP: Für Memcached-Server sollte UDP-Support deaktiviert werden, wenn er nicht gebraucht wird. Standardmäßig ist UDP-Support bei Memcached aktiviert und kann einen Server potentiell in Gefahr bringen.
  2. Einrichtung einer Firewall für Memcached-Server: Wenn Memcached-Server mit einer Firewall geschützt werden, können Systemadministratoren UDP nötigenfalls für Memcached einsetzen, ohne sich eventuellen Angriffen auszusetzen.
  3. Verhinderung von IP-Spoofing: Solange IP-Adressen gespooft werden können, können DDoS-Angriffe dieses Sicherheitsrisiko ausnutzen, um Datenverkehr zum Netzwerk eines Opfers zu leiten. Die Verhinderung von IP-Spoofing ist eine größere Lösung, die von keinem bestimmten Systemadministrator implementiert werden kann. Dafür dürfen Transitprovider es nicht zulassen, dass Pakete, deren Quell-IP-Adresse ihren Ursprung außerhalb des Netzwerks hat, das Netzwerk verlassen. Anders ausgedrückt: Unternehmen wie Internet-Serviceprovider (ISPs) müssen Datenverkehr so filtern, dass die Pakete, die ihr Netzwerk verlassen, nicht vorgeben dürfen, aus einem anderen Netzwerk von irgendwo anders her zu stammen. Wenn alle großen Transitprovider diesen Filtertyp implementieren würden, würden Angriffe auf Spoofing-Basis über Nacht verschwinden.
  4. Entwicklung von Software mit weniger UDP-Antworten: Eine andere Methode zur Eliminierung von Amplification-Angriffen besteht darin, den Verstärkungsfaktor für jede eingehende Anfrage zu beseitigen. Wenn die infolge einer UDP-Anfrage gesendeten Antwortdaten kleiner oder gleich der ursprünglichen Anfrage sind, ist eine Verstärkung (Amplification) nicht mehr möglich.

Cloudflare filtert UDP-Traffic an unserem Netzwerkrand, wodurch das durch Amplification-Angriffe dargestellte Risiko wie das vorliegende beseitigt wird. Entdecken Sie Cloudflares erweiterten DDoS-Schutz.


Für eine gründlichere Darstellung zu Cloudflares Behandlung von Memcached-Angriffen sowie speziellen Befehlen und Prozessen zur Bekämpfung empfehlen wir den Blogbeitrag Memcrashed – schwere Amplification-Angriffe von UDP-Port 11211.