Voici l’analyse factuelle du piratage des 50 millions de comptes Facebook. Cette analyse exclusive effectuée par un expert en cybersécurité indépendant, qui souhaite rester anonyme, s’appuie sur des faits avérés et sur la communication officielle de Facebook lors d’une conférence de presse téléphonique de Guy Rosen.
Facebook utilise un mécanisme appelé “token” ou “jeton d’accès”. Ce n’est pas le mot de passe, c’est une clé numérique qui permet de rester connecté à Facebook afin que vous n’ayez pas à ressaisir votre mot de passe à chaque fois que vous utilisez l’application. De plus, certaines parties de Facebook utilisent un mécanisme appelé “single sign-on” – ou SSO – pour créer de nouveaux jetons d’accès. Par exemple, si vous êtes connecté à l’application mobile Facebook et qu’elle veut ouvrir une autre partie de Facebook dans une fenêtre de navigateur, elle peut utiliser le mécanisme SSO pour générer un jeton d’accès pour ce navigateur, ce qui implique que vous n’avez pas à entrer à nouveau votre mot de passe. De plus, tous les sites qui utilisent Facebook comme système d’authentification utilisent ce même dispositif de token.
On trouve les applications qui utilisent Facebook comme moyen d’authentification (et qui donc sont en danger indirect) en allant dans les paramètres, puis “Apps et sites web”.
La faille qui a été exploitée (il s’agit bien d’un piratage et non pas d’une divulgation interne ou d’une négligence) utilise la fonction de “View As” (“Voir en tant que”) qui permet aux utilisateurs de voir à quoi ressemble leur propre profil vu par quelqu’un d’autre, ami ou pas :
Par exemple, si vous avez un ami ou une connaissance, “View As” vous permet de voir votre compte à travers les yeux de cette personne et cela vous permet de vérifier exactement ce qu’elle peut voir. Une fois que les attaquants ont obtenu un jeton d’accès (token) pour un compte, disons (celui d’Alice), ils pouvaient alors utiliser “View As” pour voir ce qu’un autre compte, disons (celui de Bob), pouvait voir sur (celui d’Alice). En raison de la vulnérabilité, cela leur a permis d’obtenir un accès token pour le compte de (Bob) et ainsi de suite. Cela permet ainsi d’aspirer tous les éléments qui ont été postés sur un compte, y compris les photos et les connexions à des amis.
“Joyeux anniversaire” !
Vous connaissez certainement la fonctionnalité qui permet de faire une petite vidéo pour souhaiter joyeux anniversaire à vos amis sur Facebook. Les pirates ont utilisé la combinaison de trois failles de sécurité liées à la fonction “View As” et à la vidéo de “joyeux anniversaire”.
- La première faille était que lors de l’utilisation du produit “View As”, le téléchargeur de vidéo n’aurait pas dû apparaître du tout, mais dans un cas très spécifique autour des messages qui encouragent les gens à souhaiter un bon anniversaire, il est apparu.
- La deuxième faille était que ce téléchargeur vidéo utilisait incorrectement SSO – le dispositif d’ouverture de session unique – pour générer un jeton d’accès qui avait les permissions de l’application mobile Facebook. Ce n’est pas ainsi que le SSO est censé être utilisé.
- La troisième faille était que lorsque le téléchargeur vidéo est apparu comme faisant partie de la fonctionnalité “View As” – ce qui est quelque chose qu’il ne ferait pas sauf dans le cas de cette première faille – et ensuite il a généré un jeton d’accès – ce qui est, là encore, quelque chose qu’il ne ferait pas, sauf dans le cas de ce deuxième bogue – il a généré le jeton d’accès non pour vous le spectateur mais pour l’utilisateur que vous avez cherché.C’est la combinaison simultanée de ces trois failles qui a créé une vulnérabilité permettant l’accès aux comptes Facebook sans connaître le mot de passe.
La façon dont les pirates ont exploité cette vulnérabilité leur a permis d’obtenir non seulement un jeton d’accès sur un compte, mais également à travers les amis de cet utilisateur d’obtenir de nouveaux jetons d’accès et ainsi de suite sur plus de 50 millions de comptes.
Piratages en cascade
La vulnérabilité était sur Facebook au départ, mais ces jetons d’accès permettent à quelqu’un d’utiliser l’identifiant comme s’il s’agissait du titulaire du compte lui-même. Cela signifie qu’ils pourraient accéder à d’autres applications tierces qui utilisaient la connexion Facebook.
Vous devez donc dissocier les comptes liés comme Instagram ou tout autre compte de la famille Facebook que vous avez. Ces comptes n’ont pas été réinitialisés par Facebook?
Comment l’attaque a-t-elle été repérée ?
Le 16 septembre, Facebook a commencé à enquêter sur un certain pic de trafic, ce qui a permis mardi dernier de repérer l’attaque. Rapidement, jeudi soir, la vulnérabilité a été corrigée et Facebook a commencé à déconnecter les utilisateurs afin de réinitialiser leur jeton d’accès, ce qui est la seule façon d’empêcher l’accès à un compte par le token.
Les comptes compromis sont-ils situés dans une région spécifique du globe ?
Les premières indications donnent l’impression qu’il s’agit d’un programme très large et qu’il ne vise aucun pays ou zone en particulier, mais il n’en est qu’à ses débuts…
Est-ce que la brèche de données personnelles a été notifiée vis-à-vis du RGPD ?
Facebook a informé la Commission irlandaise de protection des données conformément à leurs obligations en vertu du RGPD.
Quelles actions doit-on faire si on dispose d’un compte Facebook ?
Comme Facebook a désactivé la fonction « View As » et réinitialisé le token pour les comptes concernés, il reste les actions suivantes à faire immédiatement:
· Déconnectez-vous de Facebook et reconnectez-vous (pour réinitialiser le token) – C’est ce que Facebook a effectué pour plus de 90 millions de comptes “dans le doute”.
· Activez le système d’authentification à double facteur. (le mot de passe est éphémère). Cela ne fait rien pour corriger la faille du “joyeux anniversaire”, mais cela empêche des pirates qui auraient récupéré votre mot de passe d’accéder à votre compte.
· Supprimer tous les accès des applications tierces qui utilisent Facebook comme système d’authentification et se reconnecter (voir l’écran “apps et sites web”)
Auteur : Boris Learsi