IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Des chercheurs découvrent deux failles dans le protocole OAuth 2.0


Sujet :

Sécurité

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 455
    Points : 197 822
    Points
    197 822
    Par défaut Des chercheurs découvrent deux failles dans le protocole OAuth 2.0
    Des chercheurs découvrent deux failles dans le protocole OAuth 2.0
    qui peuvent conduire à des attaques de type MITM

    Un groupe de chercheurs de l’université de Trier (en Allemagne) a effectué une analyse de sécurité de la norme OAuth 2.0. Ils ont découvert que deux types d’attaques auraient pu être utilisés pour briser les autorisations et authentifications dans OAuth.

    En guise d’introduction dans le document décrivant leur recherche, ils ont rappelé que le protocole OAuth 2.0 permet aux utilisateurs d’accorder à des parties de confiance un accès aux ressources de fournisseurs d’identité. En plus d’être utilisé pour ce type d’autorisation, OAuth est également souvent utilisé pour l’authentification dans les systèmes SSO (single sign-on, système à authentification unique, une méthode permettant à un utilisateur d'accéder à plusieurs applications ou sites web sécurisés en ne procédant qu'à une seule authentification). Il faut noter qu’OAuth 2.0 est l’un des protocoles les plus utilisés dans ces desseins sur le web avec des entreprises comme Google (avec Google Account), Yahoo (avec YahooID), Facebook (avec Facebook Login) ou Microsoft (avec Live ID) qui jouent le rôle de fournisseurs d’identité et des millions de sites web qui se connectent à ces services jouent le rôle de parties de confiance.

    Si OAuth 2.0 est au cœur de nombreuses implémentations à l’instar de celles qui sont citées en sus, l’étude note que la prochaine version du système SSO Open ID Connect va également se baser dessus. Pour rappel, OpenID est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites (devant prendre en charge cette technologie) sans avoir à retenir un identifiant pour chacun d’eux, mais en utilisant à chaque fois un unique identifiant OpenID.

    « Malgré la popularité d’OAuth, jusqu’à présent les efforts d’analyse ont été orientés pour trouver des bogues dans des implémentations spécifiques et se basaient sur des modèles formels qui faisaient abstraction de nombreuses fonctionnalités web ou ne fournissaient pas du tout un traitement formel », précisent les chercheurs, avant de relever deux vulnérabilités qui peuvent permettre d’exécuter deux attaques.

    Les chercheurs ont expliqué que dans la première attaque (aussi connue sous le nom de HTTP 307 Temporary Redirect – redirection temporaire), les fournisseurs d’identité font suivre par inadvertance des identifiants (nom d’utilisateurs et mots de passe) aux parties de confiance ou à un attaquant.

    « Cette attaque sévère est causée par une erreur logique dans le protocole OAuth 2.0 et est tributaire de la présence de parties de confiance malveillantes », ont-ils commenté. « Dans cette attaque, le pirate (qui se sert d’une partie de confiance malveillante) glane des informations sur les identifiants de l’utilisateur lorsque celui-ci se connecte à un fournisseur d’identité qui se sert du mauvais code d’état de redirection HTTP ».

    Voici le scénario d’attaque qu’ils ont décrit : l'utilisateur se sert d’OAuth pour se connecter à une partie de confiance malveillante gérée par l'attaquant, et est redirigé vers le fournisseur d'identité où il est invité à entrer ses informations d'identification. Les identifiants sont envoyés au fournisseur d'identité via une requête POST, puis vérifiés et par la suite l'utilisateur est redirigé vers l’extrémité de la redirection de la partie utilisatrice. Si le fournisseur d'identité utilise le code d'état de redirection 307 HTTP, la partie de confiance malveillante (c’est-à-dire l'attaquant) recevra également une requête POST contenant toutes les données issues du formulaire précédent, ce qui inclut les informations d'identification de l'utilisateur.

    Les chercheurs estiment que, pour résoudre ce problème, seuls les codes HTTP 303 devraient être autorisés dans OAuth étant donné que « la redirection 300 est définie sans ambiguïté pour ne pas utiliser le corps d’une requête HTTP POST ».

    La seconde faille implique une attaque sur le site de la partie de confiance : « l’attaquant sème la confusion chez la partie de confiance concernant quel fournisseur d’identité l’utilisateur a choisi au début du processus de connexion/autorisation dans l’intention d’obtenir un code d’authentification ou un token d’accès qui pourrait être utilisé pour usurper l’identité de l’utilisateur ou accéder à ses données ».

    Voici le scénario de l’attaque : « l’attaquant manipule la première demande de l’utilisateur de telle façon que la partie de confiance pense que l’utilisateur veut utiliser une identité gérée par un fournisseur d’identité de l’attaquant alors que l’utilisateur voudrait plutôt utiliser une identité gérée par un fournisseur d’identité légal. Par conséquent, la partie de confiance envoie le code d’autorisation ou le token d’accès (dépendant du mode de l’OAuth) délivré par le fournisseur d’identité légal à l’attaquant, qui peut par la suite utiliser ces valeurs pour se connecter à la partie de confiance sous l’identité de l’utilisateur (gérée par le fournisseur d’identité légal) ou accéder à ses ressources protégées ».

    Pour pouvoir effectuer cette attaque, les pirates doivent être en mesure de manipuler les requêtes envoyées par les utilisateurs ainsi que les réponses, ce qui signifie qu’ils doivent avoir une présence sur le réseau (attaque Man-in-the-middle).

    Les chercheurs ont expliqué que pour résoudre ce problème, OAuth devrait inclure l’identité du fournisseur d’identité dans la redirection d’une certaine façon. « Plus précisément, nous suggérons que les parties de confiance fournissent une extrémité de redirection unique pour chaque fournisseur d’identité. Ainsi, l’information redirigée par le fournisseur d’identité sera encodée dans la requête et la partie de confiance pourra détecter les anomalies ».

    Avec ces problèmes résolus, les chercheurs ont estimé qu’OAuth 2.0 est suffisamment sécurisé pour fournir à la fois les autorisations et les authentifications, si elles sont implémentées correctement.

    Ian Muscat, responsable de la communication produit chez Acunetix (spécialiste de la sécurité des applications web), a avancé que « lorsqu’il s’agit des processus d’authentification et d’autorisation au sein d’une application web, à moins d’avoir une compréhension profonde de la technologie ainsi qu’une raison spécifique, justifiable et soigneusement réfléchie, ne déployez pas votre propre système d’authentification. À la place, servez-vous d’une bibliothèque ou d’un Framework qui a été examiné par le public et a une communauté active qui traite la question de sécurité comme étant prioritaire ».

    Pour Liviu Itoafa, chercheur en sécurité chez Kaspersky Lab, parlant de l’attaque qu’il est possible de lancer contre le site de la partie de confiance, il a avancé que « ce problème implique qu’il doit y avoir un souci du côté de la partie de confiance – par exemple elle pourrait ne pas se servir de HTTPS pour la requête initiale de l’utilisateur ».

    Source : étude (au format PDF)

    Et vous ?

    Que pensez-vous de ce protocole ? L'utilisez-vous ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 184
    Points : 409
    Points
    409
    Par défaut
    À priori tout le monde l'utilise au moins en tant l'utilisateur.

    J'ai pas bien compris le second scénario: si l'attaquant doit être sur le réseau de la victime pour effectuer une attaque mitm il faudrait que la connexion ne soit pas sécurisée, hors la norme oauth2 impose le ssl...

  3. #3
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    à ce que je sache tous les protocoles sont sensible aux attaques MIT particulièrement aux premières connexion
    Rien, je n'ai plus rien de pertinent à ajouter

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 409
    Points
    409
    Par défaut
    Une attaque mitm est par exemple possible avec TLS/SSL: il suffit que le client ne vérifie pas le certificat du serveur. Typiquement, le navigateur affiche que le certificat est douteux, mais l'utilisateur confirme néanmoins l'accès au serveur. Un petit clic sur "Continuer", et la mitm démarre.

  5. #5
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    J'utilise en tant que développeur et utilisateur d'applications web.
    SCJP 5 | CAPM

Discussions similaires

  1. Des chercheurs trouvent une faille dans l’algorithme RSA
    Par Hinault Romaric dans le forum Sécurité
    Réponses: 12
    Dernier message: 09/12/2016, 09h32
  2. Des chercheurs découvrent une faille dans la mémoire cache
    Par Olivier Famien dans le forum Actualités
    Réponses: 35
    Dernier message: 02/05/2015, 19h34
  3. Des chercheurs découvrent plusieurs vulnérabilités dans Windows
    Par Francis Walter dans le forum Sécurité
    Réponses: 0
    Dernier message: 26/02/2014, 09h07
  4. Réponses: 1
    Dernier message: 14/01/2014, 11h31
  5. Des chercheurs découvrent une faille de sécurité critique dans SSL
    Par Hinault Romaric dans le forum Sécurité
    Réponses: 26
    Dernier message: 04/10/2011, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo