Attaques en déni de service distribué par amplification DNS contre Spamhaus

Date : 02 Mai 2013

Introduction
 
Spamhaus est une organisation internationale dont le but est depuis 1998 de traquer sur Internet l’envoi de spam ainsi que leurs responsables. A cet effet, Spamhaus maintient plusieurs listes noires des adresses IP responsables de l’envoi de spam, sur lesquelles se reposent beaucoup de fournisseurs de services de courrier électronique et de fournisseurs d’accès à Internet.
En mars, Spamhaus a ajouté dans ses listes noires les adresses de l’opérateur néerlandais CyberBunker, identifié comme une source importante de spam. Suite à cette action, l’organisation a été la victime d’une importante attaque par déni de service distribué (DDoS) durant plusieurs jours.
Dans cet article, nous nous penchons en premier lieu sur les éléments techniques qui ont permis à cette attaque d’atteindre une telle volumétrie, puis sur les moyens mis en place par Spamhaus et ses partenaires pour atténuer celle-ci.
 
Le schéma d’un DDoS classique n’est plus suffisant
 
L’attaque subie par Spamhaus a été observée par certains opérateurs principaux sur Internet. D’après CloudFlare, qui a aidé Spamhaus à absorber le trafic de l’attaque, certains opérateurs Tier-1 (qui interconnectent les réseaux d’opérateurs plus petits) ont observé des pics de trafic à 300 Gbit/s, ce qui consisturait une des plus importantes attaques jamais observées.
Pour atteindre un tel niveau de trafic, les attaquants ont utilisé une technique bien connue pour amplifier le trafic généré : l’amplification par rebond DNS.
Dans un schéma habituel d’attaque par déni de service distribué, les attaquants prennent en premier lieu le contrôle d’un nombre important de machines et en constituent un réseau : le botnet. Pour lancer l’attaque, les pirates envoient simultanément à l’ensemble des machines contrôlées l’ordre d’envoyer du trafic à la cible (tel qu’une demande de connexion TCP), dans le but de saturer sa bande passante entrante, à tel point qu’il n’est plus possible pour la cible de satisfaire à toutes les requêtes légitimes. L’interruption du service est ainsi provoquée. Le trafic généré est directement proportionnel à la taille du botnet. Aujourd’hui, ces attaques ne suffisent plus pour saturer les cibles et les pirates utilisent des astuces pour amplifier le trafic.
 
 
Un schéma d’attaque par rebond…
 
Une technique consiste à utiliser le botnet pour usurper l’identité de la cible de l’attaque afin d’envoyer des requêtes de connexion à d’autres hôtes externes non contrôlés de leur part. Les réponses de ces hôtes génèrent ainsi un trafic retour non voulu et dirigé vers la cible. Cette technique est appelée « Attaque par rebond ». Dans le cas de TCP par exemple, l’attaquant envoie par l’intermédiaire de son botnet un nombre important de paquets de demande de connexion (SYN) en usurpant l’adresse IP source de la cible. Les serveurs contactés répondent avec un paquet d’acquittement (ACK) adressé à la cible de l’attaque.
Ce trafic retour, qui constitue le volume de l’attaque, est donc proportionnel au nombre de serveurs contrôlés multiplié par le nombre de serveurs contactés. Néanmoins, deux points viennent nuancer l’efficacité de l’attaque dans le cas de TCP :
  • le trafic de l’attaque nécessaire à envoyer par les serveurs du botnet est le même que celui finalement reçu par la cible.
  • le placement d’un firewall suffisamment en amont de la cible permet généralement de supprimer les paquets ACK ne correspondant pas à une session TCP existante, et limite les impacts de l’attaque pour la cible.
 
…amplifié par l’utilisation du protocole DNS
 
L’utilisation du protocole DNS dans une attaque DDoS par rebond permet à l’attaquant d’éviter de subir les deux points précédents. C’est ce qui a été effectué par les attaquants de SpamHaus.
Les attaquants ont donc envoyé des requêtes DNS usurpées à des serveurs configurés pour effectuer ouvertement des résolutions récursives sur Internet. Ces derniers répondent donc à toute requête d’un client, pour n’importe quel domaine public. De la même manière que pour l’attaque par rebond TCP, les réponses envoyées par les serveurs ont été renvoyées vers la cible. Les requêtes envoyées contenaient la demande de tous les enregistrements d’une zone volumineuse : ripe.net. Ainsi, à partir d’une simple requête DNS de quelques dizaines d’octets, les réponses atteingnent plusieurs kilo-octets, soit un facteur de taille de 100 par rapport au trafic initialement généré.
DNS utilisant principalement le protocole UDP, il est également plus difficile pour les cibles de telles attaques de bloquer ce trafic en bordure de leur réseaux : il est nécessaire d’utiliser des appliances de sécurité faisant de l’inspection applicative pour vérifier que ces réponses correspondent bien à des requêtes émises. Même si les flux sont finalement bloqués, les paquets en transit occupent malgré tout les capacités de raccordement des différents services et impactent leur disponibilité.
 
 
En cause : des serveurs DNS configurés en OpenResolver…
 
La possibilité d’attaques en déni de service distribué par amplification DNS pose en réalité le problème des serveurs configurés en openresolvers, c’est-à-dire en résolution récursive sans filtrage des clients sur Internet. Ces serveurs, en nombre important sur Internet, sont en effet un moyen facile pour les pirates de générer de fortes charges sur le réseau. Environ 30 000 de ces serveurs auraient été utilisés dans l’attaque qui a ciblé Spamhaus. L’ISC, qui édite le fameux serveur DNS BIND, recommande depuis 2005 d’éviter de mettre en place une telle configuration. Depuis 2007 la configuration de BIND a été modifiée par défaut pour éviter la récursion ouverte.
 
 
…mais également une facilité à usurper une adresse IP sur Internet
 
Ces attaques posent aussi plus généralement le problème de l’usurpation d’adresses sur Internet. Il s’agit ici de contrôler que les paquets sortant du réseau de l’opérateur possèdent bien une adresse IP source lui appartenant. Aujourd’hui, la majorité des acteurs de l’Internet continue de router les paquets IP aveuglément en fonction de l’adresse IP de destination uniquement.
L’Internet Engineering Task Force (IETF) a publié, dans la RFC 2827, la Best Current Practice 28 qui recommande à l’inverse aux opérateurs de transit, de filtrer les paquets entrant sur leurs réseaux et de supprimer ceux dont les adresses sources sont invalides et ne correspondent pas à celles de leurs clients.
 
 
L’utilisation de l’anycast par les CDN pour étaler l’attaque
 
Pour lutter contre le traffic important arrivant sur ses serveurs, Spamhaus a utilisé un réseau de distribution de contenu appelé communément CDN (Content Delivery Network) fourni par CloudFlare. Celui-ci se base sur l’utilisation de l’anycast : cette technologie permet de diriger une requête vers le serveur le plus proche (au sens de la distance de routage) du client. CloudFlare possède ainsi plusieurs datacenters sur le globe qui annoncent chacun les mêmes adresses IP. Les serveurs DNS incriminés se situant à différents points du monde, les réponses DNS (trafic de l’attaque) se sont donc automatiquement réparties sur les différents points de présence du réseau de CloudFlare. Le volume de trafic reçu par serveur a dont été considérablement réduit, permettant à Spamhaus d’être à nouveau joignable.
 
 
Conclusion
 
L’attaque menée contre Spamhaus a permis de montrer une nouvelle fois le potentiel des attaques par déni de service distribué. La présence de milliers de résolveurs DNS récursifs librement ouverts sur Internet, associée au non contrôle par les différents opérateurs de la provenance du trafic sur leur réseau, ont ainsi permis aux attaquants d’amplifier considérablement leur attaque au point de ralentir certains points d’échanges sur Internet.
Face à la menace des attaques par DDoS avec amplification DNS, il existe quelques solutions pour les entreprises exposées sur Internet :
  • L’utilisation d’appliances de sécurité offrant des protections contre le déni de service (inspection protocolaire de haut niveau, détection de pic anormal de trafic). Si ces solutions permettent de soulager le réseau de l’entreprise protégée par ces appliances, elles ne soulagent pas les ressources réseau de l’opérateur en amont.
  • L’utilisation de services de type CDN, et plus généralement de la technologie de l’anycast. Le déploiement d’une géo-redondance sur plusieurs datacenters annonçant les mêmes adresses permet effectivement, en plus d’assurer la résilience du service sur plusieurs endroits dans le monde, d’agrandir la surface de l’attaque pour les pirates, rendant la coupure du service d’autant plus difficile.
Pour efficacement contrer ce type d’attaque, il est du ressort des opérateurs d’agir sur deux points critiques :
  • Contrôler en premier lieu plus efficacement le trafic transitant par leurs réseaux afin de limiter les possibilités d’usurpation d’adresses IP sur Internet.
  • Militer pour la reconfiguration des milliers de résolveurs DNS récursifs ouverts présents sur leurs réseaux et qui constituent de véritables outils d’attaques pour les pirates.
Précedent Précedent Suivant Suivant Imprimer Imprimer