IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une vulnérabilité Log4J extrêmement critique met une grande partie d'Internet en danger

Le , par you.baddi

45PARTAGES

6  0 
L'Apache Software Foundation a publié des correctifs pour contenir une vulnérabilité zero-day activement exploitée affectant la bibliothèque de journalisation Apache Log4j Java largement utilisée qui pourrait être militarisée pour exécuter du code malveillant et permettre une prise de contrôle complète des systèmes vulnérables.

Suivi comme CVE-2021-44228 et par les surnoms Log4Shell ou LogJam, le problème concerne un cas d'exécution de code à distance (RCE) non authentifié sur toute application qui utilise l'utilitaire open-source et affecte les versions Log4j 2.0-beta9 jusqu'à 2.14. 1. Le bogue a obtenu un score parfait de 10 sur 10 dans le système d'évaluation CVSS, ce qui indique la gravité du problème.

"Un attaquant qui peut contrôler les messages de journal ou les paramètres de message de journal peut exécuter du code arbitraire chargé à partir de serveurs LDAP lorsque la substitution de recherche de message est activée", a déclaré la Fondation Apache dans un avis. "À partir de Log4j 2.15.0, ce comportement a été désactivé par défaut."

Sauvegardes automatiques GitHub
L'exploitation peut être réalisée par une seule chaîne de texte, ce qui peut déclencher une application pour atteindre un hôte externe malveillant s'il est connecté via l'instance vulnérable de Log4j, donnant effectivement à l'adversaire la possibilité de récupérer une charge utile à partir d'un serveur distant et l'exécuter localement. Les responsables du projet ont crédité Chen Zhaojun de l'équipe de sécurité du cloud d'Alibaba d'avoir découvert le problème.

Log4j est utilisé comme package de journalisation dans une variété de logiciels populaires différents par un certain nombre de fabricants , notamment Amazon, Apple iCloud, Cisco , Cloudflare , ElasticSearch, Red Hat , Steam, Tesla, Twitter et des jeux vidéo tels que Minecraft . Dans le cas de ce dernier, les attaquants ont pu obtenir un RCE sur les serveurs Minecraft en collant simplement un message spécialement conçu dans la boîte de discussion.

Une immense surface d'attaque
« La vulnérabilité zero-day d'Apache Log4j est probablement la vulnérabilité la plus critique que nous ayons vue cette année », a déclaré Bharat Jogi, responsable principal des vulnérabilités et des signatures chez Qualys. "Log4j est une bibliothèque omniprésente utilisée par des millions d'applications Java pour la journalisation des messages d'erreur. Cette vulnérabilité est insignifiante à exploiter."

Les entreprises de cybersécurité BitDefender , Cisco Talos , Huntress Labs et Sonatype ont toutes confirmé des preuves d' une analyse massive des applications affectées à l'état sauvage pour les serveurs vulnérables et les attaques enregistrées contre leurs réseaux de pots de miel suite à la disponibilité d'un exploit de preuve de concept ( PoC ). "Il s'agit d'une attaque peu qualifiée qui est extrêmement simple à exécuter", a déclaré Ilkka Turunen de Sonatype.

GreyNoise, comparant la faille à Shellshock , a déclaré avoir observé une activité malveillante ciblant la vulnérabilité à partir du 9 décembre 2021. La société d'infrastructure Web Cloudflare a noté qu'elle bloquait environ 20 000 demandes d'exploitation par minute vers 18h00 UTC vendredi, avec la plupart des tentatives d'exploitation en provenance du Canada, des États-Unis, des Pays-Bas, de la France et du Royaume-Uni

Compte tenu de la facilité d'exploitation et de la prévalence de Log4j dans l'informatique d'entreprise et DevOps, les attaques dans la nature visant les serveurs sensibles devraient s'intensifier dans les prochains jours, ce qui rend impératif de corriger la faille immédiatement. La société de cybersécurité israélienne Cybereason a également publié un correctif appelé « Logout4Shell » qui comble la lacune en utilisant la vulnérabilité elle-même pour reconfigurer l'enregistreur et empêcher une nouvelle exploitation de l'attaque.

"Cette vulnérabilité Log4j (CVE-2021-44228) est extrêmement grave. Des millions d'applications utilisent Log4j pour la journalisation, et tout ce que l'attaquant a à faire est de faire en sorte que l'application enregistre une chaîne spéciale", a déclaré l' expert en sécurité Marcus Hutchins dans un tweet.

source : thehackernews

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de gabriel21
Membre éprouvé https://www.developpez.com
Le 21/12/2021 à 23:48
Je vois dans les crises sécuritaires actuelles un problème plus profond :
L'architecture système repose sur une notion de couche et les développeurs ne comprennent plus rien aux bases, voir en ont rien à "bip".
Combien de fois j'ai pu entendre, j'en ai rien à faire de comment ça marche tant que ça marche de la part de nombreux développeurs (et pas uniquement Java ).
Il nous font "bip" tous ces administrateurs système avec leur "bip" de mise à jour qui casse mon super code de la mort qui tue tout. Parce que le problème, ce n'est pas nous, mais forcément les autres...
Combien de fois je suis épouvanté par le fait que juste pour afficher "Hello World", il faut un serveur avec 2 processeurs et 64Go de mémoire? Moi qui es commencé sur des systèmes avec des Pentium III et 64 Mo de ram.
Car pourquoi se faire "bip" par les dépendances quand il suffit d'intégrer un framework de 4 Go pour 3 fonctions qui pèsent 3Ko, et plusieurs fois dans le projet...

Mais moi qui fait un peu de programmation, mais qui suis administrateur système de vocation, je pleure.
Pour moi, le minimum est le mieux. Je pleure quand je dois faire 5 mises à jour de noyau Linux parce qu’il y a une faille sur une fonctionnalité que nous n'utilisons pas, mais vous comprenez avoir une personne qui compile un noyau qui correspond à notre besoin, ça coûte trop chère alors on utilise un noyau générique qui pèse 150Mo alors que l'on pourrait utiliser un noyau de 50 Mo qui ne demande pas de mise à jour régulière. Je regrettes ces serveur qui ont un Uptime de 3000 jours, car ayant un noyau optimisé pour leur matériel et n'utilisant pas le chargement dynamique de module du noyau Linux, n'ont pas de failles du moins connue...
9  0 
Avatar de marsupial
Expert confirmé https://www.developpez.com
Le 20/12/2021 à 7:36
Des fois, cela a du bon d'être retraité...

Joyeuses fêtes à tous les admins !
6  0 
Avatar de walfrat
Membre chevronné https://www.developpez.com
Le 20/12/2021 à 12:18
Citation Envoyé par Fleur en plastique Voir le message
Ce que ça m'inspire, c'est que Apache et Java, c'est de la M.

Mais surtout, ce qui est de loin le pire, c'est le fait de faire des projets qui incluent je ne sais combien de dépendances externes, et donc la moindre faille dans un composant, même mineur comme ici, met en danger tout le Web parce que je ne sais combien de projets l'incluent par paresse.

De la même manière, la moindre dépendance qui disparaît du jour au lendemain peut empêcher le fonctionnement de milliers de projets, c'était arrivé à Node.Js.

Je sais bien que réinventer la roue n'est pas une bonne chose, mais j'ai toujours milité pour limiter le nombre de dépendances externes dans mes projets. Ma règle d'or : si les doigts d'une main ne suffisent pas à compter les projets externes dont dépendent mon propre projet, c'est qu'il y en a trop et un jour ou l'autre, ça va me péter à la gueule.

On en a ici la preuve.
C'est débile comme raisonnement, la faille de log4j, faut utiliser log4j pour qu'elle soit exploitable.
Avoir log4j dans ton classpath ne rend pas ton application vulnérable.

Et comment compte tu le nombre de projet dont tu dépend ? Spring c'est un projet ? Ou tu compte un projet par Spring-context,Spring-orm,Spring-tx ?

Tu compte Apache tomcat comme une dépendance dans ton projet ? Et l'OS de déploiement c'est aussi une dépendance ?

Enfin, entre ton codage, et celui de librairie éprouvé (open source ou non), le tiens aura sans doute largement plus de failles de sécurité.
6  0 
Avatar de marsupial
Expert confirmé https://www.developpez.com
Le 15/12/2021 à 16:15
Pour l'instant l'intéressant avec l'open source est qu'on dispose de patchs rapides. Mais tellement utilisé qu'on est pas loin d'une catastrophe. Log4j n'étant plus amélioré depuis 2013 d'après ce que j'ai compris de ars technica, la faille est exploitée depuis sa révélation et le patch 2.16.0 est urgent pour être utilisé sans risque. La faille date de 2013 et n'a été découverte que le 23 novembre 2021 par des chercheurs en sécurité d'Alibaba.
5  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 15/12/2021 à 17:03
Si on pouvait supprimer la mention "Apache" quand on parle de Log4J svp ... j'en peux plus de devoir expliquer que les serveurs web Apache n'ont rien à voir avec cette faille et que non ca ne sert à rien de tous les couper tant qu'on aura pas patcher votre application web qui n'est de toute manière pas concernée
5  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 20/12/2021 à 8:45
Quand on utilise Java le samedi à Broadway, ça hacke comme à Meudon.
6  1 
Avatar de marsupial
Expert confirmé https://www.developpez.com
Le 20/12/2021 à 9:44
Si à chaque faille découverte on devait tout jeter, on retourne à la machine à écrire. Plus de 60 000 failles logicielles découvertes en un an(source dvp) , personne n'est épargné.
5  0 
Avatar de Escapetiger
Expert éminent https://www.developpez.com
Le 24/12/2021 à 13:34
Nous sommes dans un forum spécialisé mais tout de même pour une question de clarté avec tous ces sigles :

