Developpez.com

Le Club des Développeurs et IT Pro

Un chercheur trouve un bogue dans le système de réinitialisation de mot de passe de Facebook

Qui permet de réinitialiser tous les comptes

Le 2016-03-08 19:26:23, par Stéphane le calme, Chroniqueur Actualités
Anand Prakash, un chercheur indépendant en sécurité vivant à Karnataka (un État situé dans le sud de l'Inde), a trouvé une vulnérabilité dans Facebook qui pouvait être utilisée pour pirater relativement facilement un compte sans l'interaction de l'utilisateur. Le bogue se situait au niveau de la réinitialisation des mots de passe.

Le procédé de la réinitialisation de mot de passe sur Facebook est simple et classique : il suffit d'accéder à l’écran de connexion Facebook, en haut à droite de cliquer sur « Mot de passe oublié ? », saisir l’adresse mail, le numéro de téléphone, le nom complet ou le nom d’utilisateur associés à votre compte, puis de cliquer sur Recherche. Une série d'instructions seront alors données à l'utilisateur qui sera invité à les suivre. Après cela, l'utilisateur recevra un code à six chiffres par SMS ou à son adresse mail qu'il devra entrer dans le formulaire de réinitialisation du mot de passe, clé qui lui permettra alors de définir un nouveau mot de passe.

Le problème ? Aucune limite du nombre d'essais n'avait été définie sur les sites bêta de Facebook (beta.facebook.com et mbasic.beta.facebook.com) contrairement au site principal facebook.com. Ces plateformes servent de zone de test pour les utilisateurs qui veulent faire l'expérience des nouvelles fonctionnalités du numéro un du réseau social avant qu'elles ne soient déployées sur le site principal.

En se servant d'un script, il a lancé une attaque par force brute sur la plateforme de test, l'objectif étant d'essayer toutes les combinaisons possibles de ces six chiffres en question. Une fois le mot de passe réinitialisé sur la plateforme de test, il a pu s'en servir sur le site principal de Facebook. En guise de test, il a essayé sur son propre compte avec succès : cette vulnérabilité « m'a donné un accès total à d'autres comptes utilisateur en définissant un nouveau mot de passe. J'étais en mesure de voir les messages, les informations relatives aux cartes de paiement sauvegardées dans la section paiement, les photos personnelles, etc. ». Ladite attaque n'a pas fonctionné sur le site principal qui l'a automatiquement bloquée après 10 ou 12 entrées invalides.

Il a prévenu Facebook le 22 février dernier, l'entreprise a reconnu l'existence de la faille et a résolu le problème le lendemain. En guise de récompense, le chercheur a reçu 15 000 dollars (environ 13 600 euros) pour sa découverte. Ci-dessous une vidéo enregistrée par le chercheur en guise de preuve de concept.


Source : blog Anand Prakash
  Discussion forum
13 commentaires
  • Greg_Lumiere
    Futur Membre du Club
    " ça permet d'avoir des données nombreuses et réalistes, ce qui est aussi utile pour les tests "

    et voilà comment la sécurité perd son statut prioritaire... Il y a des concessions qui devrait être remises en cause, surtout lorsque cela touche le caractère privé de l'information car l'article ne parle pas de comptes "bateaux" mais des comptes personnels des utilisateurs.

    Je pense qu'une "zone de test" doit avoir une vision limitée des informations liées aux comptes des utilisateurs. D'autre part, il paraît indispensable de dissocier les mdp de l'accès officiel et de la version bêta.
    Bien sûr j'ai conscience que du point de vue de l'utilisateur cela rajoute encore une ligne au carnet des mot-de-passe, mais tenons compte du fait que l'accès à la zone bêta est à l'initiative de l'utilisateur.

    Dans tous les cas, chapeau bas monsieur Prakash !
  • Zirak
    Inactif
    Envoyé par trasmiro
    cette vulnérabilité « m'a donné un accès total à d'autres comptes utilisateur en définissant un nouveau mot de passe. J'étais en mesure de voir les messages, les informations relatives aux cartes de paiement sauvegardées dans la section paiement, les photos personnelles, etc. ».

    Le code à six chiffre n'est il pas lié à un seul compte?
    Si, mais il n'a pas eu accès aux autres comptes avec son code à lui, il a utilisé la faille pour faire du brute force sur d'autres comptes.

    (sachant que de toutes façons, ce code doit avoir une durée de vie limitée dans le temps, tu ne peux pas gérer plusieurs millions de personne avec un code à 6 chiffres, donc oui, à un moment T1 le code 175894 sert à réinitialiser le mdp de mr Dupont, et à un moment T2, ce code sert à réinitialiser le mdp de mme Michu, mais si tu essais de réinitialiser le mdp de mme Michu au moment T1, en même temps que celui de mr Dupont, elle aura un autre code).

    Enfin, moi c'est comme ça que je le comprend.
  • Lcf.vs
    Membre éclairé
    Outre la faille, je trouve assez délirant que, sur la plateforme de test, on se serve des mêmes identifiants/données que sur la version normale...

    Après tout, la version de test n'est-elle pas, par concept, plus sujette à des vulnérabilités de ce genre?
  • Uther
    Expert éminent sénior
    Certes mais ça permet d'avoir des données nombreuses et réalistes, ce qui est aussi utile pour les tests.
  • Bono_BX
    Membre confirmé
    Envoyé par Uther
    Certes mais ça permet d'avoir des données nombreuses et réalistes, ce qui est aussi utile pour les tests.
    Ben le floutage de données, c'est fait pour ça, non ?
  • Uther
    Expert éminent sénior
    C'est pour ça que j'ai précisé "réaliste". Parce que anonymiser les données Facebook, tout en gardant de résultats réalistes et sans créer d’incohérences, c'est peut-être faisable, mais ça serait un travail colossal. Et de toute façon, là il s'agit visiblement pas d'un outil de test interne, mais de beta-test a grande ampleur, donc les utilisateurs/testeurs s'attendent à des données qui ne sont pas brouillés.

    Facebook a commis une erreur et le fait que ça vienne du site beta n'est pas une excuse. La sécurisation de la partie d'accès aux données du site beta se devait d'être aussi bonne que tous les autres moyens d'accéder aux données comme le site officiel ou les API Web.
  • p@radox
    Membre du Club
    https://vimeo.com/158452537
  • Logan Mauzaize
    Rédacteur/Modérateur
    Je ne connais pas Facebook Beta, mais ca ne serait pas de l'A/B Testing ?

    Dans ce cas c'est essentiellement du cosmétique et il n'y a pas d'enjeu particulier. Quoiqu'il en soit le même niveau de sécurité doit être appliqué pour toutes les parties qui utilise le même système de sécurité. D'ailleurs cela prouve qu'il y a une décorrélation et qu'on est pas à l'abri d'un autre exploit.
  • TiranusKBX
    Expert confirmé
    à croire que au moment ou ils on mis la limite d'essais sur le site principal ils aient oublié de le copié sur le moteur du site d'essais public
  • Gabin F
    Membre du Club
    Visiblement la vidéo a été supprimée. Je me demande bien pourquoi