Deux chercheurs en sécurité ont mis au jour une vulnérabilité dans OAuth et OpenID permettant de deviner les mots de passe en se basant sur le temps de réponse du serveur d’authentification.
Et si les mots de passe pouvaient se deviner simplement en attendant ? Les chercheurs en sécurité Nate Lawson et Taylor Nelson ont remis à la une un problème de sécurité vieux de 25 ans. Lorsqu'un serveur authentifie un mot de passe, il vérifie la chaine caractère par caractère. En cas de mauvaise saisie, il s'arrête au caractère problématique et renvoie une erreur. En déterminant le temps d'envoi de l'erreur pour chaque caractère de la chaine, il est possible de déterminer combien de caractères sont valides, jusqu'à déterminer le mot de passe réel. Ces attaques requièrent des mesures extrêmement précises (de l'ordre de la nanoseconde), donc très difficiles à mettre en oeuvre à travers un réseau, du fait de l'instabilité du débit. S'en prémunir n'a ainsi jamais vraiment été vu comme indispensable.
Des millions de comptes potentiellement concernés
Or, ces « timing attacks » seraient pourtant exploitables sur des dizaines de librairies Open Source, dont celles utilisant les standards populaires OAuth et OpenID. OAuth est entre autres utilisée pour le service Open Graph de Facebook, Digg et les applications tierces de Twitter. Les chercheurs mettent en cause les langages interprétés Ruby et Python, très populaires sur le Web, qui fourniraient des temps de réponse bien plus lents que d'autres comme C ou les langages assembleurs. Ils n'en fournissent pourtant aucune preuve concrète. Selon les deux spécialistes, la solution est pourtant simple : fournir un temps de réponse unique pour le message d'erreur, peu importe le caractère bloquant. Selon Nate Lawson, six lignes de code y suffisent.
Une faisabilité contestée
Eran Hammer-Lahav, directeur des standards chez Yahoo, qui contribue à OAuth et OpenID n'est pourtant pas de leur avis. Dans un email à Computerworld, il écrit : « Je ne pense pas qu'aucun grand fournisseur de service utilise ces librairies pour leur implémentation serveur, et même s'ils le faisaient, ce type d'attaque reste complexe ». Même son de cloche chez Scott Morrison, directeur technique de la société de sécurité en cloud Layer 7 Technologies. Il explique que le nombre de systèmes en concurrence dans le cloud computing, qui ont chacun leur temps de réponse propre, empêche d'obtenir des résultats fiables lors des attaques. C'est justement ce sentiment d'invulnérabilité qu'offrent ces librairies que les chercheurs tiennent à balayer. « J'ai voulu atteindre les gens où ils étaient le moins vigilants » indique Nate Lawson. « Je pense qu'ils doivent voir une exploitation pour comprendre que c'est un problème à régler. »
Qui des deux partis a raison ? Ils auront l'occasion d'en débattre au Black Hat USA 2010 du 28 juillet prochain à Las Vegas, où ce sujet sera exposé.
Source: ZDnet