SHA-1 : des chercheurs prouvent l'exploitation des collisions dans une attaque

Jumeau maléfique 56
En bref
image dediée
Crédits : weerapatkiatdumrong/iStock
Securité
Vincent Hermann

Deux équipes ont travaillé à la réalisation d’une méthode capable de produire en un temps « raisonnable » des collisions avec l’algorithme SHA-1. Un danger qui n’est pas neuf, mais qui s’amplifie, avec dans l’ombre la perspective de pouvoir falsifier des documents et donc faciliter certaines attaques.

L’algorithme SHA-1 (Secure Hash Algorithm) permet le hachage des données (voir notre dossier) afin d'en assurer l'intégrité. Pour cela, il produit une empreinte de 160 bits, censément unique.

On retrouve souvent le SHA-1 par exemple sur différents sites de téléchargement, quand l’utilisateur est invité à contrôler qu’il a bien le bon fichier mais aussi dans de nombreux services et outil de chiffrement. Mais SHA-1 n’est plus tout à fait considéré comme sûr depuis des années, et les principaux navigateurs comptent l’abandonner dans les mois qui viennent.

Repérer et exploiter les collisions

Pour montrer à quel point le SHA-1 n’est plus digne de confiance, deux équipes se sont associées, l’une de l’institut CWI d’Amsterdam, l’autre de Google. Dans un billet publié il y a quelques jours, les chercheurs en sécurité ont annoncé avoir trouvé une méthode, SHAttered, leur permettant de découvrir des cas de collision 100 000 fois plus rapidement qu’avec une méthode classique par force brute.

La collision est la bête noire de ce type d’algorithme. Elle se produit quand deux fichiers différents génèrent le même hash. Ce qui signifie que l’un des deux fichiers pourrait être malveillant et se faire passer pour la version authentique.

Sur le site ouvert pour l’occasion, les chercheurs évoquent les dangers inhérents à la collision. Ils présentent également deux fichiers PDF au contenu différent mais disposant de la même empreinte SHA-1. Or, on peut imaginer que le premier soit un contrat signé par un client, tandis que d’autre sera une version altérée, portant lui aussi la signature.

Faciliter les collisions revient donc à augmenter le risque que des données se fassent passer pour ce qu’elles ne sont pas. Signatures de documents, certificats électroniques, contrôle de versions, systèmes de sauvegarde, mises à jour de logiciels, correctifs de sécurité et autres sommes de contrôles pour les images ISO sont concernés.

Un défaut connu depuis 12 ans

Comme indiqué cependant, le défaut de sécurité dans SHA-1 n’est pas une nouveauté. L’expert en sécurité et cryptanalyse Bruce Schneier consacrait ainsi déjà en 2005 un article sur les collisions dans l’algorithme. Il avait été capable d’en trouver en 2^69 calculs, ce qui représentait déjà il y a 12 ans une méthode 2 000 fois plus rapide que la force brute.

Ce qui explique d’ailleurs en partie pourquoi Microsoft et Mozilla (entre autres) préparent actuellement l’abandon de SHA-1, d'ici la fin de l’année. Google l’a supprimé le mois dernier lors d’une mise à jour de Chrome. L’éditeur attendra d’ailleurs 90 jours avant de révéler le code d’exploitation et la méthode détaillée, en accord avec la politique de sa Zero Day Initiative. Les chercheurs se veulent cependant rassurants : ils n’ont observé aucune attaque par ce biais pour l’instant.

Un outil simple pour vérifier les documents

Le site des chercheurs fournit en outre une méthode simple pour vérifier si un document quelconque pourrait être impliqué dans une attaque par collision. Cette protection a été déployée par Google dans Gmail et sa Gsuite afin de signaler à la volée un éventuel problème. Le code de détection a été écrit par Marc Stevens (CWI) et Dan Shumow (Microsoft), et est disponible dans un dépôt GitHub. 

Côté utilisateur, il n’y a pas grand-chose à faire, à part s’assurer que la dernière révision du navigateur est installée. Côté développeur par contre, il faudra basculer vers des algorithmes beaucoup plus récents, comme SHA-256 ou SHA-3. Notez cependant que dans le cas de Git, Linus Torvalds a indiqué durant le week-end que plusieurs protections avaient déjà été mises en place pour empêcher ce type d'attaque de fonctionner.


chargement
Chargement des commentaires...