DataDome

Credential stuffing : dans les coulisses d’une attaque massivement distribuée

Table des matières
5 Nov, 2019
|
min

Il y a quelque temps, l’un des clients de DataDome a été victime d’une attaque assez intéressante.

Pour effectuer cette attaque, les opérateurs de bots malveillants ont eu recours à des outils et méthodes d’usurpation d’identité somme toute assez classiques ; mais là où elle s’est révélée particulièrement remarquable, c’est par son ampleur.

Durant près de 48 heures, les attaquants ont bombardé leur cible avec :

  • plus de 5,7 millions de requêtes ;
  • depuis plus de 250 000 adresses IP différentes ;
  • via une offensive perpétrée sur plus de 8 000 systèmes autonomes ;
  • dans plus de 215 pays (y compris des territoires dépendants et des zones particulières d’intérêt géographique).

Assurément, une attaque d’une telle envergure ne pouvait être le fait d’un adolescent en sweat-shirt dans le sous-sol de sa maison familiale. Quelle que soit l’entité responsable, une telle entreprise exigeait des moyens humains, techniques et financiers considérables, assortis d’une motivation suffisante en vue de les déployer.

Outre le caractère prodigieux de l’événement en termes de chiffres, cette attaque représente un cas d’étude intéressant : elle a en effet permis d’observer, au fur et à mesure, la manière dont les auteurs ont tenté de déjouer notre solution de protection anti-bots en faisant du reverse engineering, en l’attaquant sous des angles différents, en émettant des hypothèses réfléchies sur nos critères de détection et en testant diverses stratégies pour tenter de contourner la protection (précisons-le toutefois : sans y parvenir).

Mais voyons tout cela plus en détail.

Contexte

La cible de cette attaque particulière est une société implantée aux États-Unis, « pure player » du commerce en ligne. La majorité de sa clientèle est originaire d’Amérique du Nord et d’Amérique centrale, ainsi que, dans une moindre mesure, du Royaume-Uni et d’autres parties de l’Europe de l’Ouest.

Voici, à titre de référence, un aperçu de la répartition du trafic normal et légitime de son site Web :

Pour accéder aux services du site, les clients doivent être titulaires d’un compte. Comme tout site dont le nombre de membres est significatif, il s’agit d’une cible privilégiée pour les robots qui tentent d’accéder aux comptes des utilisateurs et d’en prendre le contrôle par le biais du credential stuffing.

En quoi consiste le credential stuffing?

Il s’agit d’un type de cyberattaque orchestré autour de robots malveillants qui essaient de se connecter à des sites Web par le biais d’informations d’identification dérobées (noms d’utilisateur, adresses e-mail, mots de passe, etc.)

En savoir plusCredential stuffing, credential cracking et usurpation de comptes : comment protéger votre site e-commerce

Quelques semaines avant cette attaque, la société avait mis en œuvre la solution de protection anti-bots de DataDome. Notre tableau de bord des utilisateurs nous permettant d’effectuer une surveillance en temps réel de l’ensemble du trafic automatisé, nous avons immédiatement remarqué que ce site faisait l’objet d’un volume régulier élevé de tentatives de credential stuffing. Une fois la protection activée, cependant, ces tentatives n’étaient plus un motif de préoccupation.

Jusqu’à ce fameux jour…

Phase 1 : une attaque massivement distribuée dans 215 pays

Durant les quelques jours qui ont précédé l’attaque, le trafic des bots illicites a connu une légère décrue sur le site ; comme qui dirait, le calme avant la tempête.

Tard dans la soirée du 23 août, nos systèmes internes ont déclenché une notification selon laquelle quelque chose d’inhabituel était en train de se produire sur le site Web de ce client.

Pour preuve, le graphique ci-dessus montre le nombre de requêtes que DataDome a bloquées sur le site. Alors que l’algorithme ronronnait tranquillement, interceptant quelques 20 000 requêtes par heure, le volume de requêtes malveillantes a d’un seul coup été multiplié par cinq.

Or, il ne s’agissait pas d’une attaque volumétrique. Pour rappel, le pic que l’on peut voir sur le graphique correspond non pas au volume total du trafic sur le site, mais uniquement au nombre de requêtes bloquées. L’aspect impressionnant de cette attaque n’était donc pas son volume, mais plutôt sa distribution.

Un examen plus minutieux de la répartition géographique nous a permis de voir que le trafic illégal était issu de plus de 215 pays différents, dont la plus forte concentration en Asie du Sud-Est.

Le plus extraordinaire, c’est que ce trafic était réparti entre plus de 250 000 adresses IP et plus de 8 000 systèmes autonomes !

Ce constat nous a déjà donné un indice sur le type de raisonnement adopté par les opérateurs de ces robots : de toute évidence, ils avaient découvert que notre client, autrement dit leur cible, avait mis en œuvre une protection de son espace d’adhérents, et que celle-ci était déjà en train de bloquer leurs bots.

Pour continuer à perpétrer leur méfait, ils devaient donc trouver un moyen de contourner la protection. Cependant, ils ont probablement pensé qu’ils étaient confrontés à un pare-feu d’applications Web (WAF).

Par conséquent, ils ont conçu une attaque à la fois faible et lente, en s’assurant que chaque adresse IP unique ne génère pas plus de 10 à 20 requêtes. Ainsi, ils ne déclencheraient aucune alerte, ni au niveau des utilisateurs ni au niveau des sessions, d’où l’impossibilité pour un WAF de déceler l’agression.

Espérer bloquer manuellement un trafic malveillant émis par 250 000 adresses IP uniques est tout bonnement irréaliste.

C’est là que la protection de DataDome a joué son rôle, au grand soulagement de notre client. En dépit du caractère spectaculaire de sa distribution, le trafic malveillant de l’attaque a été rapidement détecté et bloqué, comme l’illustre le monumental pic de rejet des requêtes sur le premier graphique ci-dessus.

Mais les opérateurs de bots ne l’entendant pas de cette oreille. Ils sont donc passés à la seconde phase de leur offensive.

Phase 2 : analyse de la solution de protection par rétro-ingénierie

Le graphique qui suit indique la répartition des adresses IP d’origine, pays par pays, pendant toute la durée de l’attaque. On voit ici un fascinant exemple de la manière dont les opérateurs de bots ont tenté de déjouer la solution de protection par voie d’ingénierie inverse dans le but de contourner son moteur de détection.

Comme nous l’avons vu précédemment, la première vague, celle du 24 août, s’était caractérisée par une distribution géographique massive. Si le plus grand nombre de requêtes provenait du Vietnam (courbe violette) et d’Indonésie (vert « vomi »), d’énormes volumes de trafic étaient également originaires d’autres pays :

Soit dit en passant, nos données ne nous ont pas permis de déterminer avec précision par quel moyen les attaquants étaient parvenus à accéder à un aussi gigantesque nombre d’adresses IP. De même, nous n’avons aucune idée de leur situation géographique réelle ; tout au plus leur sélection d’adresses IP aléatoires semble avoir manifesté une légère préférence pour certaines plages.

Quoi qu’il en soit, l’exploitation d’adresses IP issues de 215 pays n’a pas suffi à nos malheureux « amis » pour parvenir à leurs fins : le système de sécurité a en effet continué à bloquer imperturbablement leurs bots. On peut alors les imaginer penser tout haut : « la solution de protection doit considérer le trafic international comme étant suspect. Après tout, c’est un site américain dont le public est essentiellement américain. Essayons donc d’attaquer à partir d’adresses IP américaines ! ».

Et c’est précisément ce qu’ils ont fait. Durant les 36 heures qui ont suivi, la grande majorité des requêtes a été émise à partir d’adresses IP situées aux États-Unis (voir la courbe rouge ci-dessus).

Quoique besogneux, nos pirates n’ont cependant pas remporté davantage de succès avec cette stratégie qu’avec la précédente. Au terme d’une ultime estocade tentée depuis une série d’adresses multipays, ils ont reconnu leur défaite et sont partis s’en prendre à une autre victime. Espérons, au passage, qu’il ne s’agissait pas de vous…

