Qu’est-ce qu’un honeypot?

Un serveur mal sécurisé a le même effet sur les hackers qu’un pot de miel pour les ours : la tentation est trop forte et les pirates sont donc inévitablement attirés. C’est pourquoi le symbole du pot de miel s’applique également pour les pirates du Web. Le terme « honeypot » (pot de miel en français) est dans le jargon informatique un mécanisme de sécurité, il permet aux administrateurs de tromper les pirates et ainsi de déjouer des cyberattaques. Un honeypot simule des services de réseau ou des programmes d’application pour attirer les attaquants et ainsi protéger le système de production de dommages. Dans la pratique, les utilisateurs utilisent les technologies côté serveur et côté client pour configurer les honeypots.

  • Honeypot côté serveur : l’idée de base d’un honeypot côté serveur est d’attirer les attaquants dans des zones isolées d’un système informatique et de les éloigner ainsi des composants critiques du réseau. De plus, un honeypot permet de suivre les actions, d’étudier un attaquant. Pour cela, il simule une application serveur qui mobilise un ou plusieurs services sur le réseau, comme par exemple un serveur Web. Si un attaquant est trompé par une manœuvre de diversion et commence une tentative d’attaque, le honeypot capture et enregistre toutes les activités, alerte et engage des contres mesures. Dans le meilleur des cas, un tel serveur « pot de miel » fournit des informations sur le déroulement des attaques manuelles ou automatiques. Ainsi, les administrateurs acquièrent des données qui permettent de mieux protéger le système de production contre les futures attaques.
  • Honeypot côté client : un honeypot côté client imite un logiciel d’application qui recourt aux services du serveur. Le premier exemple de parade est la simulation d’un navigateur qui visite spécifiquement des pages Internet dangereuses afin de collecter des données sur les risques de sécurité. Si depuis l’une de ces pages Web une attaque est lancée contre le navigateur ou les plugins du navigateur, alors le processus de l’opération (l’attaque) est consigné. Une analyse des données recueillies est par la suite utilisée pour améliorer le logiciel simulé.

Les instituts de recherche, les autorités et les militaires utilisent notamment cette recherche de défense active pour recueillir des informations sur les nouveaux modèles d’attaques et de les rendre ainsi moins dangereux pour la communauté Internet. Au niveau des entreprises, les mécanismes de sécurité de ce type sont principalement utilisés pour protéger le réseau d’entreprise. Pour cela, les administrateurs installent des honeypots dans les zones du réseau qui ne sont pas traitées par le fonctionnement normal et ne fournissent de services ni aux employés ni aux clients. Le but est bien de leurrer les attaquants qui recherchent la vulnérabilité du réseau par des failles de sécurité fictives dans des zones sûres. Tout accès à un tel système qui n’est pas utilisé normalement est donc considéré comme une attaque et est alors surveillé et analysé.

Si plusieurs pots de miel sont joints ensemble pour simuler un réseau complet, offrant ainsi aux pirates une cible très attractive, on parle alors de « Honeynet » (réseau de miel).

Comment mettre en places des honeypots ?

Pour implémenter un honeypot, les administrateurs ont principalement deux choix : soit le pot de miel est réalisé sur un système physique ou bien il est mis en œuvre sur la base d’un logiciel de virtualisation.

  • Honeypot physique : un pot de miel physique est un ordinateur autonome qui est connectée à un réseau avec sa propre adresse.
  • Honeypot virtuel : un pot de miel virtuel est un système logique, qui reçoit des ressources d’un ordinateur physique via un logiciel de virtualisation.

Dans les deux cas, le honeypot est isolé. Un attaquant est incapable d’accéder au système en production à partir du système de diversion.

Classification des honeypots.

