Comment comprendre la collecte de comptes

📅
🕑 5 minutes de lecture

Gérer les violations de données, c’est un peu comme jouer au jeu de la taupe en cybersécurité. Certaines violations sont importantes et nécessitent une planification minutieuse, l’apprentissage des tenants et aboutissants d’un système, puis la création de messages d’hameçonnage convaincants. Celles-ci peuvent entraîner de graves fuites de données : code source, fichiers d’entreprise sensibles ou informations utilisateur comme les mots de passe et les numéros de sécurité sociale. Mais toutes les fuites de données ne sont pas aussi complexes ou dommageables. Parfois, il s’agit simplement de minuscules failles de sécurité, comme la collecte ou l’énumération de comptes. Ces techniques peuvent paraître sophistiquées, mais elles permettent aux pirates de découvrir discrètement quels noms d’utilisateur ou adresses e-mail appartiennent à des comptes réels sans déclencher d’alerte.

Comment fonctionne l’énumération des comptes

Si vous avez déjà essayé de vous connecter à un site et constaté que le message d’erreur s’affiche lorsque votre mot de passe est incorrect ou lorsque votre adresse e-mail ou votre nom d’utilisateur est inexistant, c’est un signe classique d’énumération de comptes. En résumé, si le site affiche « Mot de passe incorrect » lorsque le nom d’utilisateur est correct, mais « Compte inexistant » dans le cas contraire, les pirates disposent d’une carte claire des comptes valides. Pourquoi est-ce si grave ? Parce que cela leur permet de cibler les données des utilisateurs réels sans trop d’efforts. Sur certaines configurations, c’est très évident : un simple message d’erreur différent suffit, et ils peuvent établir une liste assez précise des utilisateurs actifs.

Résoudre ce problème n’est pas compliqué. Il suffit d’afficher une erreur générique du type « Le nom d’utilisateur ou le mot de passe saisi est incorrect », que le compte existe ou non. Cela paraît simple, mais il est facile de rendre ce type de fuite d’informations moins visible.

Récolter discrètement des comptes

D’accord, mais ce n’est que la version la plus flagrante. Si un attaquant cherche à rester discret, il peut le faire de manière plus subtile. Au lieu de se fier uniquement aux messages d’erreur, il peut parcourir le site, consulter les profils des utilisateurs ou même utiliser des informations publiques sur LinkedIn, Facebook ou Twitter. En résumé, en collectant les noms d’utilisateur ou les adresses e-mail, il peut générer une liste de comptes cibles potentiels sans jamais attaquer directement les formulaires de connexion. Comme cela ne déclenche pas de messages d’erreur, il est beaucoup plus difficile à repérer dans les journaux.

Les pirates informatiques identifient parfois les conventions de nommage des adresses e-mail de l’entreprise, comme pré[email protected]. En devinant les formats d’e-mail, ils peuvent collecter une multitude de comptes plausibles sans jamais toucher directement la surface d’attaque. C’est un peu étrange, mais cela rend l’attaque plus discrète, bien plus subtile que les tentatives de connexion par force brute ou les afflux massifs d’inscriptions.

Des détails qui trahissent le jeu

Parfois, ce sont de minuscules détails qui permettent de savoir si un compte est victime d’une collecte de données. Les serveurs web fournissent des codes d’état, comme 200 OKou 501 Internal Server Error, qui, s’ils ne sont pas traités avec précaution, peuvent divulguer des informations. Par exemple, si votre page de réinitialisation de mot de passe affiche « E-mail de réinitialisation de mot de passe envoyé » même si l’e-mail n’est pas dans la base de données, mais que le serveur répond malgré tout avec un code d’erreur 501, un attaquant analysant le trafic réseau peut déterminer si le compte existe ou non. Car, bien sûr, Windows et les plateformes d’hébergement web doivent être d’une précision déconcertante dans leurs réponses.

Et si le hachage des mots de passe n’est pas effectué correctement, c’est un autre moyen pour les attaquants de savoir si le compte existe grâce au temps de réponse. Si votre serveur met 100 ms à hacher le mot de passe d’un compte valide, mais répond instantanément lorsque le compte n’existe pas, ils peuvent mesurer le temps nécessaire et en déduire si le compte est réel ou fictif. On ne sait pas exactement pourquoi cela fonctionne, mais dans certaines configurations, cela fait une différence notable. Les attaques temporelles sont donc une réalité.

Assembler toutes les pièces du puzzle

Quel est le principal enseignement à tirer ? La sécurité repose sur de nombreux petits détails. S’assurer que les messages d’erreur sont toujours génériques, gérer correctement les codes d’état HTTP et ne jamais exposer les différences de temps dans les réponses peut faire toute la différence. Car bien sûr, les pirates adorent ces petites failles : elles sont faciles à exploiter et peuvent mener à des failles plus importantes ou simplement à une petite collecte d’informations.

Sur une configuration, cela a fonctionné, sur une autre… pas vraiment. Mais si vous manipulez des données sensibles, il est judicieux de vérifier vos processus de connexion et de réinitialisation de mot de passe pour détecter ces fuites subtiles. Parfois, le simple fait de s’en tenir à des réponses cohérentes peut vous éviter bien des soucis par la suite.

Pourquoi ces choses sont importantes

Divulguer des informations sur l’existence d’un compte peut sembler anodin, mais cela peut en réalité divulguer des informations très sensibles. Imaginez que quelqu’un découvre que votre adresse e-mail est enregistrée sur un site traitant de questions de santé ou d’opinions politiques ; c’est plutôt gênant, non ? De plus, ces noms d’utilisateur et mots de passe réutilisés sont liés à de vraies personnes, ce qui facilite les futures violations. Si quelqu’un met la main sur votre adresse e-mail et votre mot de passe suite à une violation ailleurs, il pourrait essayer la même combinaison sur d’autres sites. Alors, réutiliser des mots de passe ? Pas terrible.

Toutes ces petites fuites et ces astuces temporelles peuvent sembler anodines en soi, mais les pirates informatiques sont intelligents. Ils peuvent rassembler suffisamment d’informations pour deviner des mots de passe, identifier des informations personnelles ou planifier des attaques de plus grande envergure.

Conclure

L’énumération des comptes est une petite vulnérabilité sournoise qui peut aider les acteurs malveillants à déterminer si vous possédez un compte, où que ce soit. Ce n’est pas la même chose que de pirater le compte lui-même, mais c’est un tremplin qui peut être exploité ultérieurement. La bonne nouvelle ? C’est généralement assez facile à corriger : il suffit de rendre les messages d’erreur cohérents, de surveiller les fuites d’informations dans les réponses et de minimiser les décalages temporels. Car, bien sûr, moins ils en savent, mieux c’est.

J’espère que cela évitera à quelqu’un un mal de tête : ces petits détails comptent plus que vous ne le pensez.