OAuth et tokens : ces clés invisibles qui ouvrent tes comptes

Niveau

Temps

XP

Avancé

min
0
Points
0

« Un token volé vaut autant qu’un mot de passe : il ouvre la porte sans jamais demander ton code. »

Pourquoi ce cours est important

Chaque fois que tu cliques sur ‘Continuer avec Google’, tu crées un accès permanent à ton compte. Ces accès reposent sur des tokens, de petites clés numériques que la plupart des gens ne révoquent jamais. Un token compromis suffit pour prendre le contrôle d’un compte sans connaître ton mot de passe.

Ce qu'est un token OAuth

Un token est une clé temporaire émise par ton compte principal pour déléguer un accès précis à une application tierce.

Un token volé ou oublié reste actif longtemps, parfois des années, sans que tu le saches ni que ton mot de passe change.

Chaque écran de consentement OAuth liste les scopes demandés : apprendre à les lire évite d’accorder des droits excessifs.

Parcourir les applications autorisées dans ses paramètres de compte et supprimer tout ce qui est inconnu ou inutile.

I - OAuth : déléguer un accès sans partager son mot de passe

“OAuth est le protocole qui permet à Spotify de lire tes playlists Google sans connaître ton mot de passe.”

OAuth (Open Authorization) fonctionne en 3 acteurs :

  • Toi
  • Ton compte principal appelé serveur d’autorisation (Google, Microsoft, Apple)
  • L’application tierce qui veut y accéder

Quand tu cliques sur ‘Continuer avec Google’, ton compte Google émet un token d’accès, une chaîne de caractères chiffrée, et l’envoie directement à l’appli. Ton mot de passe ne circule jamais.

Ce token transporte des scopes, c’est-à-dire des permissions précises. Un scope comme « read:email » autorise uniquement la lecture des e-mails, tandis que « manage:contacts » permet de modifier ton carnet d’adresses. Le problème est que la plupart des applis demandent bien plus de scopes qu’elles n’en ont besoin, et les utilisateurs valident sans lire.

Il existe 2 types de tokens dans OAuth 2.0. L’access token est de courte durée (souvent 1h) mais il est accompagné d’un refresh token, lui de longue durée, qui permet à l’appli de renouveler l’accès automatiquement. C’est ce refresh token qui transforme une autorisation ponctuelle en accès potentiellement permanent.

II - Les attaques qui ciblent les tokens OAuth

“Voler un token est souvent plus simple que de craquer un mot de passe, et bien moins détectable.”

L’attaque la plus courante s’appelle le consent phishing. Un attaquant crée une fausse application OAuth avec un nom crédible (« Google Calendar Sync », « Outlook Backup ») et t’envoie un lien d’autorisation légitime, hébergé sur accounts.google.com ou login.microsoftonline.com. Si tu valides, l’attaquant reçoit un token réel avec les scopes que tu as acceptés. Microsoft a documenté cette technique dans plusieurs campagnes ciblant des entreprises en 2023.

Un token peut aussi être volé depuis le stockage local d’un navigateur. Les applications web stockent souvent les tokens dans le localStorage ou dans des cookies. Une extension de navigateur malveillante ou un script XSS (injection de code JavaScript dans une page) peut les lire et les exfiltrer en quelques millisecondes, sans que l’antivirus ne détecte quoi que ce soit.

Contrairement à un mot de passe volé, un token compromis ne déclenche aucune alerte de connexion suspecte : l’accès semble légitime car il provient d’une autorisation que tu as toi-même accordée. Changer son mot de passe ne révoque pas les tokens existants, ce que la grande majorité des utilisateurs ignore.

III - Auditer, révoquer et se protéger concrètement

“Chaque compte principal a une page dédiée aux applications autorisées : c’est là que tout se contrôle.”

  • Sur Google : rends-toi sur myaccount.google.com, puis ‘Sécurité’, et ‘Vos connexions à des applications tierces’. Tu verras chaque appli autorisée avec les scopes accordés.
  • Sur Microsoft : va sur myapplications.microsoft.com.
  • Sur GitHub : va dans Settings, puis Applications, et Authorized OAuth Apps.

Révoque toute application que tu ne reconnais pas ou que tu n’utilises plus depuis plus de 30 jours.

Quand une nouvelle appli te demande une autorisation OAuth, lis l’écran de consentement ligne par ligne. Si une appli de météo demande l’accès à tes contacts ou à ta messagerie, c’est un signal d’alarme. Les applis sérieuses demandent uniquement les scopes strictement nécessaires à leur fonctionnement. Un scope comme « Lire, rédiger, envoyer et supprimer tous vos e-mails » accordé à un outil de productivité inconnu est une prise de risque majeure.

Pour les développeurs ou les utilisateurs avancés, il est possible de vérifier la durée de vie d’un token en décodant sa structure JWT (JSON Web Token) sur jwt.io. Un JWT est un token encodé en base64 qui contient en clair l’émetteur, les scopes et la date d’expiration. Cette lecture ne nécessite aucun outil spécial et prend moins de 10 secondes.

Si tu veux plus d’infos sur la cyber, abonne-toi.

#OAuth #Tokens #IdentiteNumerique #Cybersecurite #ConsentPhishing #ProtectionDesComptes #JWT

Défiler vers le haut