La vulnérabilité FREAK affecte les systèmes Apple et Android depuis 10 ans

Une vulnérabilité de sécurité passée inaperçue pendant plus de dix ans a été mise à jour ces dernières semaines. Les utilisateurs de produits Apple et Google sont victimes potentielles d’attaques de l’homme du milieu lors de la consultation à l’aide du protocole HTTPS de sites comme facebook.net, nsa.gov ou whitehouse.gov.

Au total, près d’un tiers des sites Web utilisant le protocole sécurisé HTTPS serait affecté d’après les chercheurs Zakir Durumeric, David Adrian, Ariana Mirian, Michael Bailey, et J. Alex Halderman de l’Université du Michigan.

Une ancienne loi américaine interdisait, au nom de la sécurité nationale, l’utilisation de clés de chiffrement fortes et obligeait les produits destinés à l’export à utiliser un chiffrement plus faible de 512 bits, qui permettait à la NSA de déchiffrer facilement les communications. Les programmeurs américains ont donc développé un système de négociation qui permettait d’utiliser le chiffrement le plus puissant disponible aux deux parties d’une communication.

Ces restrictions ont été levées à la fin des années quatre-vingt-dix, mais les fabricants d’appareils auraient largement continué à utiliser le code source périmé, sans que personne ne s’en rende compte pendant une décennie. Ou sans que personne au courant, peut-être une agence de renseignement ou une organisation criminelle, ne daigne en informer le public. La négociation du chiffrement et l’acceptation des clés RSA 512 bits aurait dû être supprimée du code.

Nommée FREAK pour Factoring attack on RSA Export Keys, la vulnérabilité consiste pour des clients TLS à accepter des clés de chiffrement faibles RSA 512 bits quand bien même ils n’auraient pas demandé à les utiliser.

Un attaquant intercepte la requête du client au serveur d’utiliser un chiffrement standard, et demande à la place l’utilisation de clés 512 bits. Le serveur renvoie donc une telle clé faible et le client l’accepte à cause du bogue. L’attaquant calcule alors la clé de déchiffrement RSA, ce qui lui permet de décrypter le secret principal TLS. L’attaquant peut dès lors lire, intercepter et modifier tous les échanges.

Une clé aussi faible permet de déterminer la clé de déchiffrement en quelques heures seulement, par exemple en moins de 7 heures pour 50 $ sur des machines virtuelles Amazon EC2. 

Comme le calcul d’une clé RSA est coûteux en ressources pour un serveur Web, certains d’entre eux, et notamment toute installation par défaut d’Apache, le serveur Web le plus utilisé dans le monde, ne produit pas une clé par session, mais utilise la même clé produite au démarrage du serveur, jusqu’à son arrêt, pour toutes les sessions…

Pire encore, certains services Web, comme le bouton ‘like’ de Facebook rendent possible des attaques cross-site-scripting (XSS) sur des sites Web tiers, même si ceux-ci refusent de traiter les faibles clés 512 bits :

FREAK a été découverte par des chercheurs de l’Inria (Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Alfredo Pironti, Jean-Karim Zinzindohoué, Benjamin Beurdouche), de Microsoft Research (Cédric Fournet, Markulf Kohlweiss, Santiago Zanella-Béguelin) et de l’iMdea (Pierre-Yves Strub).

Ils n’ont pas manqué de noter l’ironie : de nombreuses agences gouvernementales américaines comme la NSA et le FBI, en autorisant les clés 512 bits RSA, rendent possible à des attaquants de se faire passer pour leurs sites Web.

Sont vulnérables les produits qui utilisent la bibliothèque OpenSSL de version 1.0.1k ou inférieures (CVE-2015-0204) ; les navigateurs Android ; les navigateurs Safari sur Apple Mac OS X et iOS.

Apple travaille sur une mise à jour de sécurité qui devrait être disponible la semaine prochaine ;

Google serait en passe de livrer un correctif aux fabricants de smartphones et tablettes Android. Encore faut-il que ces fabricants intègrent ces correctifs puis les poussent vers les clients, et que ces derniers les installent. Idéalement, les utilisateurs navigueraient avec Chrome à la place, qui n’est pas affecté par ce bogue.

Dans le cadre du projet miTLS commun InriaMicrosoft Research, les chercheurs se penchent sur une classe de faiblesses d’implémentations du protocole TLS (Transport Layer Security) qu’ils appellent SMACK (State Machine AttaCKs). Outre FREAK, les chercheurs ont aussi découvert un bogue de sécurité dans l’implémentation JSSE du TLS livrée avec le JDK, également passé inaperçu pendant des années. Des services populaires comme AWS, Google et Paypal proposent des API Java.

Cette vulnérabilité, CVE-2014-6593, nommée SKIP, est corrigée par la mise à jour critique du 25 janvier 2015 pour Java 1.5 et supérieur.

 

Vidéos: © smacktls.com