Magazine Internet

Cartographier un botnet via GoogleMaps

Publié le 06 septembre 2010 par Orangebusinessservices
Fin Juin, j'ai été amené à piloter la réponse à une attaque en DDoS dont l'un de nos clients était la cible. Dans ce bulletin, je ne détaillerai pas l'attaque en elle-même : Je me focaliserai plutôt sur comment mettre un "nom" ou plus exactement un visage au botnet.
En effet, mis à part des adresses IP, des chiffres en Mbits/s ou paquets/s ou le type de paquets utilisés, la menace reste imprécise, floue... La grande mode étant à la géo-localisation à tout-va, je me suis dit : Et pourquoi pas mettre cela dans une carte GoogleMaps ? Je venais de trouver une occupation pour quelques soirées. :-)
GoogleMap_Geolocalisation-Botnet.pngLa phase de collection des données
Il s'agit de collecter la liste des adresses IP à la source des attaques. A priori, cela peut sembler simple mais sous le feu de l'action, il arrive que ce ne soit pas la première des priorités.
Bien évidemment, rien ne sert de collecter des adresses IP si celles-ci sont spoofées/forgées. Pour l'attaque qui nous intéresse, il s'agissait d'un flood HTTP, donc les adresses IP sources identifiées étaient "de qualité".

Sources de données
Les sources de données peuvent être multiples : Coté infrastructures clients, des logs d'un firewall ou d'un serveur web peuvent être utilisés. Il faut seulement que la charge induite par la création de ces logs ne vienne aggraver une situation déjà délicate. Des fois, c'est tout simplement impossible car les équipements sont totalement surchargés et ne savent plus rien faire du tout...
Du coté opérateur, la collection d'informations sur l'attaque est peut-être plus aisée du fait de la présence d'équipements spécialisés ou très largement dimensionnés car prévus pour encaisser des charges importantes.
Collecte depuis un équipement de filtrage d'attaque
Dans le cas qui nous intéresse, nous avons été amenés à utiliser un système de filtrage temps-réel des attaques (fonction de type "Clean-Pipe") qui permettait, entre-autres, de réaliser des extractions "on-demand". C'est à partir d'un fichier XML généré par ce clean-pipe que j'ai travaillé.
Il aurait aussi été possible de recouper ces informations avec d'autres ou de les compléter, dans le cas présent, cela n'a pas été fait.

API GoogleMaps & librairie de "Clustering"

C'est assez rapidement que les premiers PC zombies ont été posés sur la carte GoogleMaps. Une fois cette première étape franchie, je suis tombé sur un "hic" : Une carte GoogleMaps avec près de 2300 points c'est moche et en plus c'est lent... Je devais donc trouver autre chose.
Après quelques échanges avec Vincent Maurin (vous vous rappelez surement de l'article "vacances j'oublie tout..." ?), celui-ci m'a guidé vers une librairie de clustering dynamique permettant d'agréger de façon dynamique les points. Quelques heures après et cela fonctionnait !
La magie du zoom
Quelques screenshots supplémentaires avec différents niveaux de zoom.
Un zoom sur la zone Europe :
GoogleMap_Geolocalisation-Botnet_zoom1.pngUn petit zoom sur le nord de l'Europe :
GoogleMap_Geolocalisation-Botnet_zoom3.pngUn mapping avec la vue satellite permettrait même d'avoir la maison ou le batiment ou se trouve la machine infectée par le bot. Non, ne pas penser à lancer un missile de croisière sur cette petite maison belge : son propriétaire n'a très surement aucune idée qu'il a pris part à une bataille sur un champ de bataille numérique. ;-)
GoogleMap_Geolocalisation-Botnet_zoom4.pngSoulever le capot
Je détaillerai les différentes étapes de construction de ce genre de carte interactives dans un prochain bulletin. Pour les screenshots ci-dessus, ce sont des données réelles qui ont été utilisées : Dans le prochain article, j'utiliserai des coordonnées géographiques fictives pour des raisons évidentes de confidentialit. Mis à part cela, vous aurez tout : les petits scripts en python pour la géo-localisation des adresses IP et le code source javascript.
PS: J'en profite, allez lire cet article "les annuaires d'entreprise du futur - participez à l'enquête en ligne" sur notre autre blog "Orange Business Live".

Retour à La Une de Logo Paperblog

A propos de l’auteur


Orangebusinessservices 590 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog

Magazine