Google tue SHA-1 avec une attaque de collision réussie

C'est officiel: l'algorithme cryptographique SHA-1 a été "SHAttered". Google a réussi à briser SHA-1. Maintenant quoi?

Après des années d'avertissement selon lequel les progrès de l'informatique moderne signifiaient qu'une attaque par collision réussie contre SHA-1 était imminente, une équipe de chercheurs de Google et de Centrum Wiskunde & Informatica (CWI) aux Pays-Bas a développé avec succès la première collision SHA-1 réussie. En termes pratiques, SHA-1 ne doit pas être invoqué pour la sécurité pratique.

Les fonctions de hachage cryptographique modernes dépendent du fait que l'algorithme génère un hachage cryptographique différent pour chaque fichier. Une collision de hachage fait référence au fait d'avoir deux fichiers séparés avec le même hachage. Le fait que les faiblesses cryptographiques de SHA-1 rendent les certificats utilisant l'algorithme SHA-1 potentiellement vulnérables aux attaques par collision est bien connu. Le National Institute of Standards and Technology a désapprouvé SHA-1 il y a plus de cinq ans, et les experts exhortent depuis longtemps les organisations à passer à des algorithmes de hachage plus puissants. Jusqu'à présent, la seule chose qui se passait pour SHA-1 était le fait que les attaques par collision étaient encore coûteuses et théoriques.

Plus, car l'équipe de recherche dirigée par Google a développé une méthode qui leur permet de générer deux fichiers PDF avec un contenu différent mais générant le même hachage SHA-1. Alors que l'attaque par collision est toujours chère, l'attaque «SHA-1 brisé» n'est plus théorique, ce qui signifie que l'attaque est à la portée de toute personne suffisamment motivée et disposant de suffisamment de poches.

"Nous avons commencé par créer un préfixe PDF spécialement conçu pour nous permettre de générer deux documents avec des contenus visuels distincts arbitraires, mais cela hacherait le même condensé SHA-1", a écrit l'équipe de Google et de CWI dans un article de blog. «Nous avons pu trouver cette collision en combinant de nombreuses techniques crypto-analytiques spéciales de manière complexe et en améliorant les travaux antérieurs.

Cependant, il convient de noter que la falsification de certificats numériques restera difficile grâce aux nouvelles règles du CA / Browser Forum qui nécessitent l'ajout de 20 bits de caractère aléatoire aux numéros de série des certificats numériques.

SHA-1 est mort; agir en conséquence

En novembre, une étude de Venafi a révélé que 35% des organisations utilisaient encore des certificats SHA-1. «Ces entreprises pourraient tout aussi bien mettre en place un panneau de bienvenue pour les pirates informatiques qui dit:« Nous ne nous soucions pas de la sécurité de nos applications, données et clients »», a déclaré Kevin Bocek, stratège en chef de la sécurité chez Venafi. «Attaques contre SHA -1 ne sont plus de la science-fiction. "

Même si de nombreuses organisations ont travaillé sur la migration vers SHA-2 au cours de l'année écoulée, le basculement n'est pas terminé à 100%, ce qui signifie que les organisations qui n'ont pas encore terminé (ou commencé!) Leur basculement sont désormais à risque. Les attaquants ont maintenant la possibilité d'attaques de collision de preuves, et selon la politique de divulgation de Google, le code qui permettrait aux attaquants de créer ces documents PDF sera public dans 90 jours. L'horloge tourne.

Le navigateur Web Chrome de Google a commencé à marquer les sites Web utilisant encore des certificats numériques signés avec SHA-1 comme non fiables au début de 2017, et Microsoft et Mozilla devraient suivre avec Edge et Firefox. Selon les dernières directives du CA / Browser Forum, le principal organisme réglementant la manière dont les autorités de certification émettent des certificats TLS, les fournisseurs de navigateurs et les autorités de certification ne sont pas autorisés à émettre des certificats SHA-1.

L'équipe de recherche a créé un outil en ligne qui recherche les collisions SHA-1 dans les documents du site Web shattered.io. Google a déjà intégré des protections dans Gmail et Google Drive.

Alors qu'un nombre important d'entreprises ont pris les avertissements à cœur et migré leurs sites Web, beaucoup utilisent encore SHA-1 pour les logiciels de signature numérique et pour vérifier les signatures numériques et les clés cryptographiques pour les infrastructures non accessibles sur le Web telles que les mises à jour logicielles, les systèmes de sauvegarde, et d'autres applications. Les outils de contrôle de version s'appuient également sur SHA-1 - Git par exemple "s'appuie fortement" sur SHA-1.

