Nmedia - Fotolia
Qui est à l’origine de la porte dérobée des équipements Juniper ?
La question agite depuis plusieurs semaines la communauté de la sécurité et les experts en chiffrement, alors que des dizaines de milliers d’équipements NetScreen continuent d’exposer leur service SSH sur Internet.
Mi-décembre, Juniper a indiqué avoir découvert « à l’occasion d’une récente revue de code interne », deux failles liées à la présence de « code non autorisé dans ScreenOS », le système d’exploitation de ses équipements NetScreen. La première peut permettre à « un attaquant informé d’obtenir un accès administrateur » à ces matériels, quand l’autre peut être utilisée pour « déchiffrer les connexions VPN ».
Plusieurs experts se sont penchés de plus prêt sur les déclarations de l’équipementier sur le code de ses produits. Et cela commence par H.D. Moore, directeur de recherche de Rapid7. Dans un billet de blog, il explique que la première vulnérabilité permet de contourner les mécanismes d’authentification des démons SSH et Telnet pour prendre le contrôle des équipements affectés. Le risque est d’autant plus préoccupant qu’une recherche sur le moteur spécialisé Shodan montre au moins 24 000 appareils NetScreen dont le service SSH est accessible directement sur Internet. Parmi ceux-ci, on relève tout de même 220 en France parmi lesquels des appareils déployés chez des clients de Bouygues Telecom, Free, Orange, SFR, ou encore Completel. Plusieurs d’entre eux exposent en outre un service du logiciel embarqué Virata-EmWeb dans sa version 6R.0.1, vulnérable à certaines attaques à distance.
Mais pour Matthew Greene, la seconde vulnérabilité est bien plus préoccupante. Ralf Philipp Weinmann s’est longuement penché dessus ; Matthew Greene synthétise ce travail : « pendant plusieurs années, il semble que les appareils Juniper NetScreen ont intégré un générateur de nombres aléatoire potentiellement compromis », basé sur l’algorithme affaibli par l’agence du renseignement américaine, la NSA, Dual_EC_DRBG. A l’été 2012, les paramètres de chiffrement des connexions NetScreen ont été altérés par un tiers, sans l’aval de Juniper, permettant l’interception en clair de ces connexions. La mise en œuvre de Dual_EC_DRBG, combinée avec le code de génération de nombres aléatoire Ansi X9.31 donne l’impression de contrecarrer cette disposition mais, un autre chercheur, Willem Pinckaers, relève que l’implémentation de ce dernier le rend « complètement non-fonctionnel ».
Ce que Matthew Greene décrit là comme un « bug » permettant de rendre parfaitement prédictibles les nombres générés dans l’espoir qu’ils soient aléatoires « existe dans plusieurs versions de ScreenOS, datant tant d’avant que d’après » la modification « de code non autorisée » telle que la décrit Juniper.
L’inquiétude de Greene est en définitive relativement simple : « il ne semble pas y avoir de code non autorisé » impliqué dans cette vulnérabilité, seulement la modification de quelques paramètres : « pour résumer, un pirate ou un groupe de pirate a relevé l’existence d’une porte dérobée dans le logiciel Juniper – posée là intentionnellement ou pas, à vous de juger ! Ils ont ensuite rebondi dessus pour construire leur propre porte dérobée, une chose rendue possible parce que le plus dur avait déjà été fait à leur place ».
Si tout le monde se garde ici soigneusement de toute assertion, de nombreux regards soupçonneux se tournent vers la NSA. Selon des documents révélés à l’automne 2013 par le NRC Handelsblad, l’agence américaine du renseignement avait déjà compromis 50 000 équipements réseau en 2012, et avait pour objectif d’en compromettre au moins 85 000 à fin 2013.
Mais il y a plus important pour Matthew Greene, alors que le débat sur le chiffrement et les portes dérobées est ravivé depuis plusieurs mois : la démonstration qu’une éventuelle porte dérobée peut être utilisée à l’insu de tous pour construire une seconde porte dérobée. En somme, compromettre la sécurité d’un système pour certains, c’est la compromettre pour tous.