IPS
« Un système de prévention d'intrusion (ou IPS, intrusion prevention system) est un outil des spécialistes en sécurité des systèmes d'information, similaire aux systèmes de détection d'intrusion (ou IDS, intrusion detection system), permettant de prendre des mesures afin de diminuer les impacts d'une attaque. C'est un IDS actif, il peut par exemple détecter un balayage automatisé malveillant, et bloquer les ports.

Les IPS peuvent donc parer les attaques connues et inconnues. Comme les IDS, ils ne sont pas fiables à 100 % et risquent même en cas de faux positif de bloquer du trafic légitime.
(.../...) »

EDR
« Un logiciel de type EDR désigne une technologie émergente de détection des menaces sur les EndPoints (ordinateurs, serveurs). Ce terme Endpoint Detection and Response (EDR), est utilisé pour la première fois en juillet 2013 par Anton Chuvakin1 de la société Gartner.
(.../...)
Combiné avec un moteur basé sur de l'intelligence artificielle, le logiciel EDR est très réactif dans la détection et l'arrêt de menaces (Malwares, virus, attaques zero Day, menaces persistantes avancées, ...). L'intelligence artificielle lui permet d'être auto-apprenant et de ne pas devoir se connecter sur internet pour mettre à jour des bases de données.
»

Sources Wikipedia :

Système de prévention d'intrusion

Endpoint detection and response
5  0 
Avatar de sekaijin
Expert éminent https://www.developpez.com
Le 24/12/2021 à 16:40
Lister les dépendances par transitivité pour connaitre les projet "Potentiellement" impactés
N'est en soit pas très compliqué mais très largement insuffisant surtout si on fait ça sur maven central.
En effet Maven Central garde aussi toute les vielles versions donc même s'il y a eu des corrections les version non corrigé restent.

On peut très vite avoir des chiffres énorme sans pour autant que ce soit la cata.

Quant à ce que que j'ai lu ici sur YAKAFOKON c'est très loin d'être si facile. Je m'occupe d'un outil qui est composé de centaines d'éléments divers avec un chargement dynamique la bête a tourné 8 ans sans interruption, avec des mise à jour à chaud, un changement de serveur physique à chaud (juste des arrêts partiels de certain composants quelques minutes).
Arriver à qualifier la compatibilité de plusieurs centaines de composants est un très long travail. Il nous est déjà arrivé de revenir en arrière après plusieurs mois de travail parce qu'un composants n'était plus compatible avec l'ensemble.

Quant à l'approche de google si j'avais suivi la même approche j'aurais à ce jour environs 200 projet impactés.
Hors tous dépendent d'une librairie qui est compilé avec log4j (donc une dépendance). Mais cette librairie importe une partie seulement de log4j et supprime tout le code inutile. La partie impactée par le PB de sécurité n'est plus dans le code de la lib. les 200 projets ne sont donc pas impactés.

à contraio je suis tombé sur un dev qui importe par transitivité un clone de log4j qui lui embarque le code en question et là l'approche de Google ne l'a pas trouvé et pour cause. Ouf il s'agissait d'un démonstrateur pas de prod.

Donc à tous les YAKAFOKON Oui il est très simple dans le gestionnaire de dépendance de surcharger la version de log4j pour en choisir une non impactée.
Mais sur les millions de lignes de code comment garantir que ce changement ne va pas introduire de bug ?
On pourrait imaginer que finalement ce ne sont que des log c'est pas si grave si on n'a pas la trace tant que le prog fonctionne mais voilà un changement de version de log4j sans précaution et up un nullpointerexception dans un log.info et le prog ne fonctionne plus.

Il n'y a rien de simple. C'est un travail permanent, une vigilance, et des mois de tests pour valider un assemblage.

A+JYT
5  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 21/12/2021 à 10:56
Est-ce vraiment Java le problème ? ou plutôt l'utilisation de composants externes mal programmée, ou des failles de la JVM ?
Pour ce dernier aspect, les postes faillibles :
- sont-ils à jour au niveau Java ?
- L'utilisation d’une JVM autre que celle d'Oracle est il plus sûr ?
4  0