Qu’est-ce que Log4Shell et pourquoi ce bogue est-il si dangereux ?

L’internet est secoué par un bogue dans Log4j. La fuite a été baptisée Log4Shell et touche des milliers d’entreprises dans le monde entier. Qu’est-ce qui se passe exactement ?

En tant qu’administrateur ou développeur, êtes-vous en contact avec un système fondé sur Java qui s’appuie sur Log4j pour conserver les journaux ? Dans ce cas, nous n’avons probablement plus besoin de vous expliquer la gravité du bogue Log4Shell. Ceux qui ne possèdent pas de diplôme en Java dans leur poche peuvent se gratter la tête. Que se passe-t-il exactement ?

Qu’est-ce que Log4j ?

On commence par le début. Log4j est un outil open source actuellement en cours de développement par l’Apache Software Foundation. L’outil est une infrastructure logicielle que les développeurs peuvent utiliser pour générer des journaux pour les applications construites sur Java. Les journaux constituent un élément essentiel de toute plateforme, service ou solution. Ils gardent une trace de ce qui se passe exactement : quelles actions une application effectue, qui se connecte quand, quels processus génèrent des messages d’erreur…

Log4j existe depuis 20 ans. Par défaut, l’outil de journalisation fait partie des infrastructures logicielles Java populaires tels qu’Apache Struts, Apache Druid et Apache Flink. Java est l’un des langages de programmation les plus populaires au monde. Les développeurs qui créent des applications avec Java se tournent rapidement vers Log4j pour intégrer la fonctionnalité de journalisation. De nombreux logiciels commerciaux, comme ceux de VMware, utilisent également Log4j.

Injection SQL pour Java

Log4j est donc assez omniprésent. Une vulnérabilité qui affecte l’outil a le potentiel d’influencer des milliers de solutions et de services dans le monde entier. C’est exactement ce qui se passe avec Log4Shell. La vulnérabilité est causée par un bogue dans la catégorie « validation incorrecte des entrées ». Cela implique que, dans certains cas, le Log4j traite trop librement les entrées provenant de l’extérieur.

En tant qu’outil de journalisation, Log4j doit garder la trace de tout ce qui se passe lorsqu’un utilisateur accède à une application via Internet. Cet utilisateur peut envoyer des informations à une application de différentes manières, par exemple, par un formulaire de connexion ou directement par le navigateur. Normalement, une telle entrée est soigneusement nettoyée. Un champ qui demande un nom d’utilisateur garantit que l’entrée est traitée comme du texte plat en arrière-plan. De temps en temps, il y a un problème.

Dès que le criminel peut approcher un service qui enregistre des entrées externes dans un fichier journal avec Log4j, il peut faire exécuter du code.

En cas de bogue Log4Shell, l’entrée ne sera pas nettoyée. Les pirates informatiques peuvent l’utiliser en injectant du code malveillant. À cause d’une erreur de programmation, ce code n’est pas converti en texte, mais Log4j l’exécute. Si un pirate applique Log4Shell de la bonne manière, il peut faire danser Log4j à sa guise. Plus précisément, il est donc possible de demander à Log4j d’exécuter son propre code malveillant ou même de se connecter à un serveur externe, pour en extraire des logiciels malveillants. L’approche rappelle un peu une injection SQL.

Critiques

Un attaquant n’a pas besoin d’aide supplémentaire pour cela. Dès que le criminel peut approcher un service qui enregistre des entrées externes dans un fichier journal avec Log4j, il peut faire exécuter du code. La fuite zero-day est à juste titre qualifiée de « critique » et un score de danger de 10 sur 10. L’attaque en question ne repose pas sur d’autres vulnérabilités, des informations d’identification volées, une attaque d’hameçonnage réussie ou d’autres formes d’accès initial. Le hack offre à la fois une porte dérobée et un moyen d’exploiter pleinement cette porte dérobée.

Log4Shell est donc une vulnérabilité dans un outil extrêmement populaire qui fait partie de millions d’applications et de services de milliers d’entreprises, grandes et petites. Les pirates peuvent l’exploiter depuis n’importe quel ordinateur portable disposant d’une connexion Internet. Personne n’est à l’abri. Entre autres iCloud d’Apple, les services de Cloudflare, Amazon, VMware et IBM, Twitter et le service de jeux Steam sont sujets au bogue. Remarque : avec une sécurité supplémentaire, les attaques peuvent toujours être stoppées.

Bien exploité

Log4Shell est un jour zéro, ce qui implique que la fuite était inconnue jusqu’à récemment. Malheureusement, les pirates informatiques en ont eu connaissance plus tôt que le grand public. Cisco Talos affirme dans un article de blog qu’il a vu des traces d’abus depuis au moins 2 décembre.

Entre vendredi et lundi matin, Check Point a enregistré plus de 820 000 tentatives d’analyse de la vulnérabilité.

En attendant, c’est le début de la fin. Check Point a déjà informé les éditeurs qu’il avait détecté plus de 60 nouvelles variantes d’exploits en moins de 24 heures. Entre vendredi et lundi matin, le spécialiste de la sécurité a été témoin de plus de 820 000 tentatives d’analyse de la vulnérabilité. Près de la moitié de ces scans détectés provenaient d’acteurs malveillants connus. Sophos a également détecté des centaines de milliers de tentatives d’exécution de code à distance via cette vulnérabilité.

La correction ne se fait pas du jour au lendemain

La correction est une performance. Apache a déjà introduit un correctif d’urgence avec Log4j version 2.15.0, mais cela ne résout pas le problème. Ceux qui ont le contrôle total de la solution Java dont fait partie le composant vulnérable Log4j peuvent déployer la mise à jour. Cependant, de nombreuses organisations utilisent des logiciels tiers dans lesquels Log4j est intégré. Ils doivent attendre que leurs fournisseurs de logiciels déploient le correctif Apache, puis le déployer eux-mêmes comme mise à jour.

VMware, par exemple, travaille dur sur les correctifs pour la quasi-totalité de son portefeuille. Pourtant, au moment de la rédaction de cet article, la plupart des produits dépendent toujours d’une solution de contournement temporaire.

Dans la pratique, il faudra beaucoup de temps et d’efforts à la plupart des organisations pour corriger le problème. Log4Shell joue dans la même ligue que d’autres fuites critiques telles que EternelBlue, qui a été exploité par WannaCry, ou la vulnérabilité ShellShock. Ces bogues ont causé beaucoup de dégâts et, contrairement à Log4Shell, ont pu être résolus via un seul correctif d’un seul constructeur de logiciels.

Enfin, il est possible qu’une organisation ait déjà été affectée avant le déploiement d’un correctif. Les entreprises doivent remonter au début du mois de septembre dans leurs fichiers journaux pour savoir si un criminel n’a pas ouvert la porte dérobée.

Une vulnérabilité qui résonnera

Il revient aux clients et aux administrateurs de surveiller la disponibilité des correctifs et d’assurer la sécurité des systèmes en attendant. La pratique montre que de nombreuses entreprises du monde entier ne réussiront pas. Regardez juste le célèbre hack Exchange de début 2021, pour lequel de nombreuses organisations, malgré le danger et la publicité, ont encore pu appliquer des correctifs en temps opportun.

La vulnérabilité Log4Shell dans Log4j fait définitivement partie des cinq vulnérabilités les plus graves de la dernière décennie.

Candid Wuest, vice-président de la recherche sur la cyberprotection chez Acronis

« La vulnérabilité Log4Shell dans Log4j fait définitivement partie des cinq vulnérabilités les plus graves de la dernière décennie », a déclaré Candid Wuest, vice-président de la recherche sur la cyberprotection chez Acronis à propos de la situation. Etay Maor, directeur principal de la stratégie de sécurité chez Cato Networks, poursuit : « Cette vulnérabilité a d’abord été exploitée par des attaquants de bas niveau pour un profit rapide, mais il y a également eu des attaques qui correspondent aux actions d’acteurs sophistiqués ayant des cibles plus dangereuses en tête que le simple vol de certaines données. »

« La vulnérabilité Log4Shell représente un autre type de défi pour les équipes informatiques », confirme Sean Gallagher, chercheur senior sur les menaces chez Sophos. « De nombreuses vulnérabilités logicielles sont limitées à un produit ou à une plate-forme spécifique. Cependant, Log4Shell est une bibliothèque utilisée par de nombreux produits et peut donc être présente dans tous les coins de l’infrastructure d’une organisation. »

L’impact potentiel de Log4shell est immense. Les jours et les semaines à venir vous indiqueront les dégâts que les attaquants peuvent réellement infliger.

bulletin

Abonnez-vous gratuitement à ITdaily !

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.