Mode d’action de DataDome contre les attaques massivement distribuées

Comme nous l’avons vu, une solution de sécurité reposant sur des règles (telle qu’un pare-feu WAF) se serait révélée impuissante face à ce type d’attaque. Certes, notre client surveillait les tentatives de connexion infructueuses indépendamment de DataDome, et même sans notre intervention, il aurait découvert qu’une attaque de grande envergure était à l’œuvre. En revanche, il ne serait certainement pas parvenu à stopper celle-ci sans causer des inconvénients majeurs à ses clients légitimes.

Ce cas illustre parfaitement la manière dont des opérateurs de bots peuvent alors contourner aisément les solutions centrées sur le protocole IP. En s’appuyant sur des réseaux proxy résidentiels, des systèmes IdO vulnérables et des applications malveillantes installées sur des appareils mobiles, ils peuvent se répartir sur plusieurs centaines de milliers d’adresses différentes, et adapter leurs stratégies d’attaque en conséquence.

Pour contrecarrer des attaques de cette nature, il est aujourd’hui nécessaire de posséder un authentique savoir-faire d’expert en matière de détection des robots. L’efficacité de la protection repose sur des outils capables de déterminer les intentions des visiteurs, et non plus seulement d’analyser le volume et les signatures de bots connues.

Quelle est donc notre méthode ?

La solution de protection contre les bots de DataDome est architecturée autour d’un moteur de détection à deux strates, qui fait usage étendu des technologies d’intelligence artificielle et d’apprentissage automatique.

Au premier niveau, les menaces connues sont identifiées en moins de 2 millisecondes par une mise en correspondance de modèles de règles personnalisées/d’IA connues, ainsi que par l’identification de leurs empreintes HTTP. Grâce à cette couche, 99 % des requêtes de bots illicites sont identifiées et bloquées sur les sites Web, applications mobiles et API de nos clients.

Les menaces nouvelles, qui représentent le véritable défi, sont identifiées par le biais de critères statistiques et comportementaux. Cette analyse se fonde sur un vaste ensemble de signaux comprenant, entre autres, la détection des faux navigateurs et de la navigation automatisée, le suivi d’événements au niveau des navigateurs et des utilisateurs, ainsi que la détection des périphériques. Cette couche détecte les nouvelles menaces évoluées en moins de 100 millisecondes, tout en alimentant également la première couche de détection en temps réel.

Grâce aux capacités de détection comportementale via l’intelligence artificielle, nous sommes en mesure d’identifier et de bloquer les bots, y compris les plus sophistiqués d’entre eux, en temps réel, sans provoquer le moindre impact discernable sur les utilisateurs humains légitimes.

En savoir plus : Comment détecter les bots malveillants

Remarque concernant les boucles de rétroaction

Dans les cas relativement rares où notre identification n’a toujours pas été concluante au terme des deux étapes de détection, nous présentons au visiteur un défi incluant un Captcha. Cet outil à la fois simple et efficace permet de mesurer les faux positifs, c’est-à-dire les visiteurs humains qui ont été identifiés par erreur comme étant des robots. Ce mécanisme constitue, à ce titre, une source de rétroaction d’une grande valeur pour notre algorithme.

Le tableau de bord mis à disposition de nos clients est en outre doté d’un générateur de rapports en temps réel précisant le nombre respectif de Captchas affichés, résolus et non résolus. Nos clients peuvent ainsi surveiller en permanence le taux de faux positifs et évaluer par eux-mêmes la qualité de détection via l’IA, ce qui entretient assurément notre vigilance !

Nous pouvons affirmer fièrement que parmi les millions de Captchas affichés par notre solution au cours de l’attaque décrite ici, absolument aucun Captcha n’a été résolu sur le endpoint de connexion.

En d’autres termes, alors que nous agissions en coulisses pour combattre plusieurs millions de requêtes malveillantes en l’espace de quelques jours, pas un seul utilisateur humain n’a été incommodé par un Captcha.

En savoir plus : Pourquoi la précision de détection des bots est amenée à mettre un terme au Captcha