Le but de cette méthode de défense est de rester indétectable. Beaucoup plus d’informations sur la stratégie et le comportement des pirates peuvent être recueillies par le système lorsqu’un attaquant est leurré plusieurs fois. Un des critères importants pour classer les pots de miel est le degré d’interactivité avec l’attaquant. Dans ce contexte, on distingue aussi bien à la fois le côté serveur et le côté client qu’un honeypot à faible interaction d’un pot de miel à forte interaction.

  • Honeypot à faible interaction : les pots de miel avec un faible degré d’interaction sont basés sur l’imitation de systèmes réels ou d’applications, par l’intermédiaire de script. Dans ce processus, les services et les fonctions sont généralement simulés. Ainsi le hacker n’a pas d’interaction avec le système d’exploitation, même s’il en a l’impression. Les risques sont donc limités au maximum.
  • Honeypot à forte interaction : des pots de miel avec un fort degré d’interactivité sont généralement des systèmes réels, qui offrent des services de serveur et sont par conséquent sécurisés et surveillés. Cette méthode repose donc sur la possibilité par le hacker de rentrer dans le système. Si un honeypot à interaction élevée n’est pas suffisamment protégé, il existe alors le risque qu’un attaquant prenne le relais, infiltre le système à protéger ou lance des attaques sur d’autres serveurs du réseau.

Honeypot à faible interaction s’exécutant côté serveur

La forme le plus basique d’un honeypot côté serveur est simplement une seule application qui simule les services réseau, y compris la configuration de connexion. Avec cette méthode peu de moyens d’interaction sont offerts à un attaquant, les informations obtenues sont donc relativement faibles. Enfin les honeypots avec un faible degré d’interactivité sont généralement assez rapidement démasqués par les pirates. Les mécanismes de ce type sont donc principalement utilisés pour détecter et enregistrer des attaques automatisés venant de logiciels malveillants. Une solution open source bien connue qui vous permet de configurer les honeypots à faible interaction s’exécutant côté serveur est Honeyd.

  • Honeyd : le logiciel Honeyd créé par Niels Provos et publié sous licence GPL permet aux administrateurs de créer différents serveurs virtuels sur un réseau informatique. Ces ordinateurs peuvent être configurés pour refléter différents types de serveurs afin que tout un système, y compris la pile de protocole TCP/IP, soit simulé. Toutefois le logiciel fait partie des honeypots à faible interaction puisque Honeyd ne simule pas tous les paramètres du système et offre donc peu d’interactions et peut être assez rapidement démasqué par les hackers. Enfin, le logiciel ne montre plus de développement visible depuis 2008.

Honeypot à faible interaction s’exécutant côté client

Des pots de miel côté client à faible interaction (également appelés « honeyclients ») sont des programmes qui peuvent être utilisés pour simuler différents navigateurs. Cela permet aux utilisateurs de visiter des pages Internet, de détecter et d’enregistrer des attaques sur le navigateur Web fictif. Les honeyclients open source à faible interaction les plus connus sont HoneyC, Monkey-Spider et PhoneyC.

  • HoneyC : l’honeyclient à faible interaction HoneyC permet aux utilisateurs d’identifier les serveurs dangereux sur Internet. Au lieu d’un système d’exploitation entièrement fonctionnel et d’un logiciel client correspondant, HoneyC utilise un client simulé qui examine les réponses du serveur au contenu malveillant. Dans la structure de base, le logiciel se compose de trois éléments : les moteurs  « visitor », « queue » et « analysis ». Le moteur visiteur est responsable de l’interaction avec le serveur et simule divers modules de navigateurs Web. Le moteur file d’attente crée une liste de serveurs qui seront traitées par le moteur visiteur. Une évaluation de l’interaction avec le serveur Web est effectuée par le moteur analyse, qui après chaque visite contrôle si les règles de sécurité du logiciel ont été enfreintes.
  • Monkey-Spider : Monkey-Spider est un robot d’indexation Web qui peut être utilisé comme honeypot côté client à faible interaction. Pour cela, le logiciel analyse les sites Internet et recherche des codes malveillants qui peuvent constituer une menace pour un navigateur Web.
  • PhoneyC : PhoneyC est un honeyclient écrit avec le langage de programmation objet Python, qui permet d’imiter divers navigateurs Web pour rechercher des sites internet avec du contenu malveillant. Le logiciel est capable de traiter des langages de script tel que JavaScript ou VBSscript et prend en charge les fonctions du code impénétrable pour démêler des codes malveillants masqués. Enfin, PhoneyC supporte plusieurs méthodes pour analyser des sites Internet y compris le logiciel anti-virus open source ClamAV.