"Il est essentiellement possible de créer deux référentiels GIT avec le même hachage de commit principal et des contenus différents, disons un code source bénin et un code backdoor", ont écrit les chercheurs sur le site shattered.io. «Un attaquant pourrait potentiellement servir sélectivement l'un ou l'autre référentiel aux utilisateurs ciblés.

Le ciel ne tombe pas ... encore

Cela dit, l'attaque est toujours difficile et les logiciels malveillants armés utilisant SHAttered ne vont pas frapper les réseaux du jour au lendemain. Les chercheurs ont déclaré que la découverte de la collision était difficile et semblait parfois "peu pratique". «Nous l'avons finalement résolu en décrivant ce problème comme un problème mathématique lui-même», ont écrit les chercheurs.

L'équipe a fini par effectuer au total plus de 9 quintillions de calculs SHA-1 (9,223,372,036,854,775,808), ce qui s'est traduit par environ 6500 ans de calculs sur un seul processeur pour terminer la première phase de l'attaque, et 110 ans de calculs sur un seul GPU pour terminer le seconde phase. La technique est toujours plus de 100 000 fois plus rapide qu'une attaque par force brute.

Le cluster de processeurs hétérogène utilisé dans la première phase a été hébergé par Google et réparti sur huit emplacements physiques. Le cluster hétérogène de GPU K20, K40 et K80 utilisé dans la deuxième phase était également hébergé par Google.

Bien que ces chiffres semblent très importants, les États-nations et de nombreuses grandes entreprises disposent de l'expertise en crypto-analyse et des ressources financières nécessaires pour obtenir suffisamment de GPU pour le faire dans un délai raisonnable, s'ils le souhaitent vraiment.

En 2015, un autre groupe de chercheurs a révélé une méthode qui aurait évalué le coût de la création d'une collision SHA-1 réussie à l'aide du cloud EC2 d'Amazon entre 75 000 et 120 000 dollars. L'équipe Google a estimé que l'exécution de la deuxième phase de l'attaque dans l'EC2 d'Amazon coûterait environ 560000 USD, mais si l'attaquant est patient et prêt à adopter une approche plus lente, ce coût tombe à 110000 USD, bien dans la fourchette estimée en 2015.

Et après?

L'industrie sait depuis 2011 que ce jour approche, et la plupart des fournisseurs ont déclaré qu'ils accéléreraient leurs plans de dépréciation et leurs délais si une attaque plus forte devenait réalité. Le NIST a recommandé à tout le monde de passer de SHA-1 à SHA-2, tout comme le forum CA / Browser. Attendez-vous à entendre les nouveaux délais et calendriers des principaux fournisseurs au cours des prochaines semaines et incorporer les changements en conséquence dans votre infrastructure.

«Nous savons que SHA-1 est sous surveillance depuis des années», a déclaré Tod Beardsley, directeur de la recherche chez Rapid7. «Une fois qu'une technologie devient courante sur Internet, il est presque impossible de l'éliminer, même face à des preuves accablantes de son insécurité. Cependant, je ne suis pas encore prêt à paniquer face à cette découverte.

Mais SHA-2 est sujet aux mêmes faiblesses mathématiques que SHA-1, alors pourquoi ne pas passer à l'algorithme SHA-3 plus fort, qui ne partage pas les mêmes problèmes? Comme me l'a dit Roger Grimes, ce n'est pas une idée pratique pour plusieurs raisons, et cela entraînerait probablement des difficultés à grande échelle et des défis opérationnels. Bien que le NIST recommande de passer à SHA-3 depuis août 2015, pratiquement aucun système d'exploitation ou logiciel ne le prend en charge par défaut. En outre, SHA-2 n'est pas considéré comme opérationnel comme SHA-1 car ses longueurs de hachage sont plus longues, il est donc suffisamment bon pour être utilisé pour le moment. Les longueurs de hachage SHA-2 vont de 192 bits à 512 bits, bien que 256 bits soient les plus courants. La plupart des fournisseurs commenceront à ajouter plus de support SHA-3 au fil du temps, donc c'estIl est préférable d'utiliser la migration vers SHA-2 comme une opportunité d'apprendre ce qu'il faut faire pour l'inévitable migration de SHA-2 vers SHA-3.

Les avertissements étaient toujours là, et maintenant le temps des avertissements est révolu. Les équipes informatiques doivent terminer la migration de SHA-1 vers SHA-2, et elles devraient utiliser la nouvelle selon laquelle une attaque par collision réussie est désormais à portée de main comme le marteau de la gestion matraque pour hiérarchiser le projet.