Juniper a publié un correctif après la découverte d'un « code non autorisé » sur le code source du firmware de plusieurs de ses équipements réseau, mais les failles très importantes n'auraient pas été totalement corrigées. Le doute reste entier sur l'origine de la faille et les motivations de ceux qui l'ont introduite. Une chose est sûre : elle n'aurait pas existé sans la NSA.

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.

Juniper-netscreen-1900

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 FreeBSDla 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.

Partager sur les réseaux sociaux

Articles liés