Une attaque UDP flood est une attaque par déni de service. Comme pour les autres attaques flood connues – le ping flood, l’HTTP flood et le SYN flood – le hacker envoie des paquets de données inutiles au système cible de façon très rap­pro­chée. L’objectif est de saturer la cible jusqu’à ce qu’elle ne soit plus en mesure de répondre aux requêtes légitimes. Une fois cet état atteint, le service est alors in­ter­rompu.

Qu’est-ce qu’un UDP flood ?

L’UDP flood est une attaque DoS vo­lu­mé­trique : à l’instar du ping flood, son fonc­tion­ne­ment repose sur le fait que le système cible est saturé par un volume important de flux de données entrants. L’UDP Flood se distingue ainsi du ping of death, qui pousse le système cible au crash en ex­ploi­tant une erreur de mémoire, ainsi que du SYN flood qui réserve les res­sources au serveur. Toutes les attaques DoS citées se re­joig­nent dans leur objectif de sur­char­ger le système et ainsi d’empêcher son uti­li­sa­tion légitime.

L’UDP flood a attiré l’attention du grand public à la suite d’attaques de hacking spec­ta­cu­laires lancées contre des or­ga­ni­sa­tions à portée in­ter­na­tio­nale. En dehors de l’église de scien­to­lo­gie, ces attaques ont également touché des en­tre­prises des secteurs des médias et de la finance. Les sites Internet et les services concernés se sont écroulés face au flot de données entrant et ont été inac­ces­sibles aux uti­li­sa­teurs pendant plusieurs heures. Pour dé­clen­cher l’UDP flood, ces attaques ont utilisé comme arme l’outil puissant qu’est Low Orbit Ion Cannon (LOIC).

Fonc­tion­ne­ment des attaques UDP flood

Le fonc­tion­ne­ment des attaques UDP flood repose sur les par­ti­cu­la­ri­tés du User Datagram Protocol (UDP) utilisé. Lorsqu’un paquet UDP arrive sur un serveur, le système d’ex­ploi­ta­tion vérifie si le port indiqué comporte des ap­pli­ca­tions d’écoute. Si aucune ap­pli­ca­tion n’est détectée, le serveur doit en informer l’ex­pé­di­teur. Comme l’UDP est un protocole sans connexion, le serveur utilise l’Internet Control Message Protocol (ICMP) pour informer l’ex­pé­di­teur du fait que le paquet n’a pas été distribué.

Dans le cas d’une attaque UDP flood, les choses se passent de la façon suivante :

  1. le hacker utilise une adresse IP d’ex­pé­di­teur usurpée pour envoyer des paquets UDP à des ports aléa­toires du système cible.
     
  2. du côté du système cible, le processus suivant doit être répété pour chaque paquet entrant :
    1. Vérifier si une ap­pli­ca­tion écoute sur le port indiqué dans le paquet UDP ; comme le port est choisi au hasard, ce n’est gé­né­ra­le­ment pas le cas.
    2. Envoyer un paquet ICMP « Des­ti­na­tion Un­rea­chable » à l’ex­pé­di­teur présumé ; comme l’adresse IP a été usurpée, ces paquets sont gé­né­ra­le­ment reçus par un tiers.

Mesure de pro­tec­tion contre les attaques UDP flood (UDP flood attacks)

Une attaque de réseau vo­lu­mé­trique est re­con­nais­sable à un pic soudain dans le volume du trafic réseau entrant. Le trafic réseau est soumis à une sur­veil­lance rou­ti­nière par le four­nis­seur du réseau et d’autres acteurs spé­cia­li­sés. Des mesures de réduction des dommages peuvent donc être engagées aux premiers signes d’une attaque.

Les mesures suivantes offrent une pro­tec­tion efficace contre les attaques UDP flood :

  • La li­mi­ta­tion du débit des réponses ICMP par unité de temps : cette li­mi­ta­tion des réponses ICMP a nor­ma­le­ment lieu au niveau du système d’ex­ploi­ta­tion.
     
  • Un filtrage au niveau du pare-feu sur le serveur : les paquets suspects sont alors rejetés. Le pare-feu peut toutefois également s’écrouler sous la pression des attaques UDP flood.
     
  • Le filtrage des paquets UDP à l’exception du DNS au niveau du réseau : nor­ma­le­ment, les requêtes DNS se déroulent via l’UDP. Avec cette mesure, toute autre source générant un trafic UDP à grande échelle est con­si­dé­rée comme suspecte. Les paquets concernés sont alors rejetés.

Pour affaiblir une attaque im­por­tante, les ex­ploi­tants de serveurs ont également recours à des services cloud spé­ci­fiques comme Cloud­flare. Ces services ré­par­tis­sent le trafic réseau sur une multitude de centres de données situés dans le monde entier. Ils disposent ainsi d’une plus grande bande passante pour mieux absorber le volume du flot de données entrant en cas d’attaque. Par ailleurs, un filtrage du flux de données est réalisé par défaut afin d’empêcher les dif­fé­rentes attaques dès la phase de dé­ve­lop­pe­ment.

Aller au menu principal