Détection et analyse de botnets grâce à des honeypots

Présentation des honeypots

Un honeypot est une ressource volontairement vulnérable destinée à attirer et piéger les pirates. En pratique c'est généralement une machine, virtuelle ou non, faisant tourner ou émulant un ou plusieurs services, qui n'attendent que d'être compromis par un pirate.

L'idée d'honeypots n'est pas nouvelle et peut être attribuée à Bill Cheswick, un programmeur système spécialisé dans la sécurité et travaillant chez AT&T Bell. Le 7 Janvier 1991, il a commencé à jouer avec un pirate en répondant manuellement a ses réquêtes qui tentaient d'exploiter une faille dans le démon sendmail. Bill a alors réussi à lui faire croire qu'il avait obtenu une copie du fichier passwd qui contenait en réalité que des comptes falsifiés et contrôlés par le programmeur de AT&T Bell. Il a alors laissé le pirate s'amuser sur la machine et a étudié son comportement pendant plusieurs mois. Il a ensuite publié un papier sur ses découvertes.

Les pots de miel sont essentiellement utilisés pour la recherche ou sur des systèmes en production. Dans un environnement de production, un honeypot est utilisé pour détourner les attaques vers des machines leurres qui simulent un réseau de production. Ce type d'honeypot ne requiert pas beaucoup de vigilance de la part de l'administrateur. Il doit uniquement surveiller les intrusions sur les machines leurres afin de s'assurer que les failles exploitées ne soient pas présentes sur les machines de production réelles. L'utilisation d'honeypots dans le domaine de la recherche est l'utilisation la plus fréquente. Le rôle de l'honeypot dans un environnement de recherche est d'observer les méthodes de piratage et étudier le comportement des pirates. Ce type d'honeypot est plus difficile à mettre en place et requiert un suivi constant si on ne veut pas avoir de mauvaises surprises suivant les honeypots mises en places.

Cette partie décrit les trois principaux types de pots de miel que l'on peut rencontrer, à savoir les web honeypots et les honeypots à faible ou forte interaction.

Honeypots à faible interaction

Un honeypot à faible interaction émule des faux services réseaux qui sont vulnérables à divers vulnérabilités. Tous les paquets arrivant à destination de ces services sont enregistrés. Avec ce type d'honeypot, le pirate n'interagit jamais avec le système d'exploitation même s'il en a l'impression. La sécurité est donc ainsi conservée, si les faux services ne contiennent bien évidement pas de véritable trou de sécurité.

Ce type de pot de miel est intéressant pour relever des statistiques sur les services les plus attaqués et capturer des attaques faites par des outils automatisés tels que ceux que l'ont retrouve dans les vers, les botnets... Ces honeypots sont simples à mettre en oeuvre et à administrer mais sont grandement limités dans le sens où nous n'avons peu information sur le comportement des pirates puisque tout est émulé et que les chances que les pirates se rendent compte très vite de la supercherie sont très élevées. Parmi les honeypots à faible interaction les plus populaire, on retrouve honeytrap qui écoute sur tous les ports TCP non utilisés par le système et qui enregistre toutes les tentatives de connexion avec les payloads sur ces ports. Comme nous le verrons dans la partie suivante, ces honeypots sont générallement accompagnés avec un système d'analyse de payload qui permet d'extraire, des shellcodes connus, les exécutables qui étaient censés s'exécuter si la faille avait été présente.

Honeypots à forte interaction

Contrairement au précédent, les honeypots à forte interaction ne sont pas basés sur l'émulation de services ou de systèmes d'exploitation. Au contraire, ils reposent sur un vrai système d'exploitation où de véritables services, vulnérables ou non, tournent et sont accessibles aux pirates. Ainsi, la méthode d'approche est complétement différente puisque l'on offre au pirate la possibilité de rentrer dans le système et de faire ce qu'il lui plaît une fois le système compromis.

Le but du jeu est donc de contrôler les faits et gestes du pirate sans se faire démasquer. C'est le type d'honeypot le plus déployé pour faire de la recherche puisque ceux sont les seuls qui permettent de réellement d'étudier le comportement des véritables pirates mais ceux sont également les plus difficiles à administrer. Différentes méthodes pour contrôler et capturer les faits et gestes des pirates sont présentées dans les papiers mis à disposition par l'association HoneynetProject. Ces méthodes se basent sur l'utilisation de firewall, de détecteur d'intrusion, de machine virtuelle cloisonnée.

Les web honeypots

Des dizaines d'applications web naissent chaque jour. Généralement écrites en PHP, un langage facile à apprendre, ces applications contiennent des bugs qui conduisent pour la plupart du temps à des vulnérabilitiés. "XSS", "include", "path disclosure", "file disclosure" sont des termes qui n'ont plus aucun secret pour les pirates et tous les jours, des milliers de sites sont compromis grâce à l'exploitation d'une de ces failles. C'est ainsi que l'on a vu grandir les web honeypots dans le but de contrer, comprendre et analyser ce genre d'attaque spécifique.

Le premier web honeypot est le Google Hack Honeypot qui émule des applications PHP connues telles que PhpBB, Joomla. Il les référence ensuite dans le moteur de recherche le plus utilisé du monde et attend des attaques pour récupérer la requête utilisée pour atteindre la fausse application. Les informations glanées peuvent être ensuite analysées pour localiser de nouvelles failles non publiées, prévoir l'arrivée d'un nouveau ver et le contrer en bloquant les requêtes pour recherche de nouveaux sites vulnérable dans les moteurs de recherche comme cela a été fait pour le ver Santy qui récuperait des sites vulnérables en envoyant des requêtes spécifiques a google qui n'a mis que quelques jours pour toutes les bloquer.

Résumé

Comme les botnets se propagent de manière automatisé, seul les web honeypots et ceux à faible interaction semblent être intéressant dans le sens où ceux sont les honeypots idéaux pour récupérer les actions malveillantes d'outils automatisés.