Developpez.com

Le Club des Développeurs et IT Pro

Les générateurs de nombres pseudo-aléatoires de Linux ne seraient pas robustes

Une récente recherche le démontre

Le 2013-10-30 13:33:27, par Cedric Chevalier, Expert éminent sénior
La cryptographie repose sur la génération des nombres aléatoires. Si dans la vie réelle il est facile d’observer des phénomènes aléatoires, la modélisation mathématique du hasard est quant à elle vraiment difficile.

Dans le domaine de la sécurité informatique on utilise plutôt les nombres pseudo-aléatoires. Cette appellation est justifiée du fait que ces nombres sont générés par un algorithme déterministe.

Le générateur de nombres pseudo-aléatoires utilisé en sécurité informatique est basé sur un modèle contenant un état interne qui est continuellement perturbé par une source d’entropie externe (source qui provoque un désordre de l’état interne). C’est cet état interne désordonné qui est ensuite utilisé par des fonctions cryptographiques déterministes pour générer des nombres pseudo-aléatoires.

Les générateurs de nombres pseudo-aléatoires qu’on rencontre dans la plupart des produits sont dérivés du modèle de deux chercheurs nommés Barak et Halevi. Ce modèle a fait maintes fois ses preuves. Cependant, un collectif de chercheurs a évalué le modèle sous un autre aspect qu’ils ont communément appelé la robustesse.

Un générateur de nombres pseudo-aléatoires est dit robuste si et seulement si, lorsque son état interne est compromis, il parvient à garder un niveau d’entropie suffisant (même par injection lente des éléments de la source entropique externe) pour que les nombres produits par les fonctions de sécurité demeurent toujours imprévisibles.

À ce propos, il paraît que le modèle de Barak et Halevi n’est pas assez robuste, et par conséquent le sont aussi les produits qui en dérivent. C’est notamment le cas des deux générateurs de nombres aléatoires de linux /dev/random et /dev/urandom, qui ont servi de test pour les preuves des chercheurs.

Une question se pose alors : est-ce-que la vulnérabilité du modèle de Barak et Halevi décrite par les chercheurs pourrait être exploitée à des fins malicieuses ? Pour les chercheurs, on ne pourrait se prononcer avec certitude. On note tout de même que le rapport propose une méthode efficace pour construire un générateur de nombres pseudo-aléatoires robuste.

Source : rapport PDF de la recherche

Et vous ?

Doit-on s’alarmer après la révélation des chercheurs ?
  Discussion forum