Où nous aurions pu être plus performants

Tout a-t-il donc été parfait à 100 % ? Non, loin de là.

Bien que nous ayons assurément empêché les attaquants de prendre frauduleusement le contrôle du moindre compte utilisateur, il est probable que quelques bots soient parvenus à passer à travers les mailles du filet de détection lors des premières phases de l’offensive.

Lorsqu’une attaque est distribuée à une telle échelle, la détection prend en effet un peu plus de temps. Pour garantir qu’aucun bot ne contourne la protection, y compris au cours d’attaques majeures, nous devons mettre notre algorithme à jour encore plus rapidement.

Grâce à l’analyse comportementale, nous sommes actuellement capables de détecter un nouveau modèle de bot toutes les 50 ms. Au total, ceci représente quelque 1,2 million de nouveaux bots détectés quotidiennement, automatiquement et en temps réel. Nous analysons chaque requête adressée aux sites Web, applications et API de nos clients et recueillons 250 événements pour chaque requête.

Le perfectionnement de notre algorithme suppose que nous puissions recueillir encore davantage de données événementielles afin d’alimenter notre analyse en temps réel via une boucle de rétroaction ultrarapide, sans pour autant augmenter le temps de latence, cela va de soi.

Conclusion

Quelles leçons pouvons-nous tirer à l’examen de cette impressionnante attaque ?

Pour plus de simplicité, passons par la classique formule de thèse, antithèse et synthèse :

Les enjeux sont très élevés pour les attaquants

Toute cyberattaque est le fruit d’une délibération entre un coût et une valeur marchande, quoique cette dernière ne soit pas systématiquement de nature monétaire ; le prestige, la vengeance et l’influence politique sont quelques exemples d’alternatives à la monnaie sonnante et trébuchante.

Dans tous les cas, nos données démontrent clairement que la valeur escomptée par les protagonistes en cas de succès de l’attaque était significative. Pour justifier l’investissement du temps et de l’argent nécessaires à la mise en œuvre d’un tel acte, l’avantage potentiellement retiré devait à coup sûr être considérable.

Si vous êtes en charge de la sécurité des données sur un site Web comptant un grand nombre de comptes d’utilisateurs, tenez-vous-le pour dit.

La détection de bots est extrêmement difficile

Du fait de la hauteur des enjeux que nous venons d’évoquer, les opérateurs, tout comme nous, explorent et investissent en permanence dans de nouvelles technologies sophistiquées.

Les robots actuels sont d’ores et déjà presque totalement indiscernables des utilisateurs réels, et il est impossible de les détecter sans connaissance spécialisée. Qui plus est, il est à prévoir que la prochaine génération de bots fasse un usage massif de l’intelligence artificielle, ce qui rendra leur repérage encore plus compliqué.

Une protection efficace contre les bots, cela existe !

Terminons notre propos par une note heureuse : si la détection précise des bots est difficile, elle n’est pas pour autant impossible.

Étant donné que robots et humains officient dorénavant sur des navigateurs et adresses IP identiques, la protection anti-bots est appelée à devenir un processus automatisé en temps réel. Là où les humains ne peuvent plus agir assez rapidement pour contrer les prouesses techniques des robots, l’intelligence artificielle peut prendre le relais.

Grâce au suivi d’événements et à la détection comportementale en temps réel, nous pouvons déjouer les attaques, même les plus sophistiquées, comme l’illustre notre étude de cas.

Par ailleurs, le dicton selon lequel l’union fait la force ne s’est jamais tant vérifié : à chaque détection automatique et en temps réel d’un nouveau bot malveillant sur l’un des plus de 10 000 domaines que nous protégeons, tous nos clients sont automatiquement prémunis en moins de 50 millisecondes.

Pour conserver une longueur d’avance sur les robots, nous continuons à développer et à faire évoluer la solution DataDome par le biais de fonctionnalités de collecte et de suivi d’événements sans cesse plus puissantes. Si vous n’avez pas encore demandé votre essai gratuit de 30 jours, qu’attendez-vous donc ? 😉