Faille SSL Debian (RGN)

mai 26th, 2008
|

Le 13 Mai 2008, Le projet Debian annonçais ce que Luciano Bello avais trouvé: Une vulnérabilité dans le package « OpenSSL ». Le bug en question est causé par la suppression pure et simple du code suivant dans md_rand.c:

1
2
3
MD_Update(&m,buf,j);
[ .. ]
MD_Update(&m,buf,j); /* purify complains */

Ces lignes ont été retirée parce qu’elle produisait des erreurs avec certains outils (Utilisation d’une donnée non initialisée dans la plupart des projets liés a OpenSSL). Mais la suppression de des lignes en question à eu des effets collatéraux sur OpenSSL PRNG. En fait au lieux de mélanger différentes variables aléatoire pour la génération initiale, la seule variable « aléatoire » qui a été utilisée étais le PID du générateur -et quand on sais que le nombre maximal par défaut sous linux est de 32,768- le résultat est que PRNG utilise une très petite fourchette de valeurs initiales.

  • Impact:
  • Toutes les clés SSL et SSH générées sur des systèmes basé sur Debian (Ubuntu, Debina, Mint…) entre Septembre 2006 et le 13 Mai 2008 sont affectée par la vulnérabilité. Dans le cas des clé SSL, tout les certificats doivent être révoqué et a nouveau généré. Tous les administrateurs système doivent auditer leurs clés pour être sur qu’ils ne sont pas touché par la vulnérabilité ! D’ailleurs tout les outils liés de près ou de loin a OpenSSL PRNG peut être vulnérable, attention.

    Tout flux d’un serveur SSH qui utilise une clé générée par un système vulnérable peut être sujet a une interception (man in the middle) sans que l’administrateur ne se rende compte de rien. Je vous rassure, les projets Debian et Ubuntu on développé des outils pour identifier les clé vulnérables, vous trouverez plus d’information a leurs propos en fin de page.

    Q: Combien de temps cela prendrais de générer toutes les clés touchées ?
    A: Avec 31 Xeon @ 2.33Ghz. Cela prend deux heures pour les clés DSA 1024-bit et RSA 2048-bit pour x86. Les clés RSA 4096-bit sont générés en 6 heures. En ce qui concerne les clés RSA 8192-bit cela prendrais environs 100 heures.

    Q: Combien de temps cela prendrait il de cracker un SSH avec ces clés ?
    A: Tout dépend de la vitesse du réseau et de la configuration du serveur SSH. Il devrait être possible d’essayer toutes les clés (32,767 DSA 1024 et RSA 2048) en quelques heures. Attentions aux scripts tels que Fail2Ban (anti-bruteforce).. etc.

    Q: J’utilise une clé RSA 16384 bit, suis-je vulnérable ?
    A: Oui, c’est juste une question de temps (processeur et réseau). Pour le RSA 8192 bit, cela prend environ 3100 heures pour générer toutes les clés. J’imagine que pour le 16384 bit, nous serions dans les 100,000 heures (en temps CPU). Mais gardez en tête que la « fourchette » réele est bien plus mince, basée sur PID du processus qui a servit a générer le tout. Donc, inutile de générer toutes les clé pour en couvrir la majorité ! (La plupart de ces clés sont dans les premiers 3,000 PID)..

    http://www.debian.org/security/key-rollover/
    http://wiki.debian.org/SSLkeys

    One Comment:

    Leave a comment: