Google plante le dernier clou dans le cercueil de SHA-1

vulnérabilité, faille sécurité

Avec la démonstration pratique d’attaques par collision contre SHA-1, Google espère réveiller l’industrie et la pousser à mettre enfin à la retraite l’algorithme. D’autant que les premiers éléments dévoilés par Mountain View ont déjà démontré leur nocivité.

Il n’aura pas fallu attendre longtemps pour que les travaux de Google et de l’université d’Amsterdam sur les faiblesses de SHA-1 trouvent une application concrète. Quelques heures après la divulgation de la faisabilité d’attaques par collision contre l’algorithme de hachage, un des ingénieurs de WebKit, le moteur de Safari, a mené des tests visant précisément à évaluer comment le navigateur encaisserait des attaques de ce type.

Pour ce faire, l’ingénieur a versé dans le répertoire utilisé pour gérer les versions du code source de WebKit les deux PDF créés par Google pour démontrer la faisabilité de l’attaque par collision contre l’algorithme. Une démarche qui a provoqué le plantage du système Subversion  (ou SVN), outil de gestion des versions de code utilisé par les équipes de WebKit. Ce dernier a alors refusé d’accepter tout nouveau code source, même après retrait des deux PDF de Google. Le dysfonctionnement, qui affecte toutes les versions de SVN, a été confirmé par Google et par la fondation Apache, qui assure le maintien du code de l’outil.

Collisions : l’arrêt de mort de SHA-1

Même si les équipes de SVN ont déjà sorti un script permettant de vérifier que les fichiers soumis au système ne sont pas des fichiers déjà connus d’attaques par collision contre SHA-1, l’affaire démontre la nocivité des révélations de Google. « Les serveurs Subversion utilisent SHA-1 pour la déduplication et les répertoires sont corrompus en cas de soumission de deux fichiers entrant en collision. Nous avons noté que, dans certains cas, les soumissions suivantes sont elles aussi bloquées », résume Google. Si Git, le système de gestion de code source le plus populaire (qui a donné naissance à GitHub), n’est pas affecté pour l’instant, Linus Torvalds, son créateur, a déjà annoncé son intention de migrer vers un algorithme de hachage plus robuste.

Car, en pratique, la démonstration d’attaques par collision contre un algorithme de hachage signe son arrêt de mort. Une telle fonction cryptographique doit, en principe, transformer un ensemble de données en un message unique et chiffré. Une collision revient à créer le même message chiffré à partir de fichiers différents. C’est cet aboutissement auquel est parvenu Google, associé à l’institut de recherche en mathématiques et informatique CWI d’Amsterdam, aux termes de deux ans d’efforts.

6 500 années CPU + 110 années GPU 

A l’appui de ses affirmations, Mountain View a publié deux PDF produisant le même message haché avec SHA-1. Une faille de sécurité majeure, un assaillant pouvant ainsi faire accepter à un système un fichier malveillant en le faisant passer pour des données tout à fait légitimes. Et ce, même si Google a dû mobiliser des moyens considérables pour discréditer un algorithme qu’il souhaite voir définitivement mis au rencard. La première phase de calcul aboutissant à l’attaque par collision a nécessité 6 500 années de puissance CPU. La seconde a mobilisé 110 années de calcul GPU (puce graphique). « Si ces chiffres peuvent apparaître importants, l’attaque par collision contre SHA-1 reste 100 000 fois plus rapide qu’une attaque par force brute (contre cet algorithme, NDLR), qui demeure hors de portée à ce jour », écrit Google.

collision« Google milite depuis longtemps pour la mise à la retraite de SHA-1, en particulier s’il s’agit de signer des certificats TLS. Dès 2014, l’équipe de Chrome a annoncé qu’elle allait progressivement éliminer SHA-1. Nous espérons que notre attaque contre SHA-1 va entériner le fait que le protocole ne devrait plus être considéré comme sûr », ajoute Google sur son blog. Et d’appeler l’industrie à migrer vers des alternatives plus robustes, comme SHA-256. 

Gmail et G Suite protégés

Histoire de bien mettre la pression sur l’industrie quant au nécessaire remplacement de l’algorithme vieux de plus de 20 ans, Mountain View prévient qu’il dévoilera le code permettant de créer des paires de fichiers PDF trompant SHA-1 dans 90 jours. « Afin d’empêcher la mise en œuvre de cette attaque, nous avons ajouté des protections pour les utilisateurs de Gmail et G Suite, qui détectent désormais notre technique de collision PDF », précise Google. La société fournit également gratuitement un outil de détection de fichiers exploitant sa technique d’attaque. 

Même si certaines faiblesses de SHA-1 sont connues depuis 2005 (et que la possibilité théorique de l’attaquer par collision a été établie dès 2013), la fonction de hachage reste largement employée, y compris dans des systèmes de back-up ou de déduplication. L’utilisation de l’algorithme dans les certificats est par contre vouée à reculer rapidement, Chrome le considérant comme non sécurisé depuis janvier dernier. Une position sur laquelle vient de s’aligner Firefox, le navigateur de Mozilla, suite à la publication de Mountain View. 

A lire aussi :

Nos données de santé (mal) protégées par l’indésirable SHA-1

Chiffrement : Microsoft va bannir le SHA-1 dans Windows 10 Anniversary Update

Firefox peine à se débarrasser de l’indésirable SHA-1

crédit photo © Pavel Ignatov – shutterstock