Les machines connectées à internet sont la cible d’attaques variées afin de leur subtiliser des données ou de tirer profit de leurs ressources. Ces attaques sont menées essentiellement par des botnets, réseaux de machines infectées contrôlées à distance de manière synchronisée par un attaquant appelé l’opérateur du botnet. Elles sont contrôlées en général au moyen d’un serveur de contrôle baptisé serveur de contrôle et commande du botnet (C&C). Les botnets représentent actuellement la principale source des attaques réseau telles que le spam, les dénis de service distribués (DDoS), la fraude aux clics et le vol de données. En effet, les botnets sont à l’origine de 88% des spams, eux-mêmes représentant 80% du trafic mail total [SSPS12], et les sommes détournées par la fraude au clic représentent 19.1% du chiffre d’affaires de la publicité en ligne [CdQC12]. Pour contrôler leurs botnets, les attaquants doivent communiquer régulièrement avec les machines infectées, ce qui génère du trafic réseau. De plus, dans une structure centralisée, les machines infectées se connectent vers un même serveur de contrôle. Ainsi, une approche par analyse du trafic réseau s’avère propice pour la détection de botnets. En outre, une approche réseau de détection de botnet est complémentaire aux solutions d’antivirus installées au niveau des hôtes, et permet de pallier les limitations de ces derniers. Afin d’ajouter plus d’agilité à leur architecture et d’éviter de se faire détecter, les cybercriminels s’appuient sur des protocoles et des services usuels pour communiquer avec leurs machines infectées, tel que les protocoles HTTP, IRC et DNS. L’augmentation du débit des communications ces dernières années et la ressemblance du trafic généré par les activités légitimes et les activités malveillantes rends difficile l’identification de ces dernières. En effet, pour recevoir leurs commandes d’attaques, les membres d’un botnet de type HTTP se comportent généralement comme les visiteurs d’un site internet légitime. Ceci complique leur détection au niveau réseau, particulièrement au niveau d’un opérateur réseau vu le volume de trafic basé sur ce protocole. Pour lutter contre les botnets, des méthodes de blocage basées sur des listes d’adresses de serveurs de contrôle de botnets ont été déployées par les réseaux d’opérateurs et les réseaux d’entreprise. Cependant, afin de contourner ce blocage, les concepteurs de botnets ont développé des techniques calquées sur les approches de haute disponibilité utilisées dans les architectures Internet et réseau. En effet, ces techniques leur permettent ainsi de changer fréquemment de point de ralliement pour leur serveur de contrôle. Les botnets ne connaissent pas les frontières nationales. Leurs machines infectées sont distribuées dans des pays et des opérateurs différents. Ceci induit une distribution des attaques qui nécessite une collaboration des autorités des pays et opérateurs considérés pour y remédier, avec toutes les contraintes juridiques et réglementaires que cela implique.
Afin d’illustrer nos différentes contributions, nous nous sommes ainsi basés sur le scénario d’une attaque par déni de service distribué (DDoS) sur une infrastructure réseau. Cette attaque vise à saturer les liens réseau de la cible jusqu’à ce qu’elle devienne incapable d’offrir des services à ses utilisateurs légitimes. De plus, cette attaque peut également impacter son opérateur réseau puisque cela lui induit une surcharge réseau sur l’ensemble des liens réseau menant à cette cible. Les attaques par déni de services distribuées (DDoS) sont menées par des machines infectées, contrôlées généralement par l’opérateur du botnet au moyen d’un serveur de C&C. La distribution de ces machines et l’addition de leurs débits respectifs rendent l’impact de cette attaque particulièrement important. De plus, les machines infectées peuvent masquer leurs adresses à la cible. Ainsi, cette dernière ne sera pas en mesure de se baser sur leur localisation pour mettre en place des contre-mesures appropriées. Afin de permettre à la cible de remonter aux sources de ces attaques et d’appliquer des méthodes de remédiation, nous proposons une méthode de traçabilité du trafic IP. Notre méthode permet de remonter à la source d’attaques par déni de service directes et indirectes basées sur le protocole ICMP, comme l’attaque SMURF. Les sources de ces attaques correspondent à des machines contrôlées par un botnet. Elles reçoivent les commandes d’attaques par l’intermédiaire d’un serveur de C&C au moyen d’un canal de contrôle. Ainsi, le démantèlement d’un botnet implique l’identification au préalable de ce canal et sa déconnexion afin d’empêcher les commandes de contrôle d’atteindre les machines infectées.
Architecture, fonctions et cycle de vie
Les botnets, réseaux de machines infectées [CJM05] par des logiciels malveillants permettant de les contrôler à distance, constituent une préoccupation majeure pour les opérateurs réseau du fait du nombre de machines infectées et des menaces associées : attaques par déni de service distribuées (DDoS), spam, et vol de données bancaires. Ces machines infectées sont sous le contrôle de machines maîtres, qui sont à leur tour sous le contrôle d’attaquants. Les machines maîtres envoient des commandes vers les machines infectées afin de récupérer des informations volées au préalable ou pour déclencher d’autres attaques. La communication au coeur du botnet est assurée par des protocoles largement utilisés pour des activités légitimes comme HTTP et IRC, afin d’éviter d’être identifiés par les systèmes de détection réseau. Ceci en réutilisant des composants existants comme les serveurs et clients IRC et les serveurs web. La communication des machines infectées, ou bots, avec les machines maîtres, ou serveurs de contrôle et commande (C&C), est soit centralisée, soit pair-à-pair (p2p). Dans une structure centralisée, les machines infectées communiquent directement avec les machines maîtres, contrairement à la structure décentralisée où une communication doit traverser plusieurs machines infectées avant d’atteindre la machine maître. Le développement des moyens de paiement électroniques et la puissance de calcul des ordinateurs actuels, ainsi que l’augmentation de la bande passante réseau chez les particuliers, a attisé la convoitise des attaquants. En effet, le développement des botnets est devenu une activité commerciale, voire militaire [KWU12]. Afin d’exploiter au mieux les ressources des machines corrompues, les attaquants informatiques ont automatisé leurs procédés pour les contrôler et déclencher les attaques de manière synchronisée. Cette automatisation correspond à la notion de botnets où son opérateur (botmaster) contrôle les ressources des machines infectées et décide du déclenchement d’attaques distribuées. La motivation principale des créateurs de botnets est d’engranger des profits en utilisant les ressources et les données des machines sous leur contrôle. Ils font des profits en vendant les données subtilisées aux victimes ou en exploitant les ressources réseau de leurs machines pour déclencher des attaques. Par exemple dans l’attaque spam, les opérateurs de botnets sont rémunérés par des tiers pour l’envoi massif de courriers indésirables. Le développement des moyens de paiement électronique a permis aux botnets de générer des profits de manière plus directe. Les botnets bancaires sont apparus. Ils permettent l’interception de données telles que les numéros de carte de crédit, ou les identifiants de connexion vers le compte bancaire. Ces données sont revendues ensuite vers des tiers. L’évolution majeure des botnets est l’apparition de kits de création de botnets, communément appelés Crimeware. Ces derniers permettent la mise en place des différents composants d’un botnet : le logiciel malveillant à installer sur la machine de la victime ainsi que le serveur de contrôle et commande. Ces kits sont vendus à des prix attractifs qui varient selon les fonctionnalités du botnet créé. Par exemple, le Crimeware Beta bot est vendu entre 300 et 500 $ [bet13], alors que le botnet Aldibot [ald11] est vendu à moins de 7 $. La distribution de ces kits à des prix attractifs a permis la « démocratisation » des botnets. Ainsi, des individus qui n’ont pas de compétences techniques élevées peuvent acquérir ces kits pour créer leur propre botnet et le contrôler sans difficulté. Pour que cette activité soit lucrative, le botnet contrôlé doit contenir des machines infectées. Autrement dit, le logiciel malveillant doit être exécuté par des machines pour qu’elles rejoignent le botnet. Les opérateurs de botnets doivent infecter de nouvelles machines ou passer par des tiers le faire. À titre d’exemple, le kit de création de botnets Zeus, très utilisé pour le vol de données bancaires, contient un logiciel permettant la génération du programme malveillant du botnet, ainsi qu’un ensemble de pages web. Ces pages doivent être hébergées dans un serveur web pour permettre à l’opérateur de contrôler son botnet. Ce kit était vendu entre 3000 et 4000 $ [SJ11] lors de son apparition en 2007.
Dans ce type de structures, le botnet est contrôlé par un ou plusieurs serveurs de contrôle et commande. Les membres du botnet se connectent directement au serveur de contrôle et commande afin de recevoir leurs instructions ou pour renvoyer les rapports des attaques accomplies. Ce serveur est contrôlé par l’opérateur du botnet. Les commandes d’attaques sont reçues directement, ce qui permet à l’opérateur de déclencher les attaques rapidement. Dans les structures centralisées, le serveur de contrôle et commande est un point de défaillance du botnet. Une panne de ce serveur ou l’arrêt des connexions vers celui-ci aura pour conséquence l’interruption du botnet. L’opérateur de ce botnet ne le contrôlera plus puisqu’il ne peut plus envoyer de commande vers les machines infectées. Lorsque les botnets se basent sur des protocoles populaires pour contrôler leurs machines infectées, ils deviennent difficilement détectables au niveau réseau, puisque ces protocoles sont également utilisés par les applications légitimes. Ainsi, les systèmes de détection d’intrusion (IDS) qui se basent sur les signatures des communications malveillantes peuvent difficilement et au prix de beaucoup de faux positifs différencier une communication légitime d’une communication malveillante d’un botnet si cette dernière se base sur les mêmes protocoles. Dans une structure centralisée, le serveur de contrôle doit pouvoir gérer l’ensemble des connexions des machines infectées de ce botnet. Ce serveur peut ne pas supporter la charge lorsque le botnet comporte un nombre important de machines à contrôler. Afin de remédier à cela, les opérateurs de botnets font de l’équilibrage de charge en utilisant plusieurs serveurs. En outre, l’utilisation de plusieurs serveurs de contrôle rend le démantèlement du botnet difficile. En effet, il faut déconnecter l’ensemble des serveurs afin que l’opération soit réussie. Pour contrecarrer les opérations menées contre les botnets, les attaquants se basent sur des techniques pour cacher l’emplacement du serveur de contrôle du botnet. Ceci a pour conséquence de rendre ces opérations onéreuses puisqu’il leur faut prévoir l’adresse du serveur de contrôle pour pouvoir appliquer des contre-mesures.
Introduction |