Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Mise en réseau et Sécurité Dernière mise à jour : 16 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

La vulnérabilité de Log4j est l'un des problèmes de sécurité les plus mortels des systèmes modernes.

La journalisation est un élément clé des applications modernes, et la bibliothèque de journalisation Log4j est un leader dans ce domaine.

Cette bibliothèque est utilisée dans la plupart des applications, services et systèmes. Par conséquent, toutes les applications dans lesquelles Log4j est utilisé sont affectées par cette vulnérabilité de Log4j découverte l'année dernière.

Face aux préoccupations croissantes en matière de cybersécurité dans le monde, les organisations et les particuliers prennent des mesures pour protéger leurs applications, leurs systèmes et leurs données.

La découverte de cette vulnérabilité a accentué le stress des professionnels et des entreprises.

Il est donc essentiel de détecter la vulnérabilité de Log4j et de la corriger si vous voulez protéger vos données, votre réseau, votre réputation et la confiance de vos clients.

Dans cet article, j'expliquerai ce qu'est la vulnérabilité de Log4j, ainsi que les étapes pour la détecter et la corriger.

Commençons par comprendre Log4j et pourquoi vous en avez besoin.

Qu'est-ce que Log4j ?

Log4j est un utilitaire de journalisation open-source écrit en Java qui est principalement utilisé pour stocker, formater et publier des enregistrements de journalisation générés par des applications et des systèmes, puis pour vérifier s'il y a des erreurs. Les enregistrements peuvent être de différents types, depuis une page web et les données du navigateur jusqu'aux détails techniques d'un système où Log4j s'exécute.

Au lieu d'écrire du code à partir de zéro, les développeurs peuvent utiliser la bibliothèque Log4j en intégrant son code dans leurs applications.

Grâce à Log4j, les développeurs peuvent suivre tous les événements associés à leurs applications avec des informations de journalisation précises. Cela les aide à surveiller les applications, à repérer les problèmes à temps et à les résoudre avant qu'ils ne se transforment en problèmes plus importants en termes de performance et/ou de sécurité.

Cette bibliothèque Java a été écrite par Ceki Gülcü et a été publiée en 2001 sous la licence Apache 2.0. Elle utilise les services JNDI (Java naming and Directory Interface) pour permettre aux applications d'interagir avec d'autres applications telles que LDAP, DNS, CORBA, etc., et d'obtenir un annuaire et une fonctionnalité de nommage pour les applications basées sur Java. Log4j a trois composants pour effectuer ses tâches :

Log4j est, en fait, l'une des bibliothèques de journalisation les plus connues sur le web et est utilisée par des organisations de plusieurs industries et pays. Elles ont intégré cette bibliothèque de journalisation dans de nombreuses applications, y compris les principaux services en nuage de Google, Microsoft, Apple, Cloudflare, Twitter, etc.

Son développeur, Apache Software Foundation, a mis au point Log4j 2, une mise à jour de Log4j destinée à résoudre les problèmes constatés dans les versions précédentes. L'année dernière, une vulnérabilité a été découverte dans Log4j qui, si elle n'est pas corrigée, peut permettre à des attaquants de s'introduire dans des applications et des systèmes, de voler des données, d'infecter un réseau et d'effectuer d'autres activités malveillantes.

Comprenons mieux.

Qu'est-ce que Log4Shell - la vulnérabilité de Log4j ?

Log4Shell est une vulnérabilité critique de cybersécurité dans la bibliothèque Log4j, qui affecte le fonctionnement de base de la bibliothèque. Elle permet à un attaquant de contrôler un appareil ou une application connectés à Internet en exécutant un code à distance. Lorsqu'ils y parviennent, ils peuvent :

  • Exécuter n'importe quel code sur l'appareil ou le système
  • Accès à l'ensemble du réseau et des données
  • Modifier ou crypter n'importe quel fichier sur l'application ou l'appareil concerné.

Cette vulnérabilité a été signalée pour la première fois le 24 novembre 2021 par Chen Zhaojun, un chercheur en sécurité d'Alibaba (un géant chinois du commerce électronique). La vulnérabilité affectait leur Serveurs Minecraftque l'équipe de sécurité du cloud d'Alibaba a découvert le 9 décembre.

