Violation du trimestre : attaque par credential stuffing sur un site web
La « violation du trimestre » est un rendez-vous d’information tous les trois mois détaillant un incident de sécurité. Dans cette fiche, la CNIL évoque les attaques par bourrage d’identifiants (credential stuffing) et donne des recommandations pour prévenir et se protéger face à ce type d’attaque.
La plupart des sites web proposant un espace authentifié, par exemple une plateforme de e-commerce, peut être soumis à un type d’attaque répandu : le bourrage d’identifiants ou credential stuffing.
Cette attaque se manifeste généralement par une très forte et soudaine affluence, dont la cause est un grand nombre de requêtes envoyées à destination des serveurs d’authentification des clients.
Une telle attaque, qui porte atteinte à la sécurité des données, peut avoir des conséquences importantes pour l’entreprise (pertes économiques, mauvaise réputation, etc.) et surtout pour les personnes concernées (perte d’accès au service, vol d’informations personnelles, etc.).
Quel est le mode opératoire d’une attaque par credential stuffing ?
- Des listes d’identifiants et de mots de passe « en clair » sont publiées, généralement suite à une violation de données.
- L’attaquant récupère ces listes, en partant du principe que les utilisateurs se servent souvent du même mot de passe et du même identifiant (l’adresse courriel) pour différents services.
- Par l’intermédiaire de « robots », l’attaquant cible des sites souvent peu sécurisés et tente une grande quantité de connexions. Les sites peu sécurisés peuvent avoir des difficultés à distinguer un robot d’un véritable utilisateur.
- L’attaquant, qui a réussi à se connecter à un compte, peut alors changer de mot de passe pour que l’utilisateur ne puisse plus utiliser son compte, faire des achats (si la carte bancaire est enregistrée), etc.
Note : le credential stuffing est différent d’une attaque par force brute (bruteforce attack) : dans ce dernier cas, l’attaquant va essayer des combinaisons de mots de passe à partir de « dictionnaires » ou en utilisant les mots de passe les plus simples (« 123456 », « azerty », etc.).
Que faire en cas d’attaque et comment s’en protéger ?
-
Comprendre l’origine de l’attaque et limiter ses effets
Organiser une cellule de crise
Quand une attaque survient, il est essentiel de bien communiquer auprès des différentes équipes, internes ou externes, pour gérer les conséquences de l’attaque.
Il est recommandé de former une cellule de crise qui peut comprendre :
- le directeur des systèmes d’information (DSI) ;
- le responsable de la sécurité des systèmes d’information (RSSI) ;
- le délégué à la protection des données (DPO) ;
- les prestataires externes spécialisés dans les systèmes d’information concernés.
Analyser les journaux d’accès et bloquer les flux suspects
L’analyse des journaux (logs) doit être réalisée régulièrement par les équipes connaissant le système, ce qui permet de détecter des actions suspectes ainsi que de les qualifier et de les marquer afin de pouvoir finalement déterminer comment les contrer.
Dans le cas d’une attaque par credential stuffing, l’analyse des journaux peut, par exemple, montrer des requêtes générées de façon automatique, depuis des plages d’adresses IP suspectes, par un outil essayant d’obtenir un accès non légitime.
L’utilisation d’un système de limitation (rate limiting), permet de limiter tout ou partie du volume du trafic réseau en fonction de divers éléments, comme l’IP source. Durant la phase d’attaque, la cellule peut prendre la décision de baisser la limite du flux pour les IP provenant des zones identifiées comme suspectes. La mise en place d’un CAPTCHA est également possible pour limite les flux suspects.
-
Informer les personnes concernées en cas d’attaque
Par ailleurs, le service peut envoyer une alerte aux utilisateurs dès lors qu’un terminal inconnu se connecte et permettre à ces derniers de suspendre immédiatement leur compte et de changer leur mot de passe s’ils ne sont pas à l'origine de la connexion.
Le site peut proposer aux personnes de :
- modifier leur mot de passe associé à leur adresse courriel sur le site victime ;
- modifier leur mot de passe sur les autres sites où les mêmes identifiants et mots de passe sont utilisés ;
- faire opposition sur leur carte bancaire, afin de rendre les données subtilisées inopérantes.
Il existe des solutions qui permettent de savoir si un compte, utilisé sur un site web ou une application mobile, est concerné par une violation de données (perte de confidentialité).
Ces outils peuvent proposer la génération d’une alerte et prévenir un utilisateur lorsqu’un de ses mots de passe apparait dans une fuite de données.
-
Documenter la violation et la notifier à la CNIL
L’accès non autorisé à des données personnelles est considéré comme une violation de données. Dans ce cas, le responsable de traitement doit :
- enregistrer la violation dans son registre des violations ;
- notifier la violation à la CNIL dans un délai de 72 h (article 33 du RGPD).
Il peut également déposer une plainte auprès des autorités compétentes (police, gendarmerie). Il est important que le responsable de traitement dispose de toutes les informations techniques, notamment les journaux d’accès, afin de pouvoir les communiquer aux enquêteurs.
-
Prévenir les futures attaques
Utiliser une connexion multifacteur
Les accès aux comptes depuis le portail web peuvent être sécurisés, en plus du couple identifiant et mot de passe, par l'utilisation d’une connexion multifacteur, par exemple par l’envoi d’un SMS contenant un code à usage unique sur le terminal mobile de l’utilisateur empêchant finalement toute connexion frauduleuse depuis le web.
Ces mesures peuvent permettre au responsable de traitement de ne pas subir de violation de données importante et d’assurer la confidentialité des données confiées par ses clients.
Les mesures mises en œuvre correctement permettent de lutter efficacement contre des attaques, parfois anciennes et parfois plus récentes. Il est important pour les équipes en charge de la sécurité des systèmes d’information d’effectuer une veille active sur les méthodes utilisées par les attaquants et d’adapter, en fonction, leur dispositif de défense.
Instaurer des mesures de sécurité fortes pour les utilisateurs
Afin de réduire le taux de réussite de l’attaquant, il est utile de mettre en place des mesures de sécurité adaptées, par exemple :
- un CAPTCHA ;
- un couple identifiant et mot de passe où l’identifiant n’est pas basé sur l’adresse courriel de l’utilisateur.