Honeypot à forte interaction s’exécutant côté serveur

Les administrateurs qui souhaitent configurer des pots de miel côté serveur avec de nombreuses options d’interaction s’appuient généralement sur des serveurs fonctionnels configurés comme des systèmes de diversion. Ils peuvent être réalisés soit sur matériel réel soit sur des environnements virtuels. Les honeypots à faible interaction sont principalement utilisés pour identifier et analyser les attaques automatiques, alors que les honeypots à forte interaction sont eux généralement pour cibler les attaques manuelles. 

Un honeypot du côté serveur est prometteur quand une cible d’attaque particulièrement attractive avec un fort degré d’interactivité est offerte aux hackers. Toutefois, l’effort pour mettre en place un tel honeypot est sensiblement supérieur aux solutions logicielles qui imitent le fonctionnement des serveurs. De plus, si un serveur réel est utilisé comme pot de miel, le risque qu’un attaquant utilise le système infiltré à la suite d’une effraction réussie et l’emploie comme point de départ pour lancer de nouvelles attaques sur d’autres serveurs Internet existe. Cela peut en effet entraîner des conséquences judicaires puisqu’un opérateur d’un serveur est responsable de toutes les activités qui en proviennent.

Pour surveiller les attaques de pirates sur un serveur configuré comme honeypot, des outils de surveillance spécifiques comme Sebek sont utilisés. Un honeypot à forte interaction peut être réalisé avec le logiciel Argos.

  • Sebek : l’outil de collecte de données Sebek est utilisé pour des honeypots à forte interaction pour surveiller les pirates et recueillir des informations sur les activités critiques en matière de sécurité. Dans la structure de base, le logiciel se compose de deux éléments : le client s’exécute sur l’honeypot et enregistre toutes les activités des pirates comme les entrées, les données de téléchargement ou les mots de passe pour les transmettre à un serveur de protocole qui peut fonctionner sur un système indépendant.
  • Argos : l’environnement honeypot à forte interaction Argos est basé sur un simulateur de matériel QEMU modifié. Le logiciel prend en charge plusieurs systèmes d’exploitation de clients qui s’exécutent sur une machine virtuelle et représentent le honeypot. Pour détecter et enregistrer les attaques, Argos ne nécessite aucun logiciel de surveillance supplémentaire. Le trafic entrant qui passe par la carte réseau vers l’honeypot est automatiquement marqué comme « Tainted » (contaminé) et surveillé. Il en va de même pour les données produites de  données contaminées. En raison de l’effort de calcul supplémentaire pour imiter le système d’exploitation et l’analyse de données, Argos est significativement plus lent que les systèmes en production sur du matériel comparable.

Honeypot à forte interaction s’exécutant côté client

Les honeypots à forte interaction sont des solutions logicielles qui s’exécutent sur des systèmes d’exploitation réels et utilisent des navigateurs Web réguliers pour enregistrer les attaques venant de serveurs sur Internet. Les outils connus sont Capture-HPC et mapWOC.

  • Capture-HPC : l’honeypot à forte interaction côté client Capture-HPC utilise une architecture client-serveur dans laquelle un serveur définit les sites Web à inspecter et contrôle les divers clients. Ils appellent les pages stockées et renvoient les données de résultat sur le serveur. Les clients potentiels sont différents navigateurs Web, applications bureautiques, lecteurs PDF ou Media-Player.
  • mapWOC : le logiciel libre mapWOC (abréviation de massive automated passive Web Observation Center) charge également des pages Web avec des navigateurs réels. Ces derniers s’exécutent dans une machine virtuelle dont le trafic avec les clients est constamment surveillé pour enregistrer et analyser les attaques comme les Drive-by-Downloads. mapWOC utilise comme composant de base le système hôte Debian Squeeze, KVM pour la virtualisation et ClamAV pour enquêter sur les logiciels malveillants.

Avantages et inconvénients des honeypots

Un honeypot est généralement utilisé comme complément à d’autres composants de sécurité informatique comme le système de détection d’intrusion (IDS) et les pare-feu, fournissant ainsi une fonction de contrôle additionnelle. Un avantage majeur de l’utilisation d’un honeypot est l’obtention de données très pertinentes. Comme un honeypot en fonctionnement normal n’assume aucune fonction, chaque activité dans ce système de contrôle représente une attaque potentielle. Toutes les données qui sont enregistrées par le pot de miel sont donc pertinentes pour la sécurité. Toutefois si les systèmes en production sont surveillés, l’analyse des données nécessite alors une étape supplémentaire dans laquelle les données relatives à l’attaque sont filtrées de l’ensemble des données.

Cependant, il faut bien se rappeler qu’un honeypot ne fournit pas toujours des informations exploitables. Si l’appât est trop peu attractif ou difficile à atteindre, le risque est de n’avoir aucune attaque et donc un retour nul sur les investissements financiers et humains pour la mise en place de ce système de sécurité.

Le potentiel gain de données pertinentes via les honeypots pour les entreprises se caractérise aussi par un risque supplémentaire. Comme le système de diversion leurre ponctuellement les pirates, il existe toute de même un risque que ces derniers causent plus de dégâts sur le réseau lors d’une effraction du honeypot. Toutefois, vous pouvez réduire ce risque par une séparation maximale entre les systèmes en production et l’honeypot ainsi qu’en maintenant une surveillance constante de toutes les activités dans les systèmes de leurre. Il est enfin important de limiter les dégâts à l’extérieur. Pour empêcher l’utilisation d’un honeypot comme point de départ d’attaques de hackers sur d’autres systèmes, les connexions sortantes doivent être réduites à son minimum. 

Équiper un honeypot côté serveur à forte interaction avec les mêmes systèmes de sécurité que le système en production peut être utile pour s’assurer de la qualité de la sécurité. Dans ce cas, les données enregistrées permettent des conclusions directes sur l’efficacité du système de sécurité. Si une récession est enregistrée au niveau du honeypot, il est alors nécessaire de vérifier si le système en production a été infiltré. En outre, les deux systèmes doivent être adaptés pour prévenir les attaques futures sur le même modèle.

Parenthèse : les honeypots et le cadre juridique

Dans le passé, les enquêteurs ont utilisé le principe des honeypots pour confondre et attraper des criminels à la recherche de contenus illégaux. Le recours aux honeypots pour lutter notamment contre la distribution de contenus protégés par le droit d’auteur est également en débat.

Par exemple, selon un article du Cnet le FBI aurait en 2006 placé des liens sur des forums Internet suggérant de la pédopornographie. Les visiteurs de ces liens furent ainsi inquiétés par la justice américaine. Plus récemment, en 2014, et toujours à la suite d’un système mis en place par le FBI utilisant des honeypots et en collaboration avec l’OCLCTIC (Office central de lutte contre la criminalité liée aux technologies de l’information et de la communication) : un utilisateur français fut incriminé pour fraude à la carte bancaire sur Internet et la cour de cassation de Toulouse via un arrêt a rejeté l’argument de l’incriminé qui avait demandé une annulation de la procédure au motif que les éléments de preuves ont été obtenus en violation du principe de loyauté.

Ce dernier exemple illustre bien la problématique de l’utilisation des honeypots et ne valide pas totalement son recours. On assiste davantage en France à une appréciation au cas par cas. Au final, la légalité des honeypots reste encore en discussion et son utilisation pose encore de nombreux problèmes sur différents plans, notamment au sujet du risque de complicité et de la collecte de données à caractère personnel.