Ensuite, le NIST a publié cette vulnérabilité dans la base de données nationale des vulnérabilités et l'a nommée CVE-2021-44228. L'Apache Software Foundation a ensuite attribué à cette vulnérabilité une note de 10 en termes de gravité CVSS. Cette note est rarement attribuée et est très sévère car elle peut être exploitée facilement et à grande échelle, ce qui peut entraîner des dommages considérables pour les organisations et les particuliers.

Apache a réagi en publiant un correctif pour cette vulnérabilité, mais certaines parties n'ont pas été corrigées, ce qui a entraîné d'autres vulnérabilités :

  • CVE-2021-45046 qui a facilité la mise en place de Attaques par déni de service (DoS) par le biais de consultations JNDI
  • CVE-2021-45105 pour permettre aux pirates de contrôler les informations du Thread Context Map et de provoquer des attaques DoS en interprétant une chaîne de caractères malveillante.
  • CVE-2021-44832 affecte toutes les versions de Log4j 2 via une injection de code à distance (RCE).

Comment fonctionne Log4Shell ?

Pour comprendre sa gravité et l'ampleur des dégâts que Log4Shell peut causer, il est pertinent d'apprendre comment fonctionne cette vulnérabilité de Log4j.

La vulnérabilité de Log4Shell permet à un attaquant d'injecter à distance n'importe quel code arbitraire dans un réseau et d'en prendre le contrôle complet.

Cette séquence de cyberattaque commence par la bibliothèque de journalisation, telle que Log4j, qui collecte et stocke les informations de journalisation. S'il n'y a pas de bibliothèque de journalisation, toutes les données du serveur seront archivées immédiatement après leur collecte.

Mais si vous souhaitez analyser ces données ou prendre des mesures sur la base d'informations spécifiques, vous aurez besoin d'une bibliothèque de journalisation pour analyser les données de journalisation avant qu'elles ne soient archivées.

En raison de la vulnérabilité de Log4j, tout système ou application utilisant Log4j devient vulnérable aux cyberattaques. La bibliothèque de journalisation exécute du code en fonction de l'entrée. Un pirate peut forcer la bibliothèque de journalisation à exécuter du code nuisible puisque la vulnérabilité lui permet de manipuler l'entrée.

Pendant ce temps, beaucoup de choses se passent en arrière-plan. Lorsque Log4j reçoit une chaîne spécifiquement élaborée, il invoque un serveur LDP et télécharge le code hébergé dans son répertoire afin de l'exécuter. De cette manière, les attaquants peuvent créer un serveur LDAP pour stocker du code malveillant qui peut les aider à contrôler n'importe quel serveur sur lequel le code est exécuté. Ils enverront ensuite une chaîne de caractères dirigeant leur code malveillant vers une application ou un système ciblé et en prendront le contrôle total.

Voici donc comment la vulnérabilité de Log4j peut être exploitée :

  • Un attaquant trouve un serveur avec une version vulnérable de Log4j.
  • Ils envoient au serveur ciblé une demande d'accès contenant le lien de leur serveur LDAP malveillant.
  • Le serveur ciblé, au lieu de vérifier la demande, se connectera directement à ce serveur LDAP.
  • Les attaquants envoient alors au serveur ciblé une réponse de serveur LDAP contenant un code malveillant. En raison de la vulnérabilité de Log4j, qui permet de recevoir le code et de l'exécuter sans vérification, le pirate peut tirer parti de cette faiblesse pour s'introduire dans le serveur cible et exploiter les systèmes, réseaux et dispositifs connectés.

Comment la vulnérabilité de Log4j peut-elle nuire aux utilisateurs ?

La vulnérabilité de Log4j est préoccupante car ce logiciel est utilisé dans un large éventail d'applications et de systèmes.

La journalisation étant une fonction essentielle dans la plupart des applications logicielles et Log4j étant une solution de premier plan dans ce domaine, Log4j trouve des applications dans une grande variété de systèmes logiciels.

