Le cookie poisoning, également appelé détournement de session, est une stratégie d’attaque dans laquelle l’attaquant modifie, forge, détourne ou « empoisonne » un cookie autrement valide renvoyé à un serveur pour voler des données, contourner la sécurité, ou les deux.
En informatique, un cookie contient des données spécifiques à un site Web et à une session utilisateur, y compris des informations d’intérêt ou d’identité sur l’utilisateur. Il est créé et stocké dans le navigateur de l’utilisateur. Les sites Web et les serveurs peuvent utiliser des cookies pour suivre les tendances d’utilisation, par exemple pour savoir quelles pages du site obtiennent le plus de trafic, ainsi que pour personnaliser et simplifier l’expérience utilisateur, par exemple en priorisant un contenu aligné sur les visites précédentes de l’utilisateur, en conservant une liste d’articles dans un panier d’achat en ligne, ou en remplissant automatiquement des informations personnelles.
Les attaquants peuvent intercepter les cookies avant leur renvoi vers le serveur pour en extraire des informations ou pour les modifier. De faux cookies peuvent également être entièrement créés afin d’usurper l’identité d’un utilisateur pour accéder à des données supplémentaires. Le cookie poisoning est en cela un terme impropre dans la mesure où il est souvent utilisé non seulement pour désigner les cookies modifiés (« empoisonnés »), mais aussi pour diverses méthodes permettant de voler les données de cookies valides ou d’en faire un usage malveillant.
Les cookies sont souvent utilisés pour l’authentification et pour savoir si un utilisateur est connecté à un compte, ce qui implique que les informations qu’ils contiennent peuvent être utilisées pour un accès non autorisé. Ils peuvent également contenir d’autres données sensibles, y compris des informations financières, saisies par un utilisateur. Le cookie poisoning est relativement facile pour les attaquants, qui peuvent utiliser un cookie empoisonné pour usurper l’identité des utilisateurs à des fins de fraude ou pour obtenir un accès non autorisé au serveur Web en vue d’autres exploits.
Les cookies (ou autres jetons de session) qui ne sont pas générés ou transmis de manière sécurisée sont vulnérables au détournement ou à l’empoisonnement. Le cross-site scripting (XSS) est un moyen courant de voler des cookies, mais diverses autres méthodes peuvent être utilisées pour obtenir un accès non autorisé aux cookies, notamment le reniflage de paquets ou la force brute. Étant donné que le cookie poisoning est un terme générique pour de nombreuses activités malveillantes impliquant des cookies, un exploit de cookie poisoning peut parfois également être décrit plus précisément comme une attaque de type « man-in-the-middle », un détournement de session, une fixation, une falsification, ou autre.
Même si une approche réfléchie lors du développement des applications peut limiter les données sensibles stockées dans les cookies ou rendre leur extraction plus difficile pour les attaquants, le fait est que les applications continueront à utiliser des cookies pour identifier les utilisateurs, les comportements, ou les deux. Une sécurisation des applications Web et une gestion des sessions adéquates peuvent aider à protéger les données d’identification et à se défendre contre le cookie poisoning. Ceci peut être effectué par un pare-feu d’application Web (WAF).
Advanced WAF de F5 utilise une inspection des données par un serveur proxy complet, des analyses de comportement et un apprentissage machine pour assurer une sécurité applicative de haut niveau, avec notamment une gestion de session sophistiquée et un cryptage des cookies par SSL/TLS. En interceptant tout le trafic en provenance et à destination du serveur Web, le pare-feu peut décrypter ce trafic et le comparer aux informations envoyées par le serveur pour empêcher que des cookies altérés n’atteignent le serveur ou une application.