Jeudi de la semaine dernière, le monde a appris l'exploitation dans la nature d'une faille zero day dans Log4J, un utilitaire de journalisation. Jusqu'à présent, les chercheurs ont observé des attaquants utilisant la vulnérabilité Log4j pour installer des ransomwares sur des serveurs de pots de miel, des machines délibérément rendues vulnérables dans le but de suivre les nouvelles menaces. Une entreprise de cybersécurité a signalé que près de la moitié des réseaux d'entreprise qu'elle surveillait avaient vu des tentatives d'exploitation de la vulnérabilité. Le PDG de Cloudflare, un fournisseur de sécurité de sites Web et de réseaux, a annoncé très tôt que la menace était si grave que l'entreprise déploierait une protection par pare-feu pour tous les clients, y compris ceux qui ne bénéficiaient pas d'une formule payante. Mais les nouvelles concrètes sur l'exploitation dans la nature restent rares, probablement parce que les victimes ne savent pas ou ne veulent pas encore reconnaître publiquement que leurs systèmes ont été violés.
Ce qui est sûr, c'est que la portée de la vulnérabilité est énorme. Une liste des logiciels concernés compilée par la Cybersecurity and Infrastructure Security Agency (CISA) (et limitée aux seules plateformes logicielles d'entreprise) s'étend sur plus de 500 éléments. Une liste de toutes les applications concernées s'étendrait sans aucun doute à plusieurs milliers d'autres.
Certains noms de la liste seront familiers au public (Amazon, IBM, Microsoft), mais certains des problèmes les plus alarmants sont survenus avec des logiciels qui restent dans les coulisses. Des fabricants tels que Broadcom, Red Hat et VMware créent des logiciels sur lesquels les entreprises clientes créent leurs activités, répartissant efficacement la vulnérabilité au niveau de l'infrastructure de base de nombreuses entreprises. Cela rend le processus de détection et d'élimination des vulnérabilités d'autant plus difficile, même après la publication d'un correctif pour la bibliothèque affectée.
Même selon les normes de vulnérabilités très médiatisées, Log4Shell frappe une partie inhabituellement importante d'Internet. Cela reflète le fait que le langage de programmation Java est largement utilisé dans les logiciels d'entreprise, et pour les logiciels Java, la bibliothèque Log4j est extrêmement courante.
« J'ai effectué des requêtes dans notre base de données pour voir chaque client qui utilisait Log4j dans l'une de leurs applications », explique Jeremy Katz, co-fondateur de Tidelift, une entreprise qui aide d'autres organisations à gérer les dépendances des logiciels open source. « Et la réponse était : chacun d'entre eux qui a des applications écrites en Java ».
La découverte d'un bogue facilement exploitable trouvé dans un langage principalement axé sur l'entreprise fait partie de ce que les analystes ont appelé une « tempête presque parfaite » autour de la vulnérabilité Log4j. N'importe quelle entreprise peut utiliser de nombreux programmes contenant la bibliothèque vulnérable (dans certains cas, avec plusieurs versions dans une seule application).
« Java existe depuis de nombreuses années et il est très utilisé dans les entreprises, en particulier les grandes », explique le directeur technique de Cloudflare, John Graham-Cumming. « C'est un grand moment pour les personnes qui gèrent des logiciels au sein des entreprises, et elles exécuteront les mises à jour et les atténuations aussi rapidement que possible. »
Compte tenu des circonstances, « aussi vite qu'elles le peuvent » est un terme très subjectif. Les mises à jour logicielles pour les organisations telles que les banques, les hôpitaux ou les agences gouvernementales sont généralement effectuées à l'échelle des semaines et des mois, et non des jours ; généralement, les mises à jour nécessitent de nombreux niveaux de développement, d'autorisation et de test avant d'être intégrées à une application en direct.
En attendant, les mesures d'atténuation qui peuvent être déployées rapidement constituent une étape intermédiaire cruciale, permettant de gagner un temps précieux tandis que les entreprises, grandes et petites, se démènent pour identifier les vulnérabilités et déployer des mises à jour. C'est là que les correctifs au niveau de la couche réseau ont un rôle clé à jouer : étant donné que les programmes malveillants communiquent avec leurs opérateurs via Internet, les mesures qui restreignent le trafic Web entrant et sortant peuvent constituer un pis-aller pour limiter les effets de l'exploit.
Cloudflare était une organisation qui a évolué rapidement, a expliqué Graham-Cumming, ajoutant de nouvelles règles pour son pare-feu qui bloquaient les requêtes HTTP contenant des chaînes caractéristiques du code d'attaque Log4j. ExpressVPN a également modifié son produit pour se protéger contre Log4Shell, mettant à jour les règles VPN pour bloquer automatiquement tout le trafic sortant sur les ports utilisés par LDAP - un protocole que l'exploit utilise pour récupérer des ressources à partir d'URL distantes et les télécharger sur une machine vulnérable.
« Nous voulions mettre un plafond là-dessus, pas seulement pour le bien de nos clients mais pour le bien de tous les autres – un peu comme avec Covid et les vaccins », explique Membrey.
Au moins deux vulnérabilités existent dans le premier correctif proposé
Les développeurs open source ont rapidement publié une mise à jour qui corrigeait la faille et ont exhorté tous les utilisateurs à l'installer immédiatement.
Après cela, les chercheurs ont signalé qu'il existe au moins deux vulnérabilités dans le correctif, publié sous le nom de Log4J 2.15.0, et que les attaquants exploitent activement l'une d'entre elles ou les deux contre des cibles du monde réel qui ont déjà appliqué la mise à jour. Les chercheurs exhortent les organisations à installer un nouveau correctif, publié en tant que version 2.16.0, dès que possible pour corriger la vulnérabilité, qui est suivie comme CVE-2021-45046.
Le correctif précédent, ont déclaré les chercheurs mardi soir, « était incomplet dans certaines configurations autres que celles par défaut » et permettait aux attaquants d'effectuer des attaques par déni de service, ce qui facilite généralement la mise hors ligne des services vulnérables jusqu'à ce que les victimes redémarrent leur serveurs ou prennent d'autres mesures. La version 2.16.0 « résout ce problème en supprimant la prise en charge des modèles de recherche de messages et en désactivant la fonctionnalité JNDI par défaut », selon l'avis de vulnérabilité lié ci-dessus.
Mercredi, des chercheurs de la société de sécurité Praetorian ont déclaré qu'il y avait une vulnérabilité encore plus grave dans 2.15.0 (une faille de divulgation d'informations qui peut être utilisée pour télécharger des données à partir des serveurs concernés).
« Dans nos recherches, nous avons démontré que la version 2.15.0 peut toujours permettre l'exfiltration de données sensibles dans certaines circonstances », a écrit le chercheur prétorien Nathan Sportsman. « Nous avons transmis les détails techniques du problème à la Fondation Apache, mais dans l'intervalle, nous recommandons fortement aux clients de passer à la version 2.16.0 le plus rapidement possible. »
Les chercheurs n'ont pas fourni de détails supplémentaires sur la vulnérabilité car ils ne voulaient pas fournir d'informations qui permettraient aux pirates de l'exploiter plus facilement. Cependant, ils ont publié la vidéo suivante qui montre leur exploit de preuve de concept en action :
Les chercheurs du réseau de diffusion de contenu Cloudflare, quant à eux, ont déclaré mercredi que CVE-2021-45046 était désormais en exploitation active. La société a exhorté les gens à mettre à jour vers la version 2.16.0 dès que possible.
Le post de Cloudflare n'a pas indiqué si les attaquants utilisent la vulnérabilité uniquement pour effectuer des attaques DoS ou s'ils l'exploitent également pour voler des données.
« Les attaquants sophistiqués exploiteront la vulnérabilité, établiront un mécanisme de persistance, puis disparaîtront »
Une application logicielle obsolète pourrait toujours recevoir un niveau de protection décent d'un VPN mis à jour, même si cela ne remplace pas un correctif approprié.
Malheureusement, étant donné la gravité de la vulnérabilité, certains systèmes seront compromis, même avec des correctifs rapides déployés. Et il peut s'écouler beaucoup de temps, voire des années, avant que les effets ne se fassent pleinement sentir.
« Les attaquants sophistiqués exploiteront la vulnérabilité, établiront un mécanisme de persistance, puis disparaîtront », a déclaré Daniel Clayton, vice-président des services mondiaux de cybersécurité chez Bitdefender. « Dans deux ans, nous entendrons parler de violations importantes, puis nous apprendrons que les données ont été volées il y a deux ans. »
Le bogue de Log4j met une fois de plus en évidence la nécessité et le défi de financer adéquatement les projets open source. Bloomberg a rapporté plus tôt cette semaine que de nombreux développeurs impliqués dans le course pour développer un correctif pour la bibliothèque Log4j étaient des bénévoles non rémunérés, malgré l'utilisation mondiale du logiciel dans les applications d'entreprise.
L'une des dernières vulnérabilités à secouer Internet, Heartbleed, a également été causée par un bogue dans une bibliothèque open source largement utilisée, OpenSSL. À la suite de ce bogue, des entreprises technologiques comme Google, Microsoft et Facebook se sont engagées à investir plus d'argent dans des projets open source essentiels à l'infrastructure Internet. Mais à la suite des retombées de Log4j, il est clair que la gestion des dépendances reste un problème de sécurité sérieux que nous ne sommes probablement pas près de résoudre.
« Lorsque vous regardez la plupart des gros piratages qui se sont produits au fil des ans, ce n'est normalement pas quelque chose de vraiment sophistiqué qui défait les grandes entreprises », explique Clayton. « C'est quelque chose qui n'a pas été corrigé ».
Sources : Cloudflare, GitHub, Praetorian, produits affectés (GitHub CISA)