Parmi les services et applications populaires utilisant Log4j, citons Minecraft, AWS, iCloud, Microsoft, Twitter, les routeurs internet, les outils de développement de logiciels, les outils de sécurité, etc. Les attaquants peuvent donc cibler un grand nombre d'applications, de services et de systèmes d'utilisateurs privés, de développeurs de code, de fournisseurs de services et d'autres professionnels et particuliers concernés. 

En outre, la vulnérabilité de Log4j est extrêmement facile à exploiter pour un attaquant. Le processus global nécessite peu de compétences, pas de niveau expert, pour mener à bien une attaque. C'est pourquoi le nombre d'attaques exploitant cette vulnérabilité est en augmentation.

Les conséquences de la vulnérabilité de Log4j sont les suivantes :

  • Attaques DoS
  • Attaques contre la chaîne d'approvisionnement
  • Extraction de pièces de monnaie
  • Injections de logiciels malveillants tels que ransomware et les chevaux de Troie
  • Injection de code arbitraire
  • Exécution de code à distance

Et plus encore.

À la suite de ces attaques, vous pouvez perdre la maîtrise de vos applications, de vos systèmes et de vos appareils, et vos données peuvent devenir la proie d'attaquants qui peuvent vendre vos donnéesIl est donc possible que votre entreprise soit victime d'une fraude, qu'elle la manipule ou qu'elle l'expose au monde extérieur. Par conséquent, votre entreprise peut subir des préjudices en termes de clientèle. confidentialité des donnéesLes risques liés à l'utilisation de l'Internet pour la sécurité des personnes, la confiance, les secrets de l'organisation, voire les ventes et les revenus, sans parler des risques de non-conformité, sont considérables.

Selon un rapportPlus de 40% des réseaux d'entreprise mondiaux ont subi des attaques dues à cette vulnérabilité.

Ainsi, même si vous n'utilisez aucune version vulnérable de Log4j dans vos applications, vos intégrations tierces peuvent l'utiliser, ce qui rend votre application vulnérable aux attaques.

Notez que toutes les versions de Log4j antérieures à Log4j 2.17.0. sont concernées ; vous devez donc mettre à jour le logger si vous l'utilisez. Par ailleurs, les fournisseurs les plus connus qui sont concernés par cette vulnérabilité de Log4j sont les suivants AdobeAWS, IBM, Cisco, VMware, Okta, Fortinet, etc. Si vous utilisez l'une de ces solutions, surveillez vos applications en permanence et utilisez des systèmes de sécurité pour résoudre les problèmes dès qu'ils surviennent.

Comment détecter les programmes affectés par Log4j et résoudre les problèmes ?

La vulnérabilité de Log4Shell a un score CVSS de 10. Par conséquent, tous les problèmes liés à Log4j n'ont pas encore été corrigés. Mais il est possible que vous ou votre fournisseur tiers utilisiez Log4j, que vous avez utilisé dans votre application.

Par conséquent, si vous souhaitez protéger vos données, vos systèmes et votre réseau, assurez-vous de suivre certaines étapes de remédiation.

#1. Mise à jour de la version de Log4j

La mise à jour de votre version actuelle de Log4j vers Log 4j 2.17.1 est la technique de remédiation la plus efficace si vous souhaitez protéger votre appareil et vos applications contre les attaques résultant de la vulnérabilité Log4j.

Log4Shell est un type d'attaque de type "zero-day" qui peut potentiellement affecter votre écosystème logiciel. Apache a corrigé certaines des vulnérabilités dans les versions récentes, mais si votre système a été compromis avant la mise à jour, vous êtes toujours en danger.

Dans cette hypothèse, vous devez non seulement mettre à jour la version, mais aussi lancer immédiatement vos procédures de réponse aux incidents afin de vous assurer que vos systèmes et applications ne présentent aucune vulnérabilité et d'atténuer les attaques. Vous devez également passer en revue tous les journaux de votre serveur pour trouver des indicateurs de compromission (IOC) et surveiller en permanence vos systèmes et votre réseau.

#2. Utiliser les derniers pare-feu et systèmes de sécurité

Les pare-feu tels que les pare-feu pour applications web (WAF) et les pare-feu de nouvelle génération peuvent contribuer à sécuriser le périmètre de votre réseau contre les attaquants en analysant les paquets de données entrants et sortants et en bloquant les paquets suspects. Il convient donc d'utiliser le les derniers pare-feu dans votre réseau et définissez des règles de sortie strictes sur vos serveurs afin de prévenir les attaques liées à la vulnérabilité de Log4j.

Bien que les attaquants puissent contourner les pare-feu, vous obtiendrez toujours un certain degré de sécurité avec les pare-feu qui peuvent bloquer les demandes d'un attaquant.

En outre, mettez à jour tous vos systèmes de sécurité, tels que les systèmes de détection d'intrusion (IDS), les systèmes de prévention d'intrusion (IPS), etc. avec les signatures et les règles les plus récentes. Ces systèmes contribueront à bloquer ou à filtrer le trafic RMI et LDAP qui se connecte à un serveur LDAP malveillant.  

#3. Mise en œuvre de l'AMF

La mise en place de l'authentification multifactorielle (AMF) dans vos applications et vos systèmes vous permettra de mieux vous protéger contre les attaquants. Il s'agit d'une deuxième couche de sécurité, même si un attaquant parvient à franchir la première couche. Vous pouvez utiliser la biométrie (empreintes digitales, balayage de l'iris, etc.), poser une question de sécurité ou activer un code PIN de sécurité.

L'utilisation du MFA augmentera la difficulté des attaquants et le temps dont ils disposent pour mener une attaque de grande envergure. Entre-temps, elle peut également vous informer immédiatement de l'incident afin que vous puissiez prendre les mesures correctives nécessaires lorsque vous en avez encore le temps.

En outre, vous devez également faire une demande stricte VPN afin de réduire les violations de données. Cela permettra aux utilisateurs d'accéder à vos systèmes en toute sécurité et de n'importe où, sans craindre les attaquants.

#4. Modifier les propriétés du système

Si vous ne pouvez pas passer à la dernière version de la bibliothèque Log4j, vous devez modifier immédiatement les propriétés de votre système Java si vous utilisez une version allant de Log4j 2.10 à Log4j 2.14.1.

Vous devez le définir de manière à empêcher les recherches que les attaquants utilisent pour détecter les vulnérabilités et trouver des moyens de les exploiter.

#5. Supprimer JNDI

La raison de cette vulnérabilité critique réside dans sa conception. Le plugin JNDI Lookup présente un défaut de conception qui permet aux pirates d'effectuer une attaque. 

JNDI est utilisé pour l'exécution de code sur la base des données d'entrée de son journal, que n'importe qui peut manipuler facilement puisque le journal accepte n'importe quelle demande sans vérification. 

Des chercheurs en sécurité ont découvert que ce plugin a toujours autorisé les données non analysées depuis sa sortie en 2013 et les a envoyées à la bibliothèque Log4j.  

Par conséquent, la vulnérabilité de Log4j est susceptible d'être exploitée par une simple injection de chaîne de caractères. Une fois que l'attaquant l'a injectée, le logger accepte l'opération demandée dans la chaîne et l'exécute instantanément sans vérification. 

Par conséquent, si vous souhaitez sécuriser vos systèmes et vos applications, vous devez désactiver la classe JndiLookup. Cela empêchera l'enregistreur de prendre des mesures basées sur les données d'enregistrement. 

En fait, la recherche JNDI est déjà désactivée par défaut dans Log4j 2.16.0 afin de sécuriser vos applications et vos systèmes. 

Ainsi, si vous utilisez une version de Log4j inférieure à 2.16.0, assurez-vous que vous avez désactivé JNDI Lookup.

#6. Parlez à vos fournisseurs

Si vous avez tout prévu, que vos pare-feu et systèmes de sécurité ont été mis à jour, que la version de Log4j a été mise à jour, que la fonction JNDI Lookup a été désactivée, etc.

Même si vous n'utilisez pas une version vulnérable de Log4j dans vos applications, vos fournisseurs tiers peuvent l'utiliser. Ainsi, vous ne saurez jamais comment votre application ou votre système a été piraté, car le véritable problème se situe au niveau de l'intégration de vos fournisseurs tiers.

Par conséquent, contactez vos fournisseurs et assurez-vous qu'ils ont eux aussi mis à jour Log4j vers la dernière version et qu'ils ont mis en œuvre les autres pratiques de sécurité mentionnées ci-dessus.

