• Accueil
  • Blog
  • L'ironie (et les dangers) du hasard prévisible

L'ironie (et les dangers) du hasard prévisible

Dans la publication de la conférence de l'IEEE, Factoring RSA Keys in the IoT Eranous avons montré qu'un grand nombre de IoT et d'appareils de réseau utilisés aujourd'hui utilisent des certificats numériques faibles qui pourraient les exposer à des attaques.

Notre équipe a étudié des millions de certificats numériques actifs qui reposent sur l'algorithme RSA. Nous avons découvert qu'un certificat sur 172 est vulnérable aux attaques en raison d'une mauvaise génération de nombres aléatoires.

Caractère aléatoire requis

RSA est un algorithme largement adopté et utilisé pour tout sécuriser, du trafic Internet aux appareils IoT . Pourtant, il peut souvent sembler énigmatique, même pour ceux qui l'utilisent tous les jours. À un niveau élevé, il utilise une paire de clés différentes, mais mathématiquement liées - une clé publique et une clé privée - pour crypter les données et authentifier les connexions.

Pour produire la clé publique, il faut multiplier deux grands nombres premiers générés de manière aléatoire (appelés facteurs) - un calcul qu'il est impossible d'inverser à partir du résultat.

Mais il y a un hic.

Si les nombres premiers utilisés pour créer les clés publiques ne sont pas vraiment aléatoires, il est possible qu'il y ait un double. Et si deux clés publiques ont un facteur commun, il suffit de quelques microsecondes de calcul et de mathématiques simples pour trouver les autres facteurs et compromettre les deux clés.

Comment avons-nous pu casser près d'un quart de million de clés RSA ?

Comment nous avons déchiffré les clés

Dans le cadre de nos efforts pour surveiller et améliorer en permanence la sécurité sur l'internet, nous nous sommes donné pour mission de déterminer l'ampleur exacte de cette vulnérabilité - les résultats sont stupéfiants.

Notre équipe a construit une base de données de plus de 75 millions de certificats numériques disponibles sur Internet en utilisant les capacités de découverte SSL/TLS de la plateforme Keyfactor , combinées à 100 millions de certificats produits par le projet Certificate Transparency (CT) log de Google. Après avoir analysé la base de données à la recherche de facteurs partagés, nous avons constaté qu'un certificat numérique sur 172 possède des clés RSA qui partagent un facteur avec un autre.

À partir de là, il a suffi de simples mathématiques pour calculer les autres facteurs uniques, ce qui a permis de casser près de 250 000 clés RSA uniques. Dans de nombreux cas, ces clés vulnérables étaient utilisées par plusieurs certificats, parfois même par des milliers.

Ce n'est pas la première fois

L'industrie connaît cette vulnérabilité depuis des années. Plusieurs études - de 2012 à 2016 - ont mis en évidence des faiblesses dans la génération de nombres aléatoires.

Plus de clés, plus de risques

Le nombre de clés RSA disponibles sur l'internet a augmenté de façon exponentielle, et avec lui, le risque de compromission. L'exécution de l'algorithme GCD sur un ensemble de données plus important, provenant d'Internet et de journaux CT accessibles au public, augmente les chances de trouver des clés avec un facteur partagé.

Informatique en nuage

Pour y parvenir efficacement, il suffit de deux choses : (1) trouver un grand nombre de clés publiques et (2) disposer d'une méthode efficace pour extraire et analyser les clés à grande échelle. Grâce à l'informatique en nuage, il est beaucoup plus facile pour un pirate d'accéder aux ressources dont il a besoin pour y parvenir. En utilisant une seule machine virtuelle Microsoft Azure, pour un coût d'environ 3 000 dollars, notre équipe a pu casser près de 250 000 clés RSA en 18 heures environ. Aujourd'hui, cette attaque n'est pas seulement possible, elle est pratique et réalisable.

La montée en puissance de la IoT

La plupart des certificats numériques vulnérables n'ont pas été trouvés sur des sites web de confiance, mais dans des dispositifs intégrés de l'internet des objets (IoT) et des appareils de réseau - routeurs, pare-feu et commutateurs. Dans de nombreux cas, nous avons pu retracer les certificats jusqu'à des appareils spécifiques sur IoT .

Contrairement aux technologies de l'information traditionnelles, y compris les serveurs et les ordinateurs portables, les appareils modernes IoT ont des contraintes de conception qui les empêchent de produire des clés hautement aléatoires. Ces appareils légers fonctionnent souvent avec très peu d'énergie et de ressources informatiques nécessaires pour générer une entropie élevée, c'est-à-dire un hasard statistique. Il en résulte des milliers d'appareils vulnérables aux attaques.

Risques vitaux et risques élevés

Aujourd'hui, de nombreux dispositifs IoT comprennent des appareils médicaux, des véhicules connectés et des avions commerciaux.

Pensez à un stimulateur cardiaque. Il est implanté dans le corps humain, dispose d'une puissance informatique limitée, d'une bande passante intermittente, est constamment mobile et en mouvement, et a une durée de vie de batterie qui peut aller de 5 à 10 ans. La génération de clés hautement aléatoires n'est pas seulement un défi, elle est essentielle à la santé et au bien-être de l'homme.

L'arrivée de Quantum

Ce n'est pas l'algorithme RSA qui n'est pas sûr, mais plutôt une génération de nombres aléatoires mal mise en œuvre. Cela dit, il convient de noter que l'informatique quantique pourrait menacer de saper de nombreux algorithmes sur lesquels nous nous appuyons aujourd'hui, y compris l'algorithme RSA. Le NIST prévoit que même les clés RSA de 8192 bits pourraient être vulnérables au cours de la prochaine décennie, à mesure que les progrès des ordinateurs quantiques à grande échelle se poursuivront.

Les fabricants doivent rectifier le tir

Le fait qu'un quart de million de clés RSA des cinq dernières années soient vulnérables à cette attaque, même pour un attaquant disposant de ressources limitées, est très inquiétant. D'énormes fractions de ces clés se trouvent sur le site IoT de la prochaine génération et sur les dispositifs de réseau intégrés adoptés aujourd'hui par les entreprises et les consommateurs.

Quelle est alors la marche à suivre ? Cela commence dès la conception. Les fabricants d'appareils doivent intégrer la sécurité dans leurs appareils lors de la conception et du développement, et veiller à ce que le site software et la cryptographie de l'appareil puissent être mis à jour en toute sécurité tout au long de son cycle de vie.