Se dirige-t-on vers un Junipergate ? La semaine dernière, nous rapportions que le fabricant d’équipements réseaux Juniper avait découvert du « code non autorisé » injecté sur tous les firmwares de ses routeurs NetScreen, utilisés notamment comme Firewalls et VPN chiffrés. Ce code créait d’importantes failles de sécurité puisqu’il permettait depuis plusieurs années de reconfigurer à distance le firewall et de déchiffrer les communications relayées par le VPN, sans laisser de traces.
Dans la foulée, Juniper avait publié un patch pour tous ses clients. Or selon l’analyse très pointue réalisée par le chercheur en sécurité Ralf-Philipp Weinmann et relayée par Wired, Juniper n’a corrigé qu’une partie des « bugs » exploitables, et s’est peut-être aménagé la possibilité de continuer à exploiter un backdoor qu’il aurait lui-même inséré en toute connaissance de cause.
Le meilleur backdoor est le backdoor qui a l’air d’être un bug
À l’origine, la faille est directement liée à la NSA, même si rien ne prouve que ce sont les services de renseignement américains qui ont pénétré les serveurs ou corrompu les équipes de Juniper. L’équipementier télécoms fait en effet partie des industriels américains qui avaient intégré dans ses algorithmes de chiffrement la méthode Dual_EC_DRGB, censée générer des nombres aléatoires qui ne l’étaient pas tant que ça. On sait depuis 2007 que cette méthode qui avait été poussée par la NSA auprès d’un organisme de normalisation était faillible. Elle reposait en partie sur des constantes et la personne qui définissait l’une des constantes pouvait générer une clé secrète pour obtenir facilement la version déchiffrée des messages.
Dual_EC poussé par la NSA, toujours utilisé par Juniper
En 2013 le New York Times avait révélé que la NSA avait bien conçu cet algorithme, ce qui avait poussé le NIST à revoir ses méthodes de normalisation. En réaction Juniper s’était fait fort de dire publiquement qu’il n’y avait aucun risque avec son utilisation de Dual_EC_DRBG, puisque son firmware générait les nombres aléatoires en y associant un autre algorithme, ANSI X.9.31 PRNG.
Or selon Weinmann, deux choses ont été découvertes dans le code source (secret) du firmware de Juniper :
- L’une des constantes utilisées pour générer des nombres aléatoires avec Dual_EC a été modifiée au plus tard en août 2012. Or étant données les propriétés de Dual_EC, quiconque a modifié cette constante peut aussi avoir généré une clé secrète qui permet de déchiffrer tout message codé avec cette implémentation de Dual_EC.
- Plus grave peut-être, la fonction ANSI X.9.31 PRNG figure bien dans le firmware du système ScreenOS des routeurs NetScreen… mais n’est jamais appelée !
Or Juniper aurait corrigé la première faille en remettant la constante qu’il avait lui-même défini avant août 2012 (et qui lui permet donc lui aussi d’avoir potentiellement un backdoor), mais n’aurait pas corrigé le bug qui fait que ANSI X.9.31 PRNG n’est pas appelé en renfort pour assurer le caractère réellement aléatoire de la génération des nombres.
« Je ne veux pas dire que Juniper a fait exprès. Mais si vous vouliez créer un backdoor basé sur Dual_EC et faire que ça ait l’air sûr, tout en le rendant vulnérable, c’est comme ça que vous feriez », réagit Matthew Green, un cryptographe et professeur à l’Université Johns Hopkins, interrogé par Wired. « Le meilleur backdoor est le backdoor qui a l’air d’être un bug ».
De quoi raviver d’étranges souvenirs similaires comme la faille Goto Fail découverte chez Apple, la faille de FreeBSD, la faille de Bash, ou encore celle de Heartbleed. Ce sont souvent de très petits bugs impossibles à décerner sans une lecture très attentive du code qui ont des conséquences très importantes.
+ rapide, + pratique, + exclusif
Zéro publicité, fonctions avancées de lecture, articles résumés par l'I.A, contenus exclusifs et plus encore.
Découvrez les nombreux avantages de Numerama+.
Vous avez lu 0 articles sur Numerama ce mois-ci
Tout le monde n'a pas les moyens de payer pour l'information.
C'est pourquoi nous maintenons notre journalisme ouvert à tous.
Mais si vous le pouvez,
voici trois bonnes raisons de soutenir notre travail :
- 1 Numerama+ contribue à offrir une expérience gratuite à tous les lecteurs de Numerama.
- 2 Vous profiterez d'une lecture sans publicité, de nombreuses fonctions avancées de lecture et des contenus exclusifs.
- 3 Aider Numerama dans sa mission : comprendre le présent pour anticiper l'avenir.
Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.
Abonnez-vous à Numerama sur Google News pour ne manquer aucune info !