#7. Utiliser un scanner de vulnérabilité Log4j

Il existe de nombreux outils d'analyse de la vulnérabilité de Log4j disponibles sur le marché pour vous permettre de détecter facilement les vulnérabilités de Log4j dans vos systèmes et applications.

Par conséquent, lorsque vous recherchez ces outils, vérifiez leur taux de précision, car nombre d'entre eux génèrent des faux positifs. Trouvez également un outil qui réponde à vos besoins, car il peut se concentrer sur l'identification de la vulnérabilité de Log4j, le signalement de l'exposition et la correction de la vulnérabilité.

Ainsi, si votre objectif est la détection, trouvez un scanner de vulnérabilités Log4j qui peut détecter le problème ou utilisez celui qui peut détecter et remédier au problème.

Les meilleurs outils d'analyse de Log4j sont les suivants :

  • Microsoft 365 Defender : Microsoft propose une gamme de solutions et d'outils de sécurité pour vous aider à détecter et à prévenir les exploits Log4j dans votre réseau. Vous serez en mesure de repérer les tentatives d'exécution de code à distance et d'exploitation, vous protégeant ainsi des vulnérabilités de Log4j dans les appareils Windows et Linux. 
  • Inspecteur d'Amazon et AWS : Amazon a créé un outil d'analyse pour détecter la vulnérabilité de Log4j dans les instances Amazon EC2 et Amazon ECR.
  • CloudStrike Archive Scan Tool (CAST) : CloudStrike a également créé un excellent outil d'analyse pour détecter les vulnérabilités de Log4j afin de vous aider à résoudre les problèmes à temps avant que les attaquants ne puissent les exploiter.
  • Détection de la journalisation dans le nuage de Google : La solution de détection de la journalisation en nuage de Google vous permet de détecter les exploits Log4j à l'aide de l'explorateur de journaux. Vous pouvez créer une requête de journal dans cet outil et rechercher des chaînes d'exploitation potentielles. 
  • Google a également créé log4jscanner, un scanner de système de fichiers open-source pour détecter les vulnérabilités de Log4j.
  • BurpSuite Log4j Scanner : Il s'agit d'un plugin de sécurité destiné aux professionnels et aux entreprises pour les aider à détecter les vulnérabilités de Log4j.
  • Testeur de vulnérabilité Huntress Log4Shell : Cet outil génère au hasard un identifiant unique que vous pouvez utiliser pour tester vos champs de saisie. Lorsqu'il détecte une vulnérabilité dans l'application ou le champ de saisie, son serveur LDAP sécurisé met instantanément fin à la connexion malveillante et assure votre sécurité.
  • WhiteSource Log4j Detect : WhiteSource a créé un outil CLI gratuit, WhiteSource Log4j Detect, hébergé sur GitHub pour vous aider à détecter et corriger les vulnérabilités de Log4j - CVE-2021-445046 et CVE-2021-44228.
  • JFrog Open-Source Scanning tools for Log4j (outils d'analyse pour Log4j) : JFrog a créé plusieurs solutions et outils open-source pour trouver les vulnérabilités de Log4j dans vos binaires et votre code source.

Conclusion

La vulnérabilité de Log4j est un problème de sécurité critique. Cette bibliothèque de journalisation étant largement utilisée dans divers systèmes et applications, la vulnérabilité de Log4j s'est répandue, permettant aux attaquants d'exploiter un large éventail de systèmes et d'applications. 

Par conséquent, si vous souhaitez protéger vos systèmes et vos applications contre cette vulnérabilité, veillez à mettre à jour la bibliothèque Log4j vers la dernière version et à mettre en œuvre les meilleures pratiques en matière de sécurité. pratiques de sécurité évoquée plus haut.

  • Amrita Pathak
    Auteur
    Amrita est rédactrice publicitaire et rédactrice de contenu indépendante. Elle aide les marques à améliorer leur présence en ligne en créant des contenus géniaux qui attirent et convertissent. Elle est titulaire d'une licence de technologie (B.Tech) en ingénierie aéronautique.
Merci à nos sponsors
Autres lectures intéressantes sur la mise en réseau
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus