Fast-Flux et double Fast-Flux: Techniques de résilience de sites "douteux"


Dans mon bulletin du 6 Février au sujet du site de phishing de Facebook, nous avions pu constater que l'attaquant avait réagit lorsque que nous avions fait fermer l'espace qui hébergeait les pages web contrefaites : Il avait mis à jour les informations DNS de la zone facebook-online.com de sorte à pointer vers un autre espace d'hébergement afin de maintenir le site contrefait pour continuer à collecter des identifiants de connexion. L'adresse IP du serveur vers lequel pointait "www.facebook-online.com" était donc mise à jour manuellement par l'attaquant.

Lorsque les serveurs DNS reçoivent une requête de type "Donnes-moi l'adresse IP de www.facebook-online.com", ils répondent "C'est l'adresse IP xxx.yyy.zzz.xxx et cette réponse est valide pendant 48h".

La durée de validité de la réponse (ici valeur typique de 48h) est connue sous le terme de "TTL" (Time-To-Live) ; elle est fixée par les serveurs DNS. Une fois ce délai expiré, une nouvelle requête de résolution est relancée.

Le "Fast-Flux" est une technique qui s'appuie sur deux fonctions de base du système DNS :
  • Plusieurs adresses IP sont associées pour un même nom d'hôte (www.fastflux-faceboook-online.com).
  • Le TTL des réponses est très bas, typiquement de l'ordre de 5 secondes.
Voyons cela avec quelques schémas pour illustrer nos propos.
Dans un système de "Fast-Flux", comme le TTL est très bas (quelques secondes) ; les réponses expirent rapidement : Cela a donc pour conséquence de  générer de nouvelles requêtes de résolution : Les serveurs DNS vont y répondre à chaque fois via une adresse IP différente de celle précédemment envoyée.

Reprenons l'exemple de notre site www.fastflux-facebook-online.com :
  • Disons que 10 adresses IP différentes ont été définies comme réponses (enregistrements de type "A")
  • Le TTL associé aux réponses a été fixé à 5 secondes
Si nous lançons 10 requêtes de résolution, à 10 secondes d'intervalle, nous avons de très grandes chances d'avoir 10 réponses différentes.... qui pointeront donc vers 10 serveurs différents...qu'il faudra faire fermer un par un....
Remplacez 10 par 50 ou encore par 90 et vous avez quelques nuits blanches devant vous. La seule façon de s'en sortir c'est de stopper les serveurs DNS : autrement "taper plus haut".

FastFlux_Simple_Fev2009.PNG


Et bien sur, les attaquants ont répondu : Une variante encore plus tordue s'appelle le "Double Fast-Flux".
Le principe de fonctionnement est le même : Les serveurs DNS sont eux aussi "Fast-Fluxés". La cible est encore plus mouvante... et donc difficile à arrêter. Dans ce second cas, pour stopper un site en "Double Fast-Flux", la méthode c'est de demander au registrar du nom de domaine de bloquer le bloquer le nom.... Pas simple !

FastFlux_Double_Fev2009.PNG


Certains se disent peut-être "mais comment un attaquant peut-il déployer le site de phishing sur 50 ou 90 machines ?". Il ne le fait pas : Les machines ne sont que des relais (typiquement des machines de "Mr/Mme Michou" préalablement infectées par un bot/malware) et elles pointent vers une machine mère ("mothership") qui elle a le contenu... Le "mothership" reste bien caché par les machines du botnet, et il est même parfois aussi en "Fast-Flux" : Du "triple Fast-Flux"...

Attention : Les techniques de "Fast-Flux" sont aussi utilisées pour des usages légitimes (équilibrage de charge, répartition du trafic, ...) ou encore pour défendre le droit à l'expression de minorités. Donc pas question d'interdire les TTL très bas ou l'association de plusieurs adresses IP à un même nom d'hôte !

Pour finir, le sujet est actuellement étudié au niveau de l'ICANN, c'est donc un sujet à suivre !


Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens