Attaque DDoS Memcached

Memcached peut accélérer les sites web, mais un serveur memcached peut également être exploité pour effectuer une attaque DDoS.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir une attaque DDoS memcached
  • Expliquer le fonctionnement de memcached
  • Mettre en évidence les méthodes permettant d'atténuer les attaques memcached

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce qu'une attaque DDoS en memcached ?

Une attaque par déni de service distribué (DDoS) en memcached est un type de cyber-attaque dans laquelle un pirate tente de surcharger une victime ciblée avec du trafic internet. Le pirateenvoit des requêtes falcifiées à un serveur UDP vulnérable mis en cache /learning/ddos/what-is-a-ddos-attack/, qui inonde ensuite une victime ciblée de trafic internet, ce qui peut entraîner une surcharge des ressources de la victime. Alors que l'infrastructure internet de la cible est surchargée, les nouvelles requêtes ne peuvent pas être traitées et le trafic régulier ne peut pas accéder à la ressource internet, ce qui entraîne un déni de service.

*Memcached est un système de mise en cache de base de données pour accélérer les sites web et les réseaux.

Carte du trafic Memcached de Cloudflare

Voici les datacenters du réseau mondial de Cloudflare et la quantité relative de trafic d'attaque memcached qu'ils ont reçu lors d'une récente attaque.

Comment fonctionne une attaque memcached ?

Les attaques par Memcached fonctionnent de la même manière que toutes les attaques par amplification DDoS telles que l'amplification NTP et l'amplification DNS. L'attaque fonctionne en envoyant des requêtes falsifiées à un serveur vulnérable, qui répond alors avec une quantité de données plus importante que la requête initiale, amplifiant ainsi le volume du trafic.

On peut penser placer l'amplification memcached dans le contexte d'un adolescent malveillant qui appelle un restaurant et dit : "Je vais prendre un plat de chaque élément de votre menu. Veuillez me rappeler pour me dire tout ce que j'ai commandé". Lorsque le restaurant demande un numéro de rappel, l’adolescent lui communique un numéro de téléphone qui s’avère être celui de la victime ciblée. La cible reçoit alors un appel du restaurant l’inondant d’informations qu’elle n’a pas demandées.

Cette méthode d'attaque par amplification est possible car les serveurs memcached ont la possibilité de fonctionner en utilisant le protocole UDP. UDP est un protocole réseau qui permet d'envoyer des données sans qu'on ait reçu au préalable ce que l'on appelle une poignée de main, qui est un processus réseau où les deux parties s'accorder d'entrer en communication. Le protocole UDP est exploité parce qu'il y a jamais besoin de savoir si l'hôte ciblé voudrait recevoir du contenu ou pas, ce qui permet d'envoyer une quantité massive de données à la cible sans son consentement préalable.

Une attaque en memcached se déroule en 4 étapes :

  1. Un pirate implante une importante charge* de données sur un serveur memcached exposé.
  2. Ensuite, le pirate usurpe une requête HTTP GET avec l'adresse IP de la victime ciblée.
  3. Le serveur memcached vulnérable qui reçoit la requête, qui essaie de se montrer utile en répondant, envoie une réponse volumineuse à la cible.
  4. Le serveur ciblé ou son infrastructure environnante est incapable de traiter la grande quantité de données envoyées par le serveur memcached, ce qui entraîne une surcharge et un déni de service pour les requêtes légitimes.
Memcached

Voici une attaque par memcached de 260 Go par seconde contre le réseau de Cloudflare qui est en cours d'atténuation

Quelle peut être l'ampleur d'une attaque par amplification de memcached ?

Le facteur d'amplification de ce type d'attaque est vraiment stupéfiant ; dans la pratique, nous avons constaté des facteurs d'amplification allant jusqu'à un quantité étonnante de de 51 200x ! Cela signifie que pour une requête de 15 octets, une réponse de 750 Ko peut être envoyée. Ce qui représente un facteur d'amplification massif et un risque de sécurité pour les propriétés web qui ne peuvent pas supporter le poids de ce volume de trafic d'attaque. Un facteur d'amplification aussi important, associé à des serveurs vulnérables, fait du memcached un domaine de prédilection pour les pirates qui cherchent à lancer des DDoS contre diverses cibles.

Comment atténuer une attaque de memcached ?

  1. Désactiver UDP - Pour les serveurs memcached, assurez-vous de désactiver la prise en charge de UDP si vous n'en avez pas besoin. Par défaut, le support UDP est activé sur memcached, ce qui peut rendre un serveur vulnérable.
  2. Pare-feu pour les serveurs memcached - en instaurant un pare-feu pour les serveurs memcached sur Internet, les administrateurs système sont en mesure d'utiliser UDP pour les serveurs memcached, si nécessaire, sans être exposés.
  3. Prévenir l'usurpation d'adresses IP - tant que les adresses IP peuvent être usurpées, les attaques DDoS peuvent exploiter la vulnérabilité pour diriger le trafic vers le réseau d'une victime. La prévention de l'usurpation d'adresse IP est une solution plus vaste qui ne peut être mise en œuvre par un administrateur système particulier et exige des fournisseurs de transit qu'ils n'autorisent pas la sortie de leur réseau de paquets ayant une adresse IP source provenant de l'extérieur du réseau. En d'autres termes, les entreprises telles que les fournisseurs d'accès à Internet (FAI) doivent filtrer le trafic de manière à ce que les paquets qui quittent leur réseau ne puissent pas prétendre provenir d'un autre réseau situé ailleurs. Si tous les grands fournisseurs de transit mettaient en œuvre ce type de filtrage, les attaques par usurpation d'identité disparaîtraient du jour au lendemain.
  4. Développer des logiciels aux réponses UDP réduites - une autre façon d'éliminer les attaques par amplification est de supprimer le facteur d'amplification de toute demande entrante ; si les données de réponse envoyées à la suite d'une demande UDP sont inférieures ou égales à la demande initiale, l'amplification n'est plus possible.

Cloudflare filtre le trafic UDP à la périphérie de notre réseau, éliminant ainsi le risque posé par les attaques par amplification comme celle-ci. En savoir plus sur la protection DDoS avancée de Cloudflare.

Pour voir de prêt comment Cloudflare fait face aux attaques memcached et les commandes et processus spécifiques d'atténuation auxquels il recours, consultez le blog Memcrashed - Major amplification attacks from UDP port 11211.