14 commentaires
  • laerne
    Membre éprouvé
    Envoyé par herzleid
    Quel est la méthode utilisée sur les autres OS ? A lire l'article, la méthode utilisée sous linux est la méthode la plus répandue.
    Donc logiquement si cette méthode est faillible, elle l'est également sous d'autre systèmes.

    Le titre (et la source ?) n'évoque que le cas Linux. Peut-être faut-il regarder plus largement. Quel est le générateur de Mac OS ? HP-UX ? Aix ? etc ...

    Le titre semble indiqué une faiblesse uniquement dans l'OS au manchot, alors que les chercheurs vendent plutôt une nouvelle méthode.

    On reste un peu sur sa faim.
    C'est un article de recherche informatique qui veut montrer la faiblesse du modèle de Barak et Halevi. Ils le font avec Linux probablement à cause de la proximité entre linux et le monde de la recherche. C'est absolument pas leur métier d'évaluer qui pourrait être exploité, quelles seraient les conséquences économiques, etc, etc, …

    Je me répèrete, le seul objectif est de montrer que Barak et Halevi n'est pas si fiable. Absolument aucun argument dans les débats-trolls libre-proprio, linux-windows-osx ou espionnage-nsa ne peut être tiré.
  • Arnard
    Membre émérite
    Comment ça part direct en Hors-Sujet -_-
    La question libre vs Fermé ne se pose pas...

    Pour quels usages les nombres aléatoires sont choisis ? Connexion SSL ? Autre ?
  • herzleid
    Membre confirmé
    Quel est la méthode utilisée sur les autres OS ? A lire l'article, la méthode utilisée sous linux est la méthode la plus répandue.
    Donc logiquement si cette méthode est faillible, elle l'est également sous d'autre systèmes.

    Le titre (et la source ?) n'évoque que le cas Linux. Peut-être faut-il regarder plus largement. Quel est le générateur de Mac OS ? HP-UX ? Aix ? etc ...

    Le titre semble indiqué une faiblesse uniquement dans l'OS au manchot, alors que les chercheurs vendent plutôt une nouvelle méthode.

    On reste un peu sur sa faim.
  • ctxnop
    Membre expérimenté
    Envoyé par laerne
    Je me répèrete, le seul objectif est de montrer que Barak et Halevi n'est pas si fiable. Absolument aucun argument dans les débats-trolls libre-proprio, linux-windows-osx ou espionnage-nsa ne peut être tiré.
    Tout à fait d'accord, cependant quand le titre de la news dit que ce sont les générateurs de Linux qui ont un problème et non les générateurs utilisant le modèle de Barak et Halevi, il ne faut pas s'attendre à autre chose.

    Que la news précise que Linux se sert de ce modèle et qu'il a été utilisé dans l'expérience, c'est très bien.
    Par contre titrer que ce sont les générateurs de Linux qui posent problème, c'est juste du racolage à la Voici/Gala/autre daube du genre.
  • ptah35
    Membre éclairé
    Il n'est pas encore démontré que cette vulnérabilité puisse être exploitée, mais même s'il s'avérait qu'elle pouvait l'être, cela n'enlève rien aux qualités de ce type de générateur et ne permet certainement pas de conclure à la supériorité d'un OS sur un autre pas plus qu'à celle du libre sur le propriétaire ou inversement (les générateurs de Windows ou OS X ne sont probablement pas si éloigné du modèle dont il est question ici).

    Cela montre en revanche au moins deux choses. La première est une mauvaise nouvelle : les systèmes que l'on utilise sont inéluctablement faillibles. En effet, faire de la sécurité est une science -- un art (?) -- extrêmement difficile puisqu'il faut traiter les problèmes sous tous les angles imaginables et cela n'est bien sûr pas possible. La seconde, en revanche, est une bonne nouvelle : les chercheurs en sécurité font leur travail et ce n'est pas parce que quelque chose semble fonctionner qu'ils ne cherchent pas d'éventuelles vulnérabilités que d'ailleurs, parfois, ils trouvent :-)
  • mith06
    Membre expérimenté
    Un générateur de nombre pseudo-aléatoire est dit robuste si et seulement si, lorsque son état interne est compromis il parvient à garder un niveau d’entropie suffisant (même par injection lente des éléments de la source entropique externe) pour que les nombres produit par les fonctions de sécurité demeurent toujours imprévisibles.
    Par comparaison un moteur thermique sera dit robuste si lorsque qu'un piston est cassé et que l'on arrête d'injecter de l'essence il continue de tourner!!!!!

    Je ne trouve pas que leur critère de robustesse soit très utile...
  • Traroth2
    Membre émérite
    Envoyé par redcurve
    Il faut arrêter de raconter n'importe quoi dès fois hein. Tu sais hormis les Os Apple si tu veux les sources de Windows avec les clefs de checksum etc. tu peux les avoirs c'est juste très cher. Il y a des personnes payés pour évaluer le niveau de sécu des os open source ou non, car quand tu veux vendre tes softs à des gouvernements ou à des boites sensibles il faut fournir ton code, les clefs de checksum etc.

    De toute façon comme le dit notre propre état major . Cette conclusion est aussi celle des autres armées de la planète
    Le seul truc, c'est que pour avoir le droit de regarder le code source de Windows, il faut signer un accord de non-divulgation, et ça change quand même un peu tout...
  • redcurve
    Membre extrêmement actif
    Envoyé par dsant
    Ce qui est remarquable, c'est que des chercheurs puissent voir le code et critiquer le modèle. Alors qu'avec les OS propriétaires, il ne fait aucun doute que les éditeurs mettent sont forcés de mettre des portes dérobés à l'usage de leur gouvernement respectifs, et ce depuis les années 80.
    Il faut arrêter de raconter n'importe quoi dès fois hein. Tu sais hormis les Os Apple si tu veux les sources de Windows avec les clefs de checksum etc. tu peux les avoirs c'est juste très cher. Il y a des personnes payés pour évaluer le niveau de sécu des os open source ou non, car quand tu veux vendre tes softs à des gouvernements ou à des boites sensibles il faut fournir ton code, les clefs de checksum etc.

    De toute façon comme le dit notre propre état major
    Avoir les sources ne garantie rien du tout
    . Cette conclusion est aussi celle des autres armées de la planète
  • Ivelios
    Membre expérimenté
    En complément d'article, on parlait d'une clé usb pouvant générer des nombres aléatoires ici il y a quelques années maintenant.

    On cri au loup un peu vite si on ne sait pas ce qu'on peut en tirer de malfaisant
  • Farnsworse
    Futur Membre du Club
    Dans le noyau Linux (dans BSD et autres, je sais pas si c'est implémenté pareil), il me semble que /dev/random est bloquant quand l'entropie est trop faible. Donc, en théorie, il n'y a aucun risque?