Qu’est-ce que Log4j ? Un expert en cybersécurité explique la dernière vulnérabilité Internet, sa gravité et ses enjeux

Log4Shell, une vulnérabilité Internet qui affecte des millions d’ordinateurs, implique un logiciel obscur mais presque omniprésent, Log4j. Le logiciel est utilisé pour enregistrer toutes sortes d’activités qui se déroulent sous le capot dans une large gamme de systèmes informatiques.

Jen Easterly, directrice de la US Cybersecurity & Infrastructure Security Agency, a qualifié Log4Shell de vulnérabilité la plus grave qu’elle ait vue dans sa carrière. Il y a déjà eu des centaines de milliers, peut-être des millions, de tentatives d’exploitation de la vulnérabilité.

Alors, quelle est cette humble infrastructure Internet, comment les pirates peuvent-ils l’exploiter et quel genre de chaos pourrait s’ensuivre ?

une femme aux longs cheveux noirs portant des lunettes parle dans un microphone
Jen Easterly, directrice de la Cybersecurity & Infrastructure Security Agency, a qualifié Log4Shell de vulnérabilité la plus grave que j’ai vue.
Kevin Dietsch/Getty Images Actualités

Que fait Log4j ?

Log4j enregistre les erreurs d’événements et les opérations système de routine et communique des messages de diagnostic à leur sujet aux administrateurs système et aux utilisateurs. Son logiciel open source fourni par Apache Software Foundation.

Un exemple courant de Log4j au travail est lorsque vous tapez ou cliquez sur un mauvais lien Web et obtenez un message d’erreur 404. Le serveur Web exécutant le domaine du lien Web auquel vous avez essayé d’accéder vous indique qu’il n’existe pas de page Web de ce type. Il enregistre également cet événement dans un journal pour les administrateurs système des serveurs utilisant Log4j.

Des messages de diagnostic similaires sont utilisés dans toutes les applications logicielles. Par exemple, dans le jeu en ligne Minecraft, Log4j est utilisé par le serveur pour enregistrer l’activité comme la mémoire totale utilisée et les commandes utilisateur tapées dans la console.

Comment fonctionne Log4Shell ?

Log4Shell fonctionne en abusant d’une fonctionnalité de Log4j qui permet aux utilisateurs de spécifier un code personnalisé pour formater un message de journal. Cette fonctionnalité permet à Log4j, par exemple, de consigner non seulement le nom d’utilisateur associé à chaque tentative de connexion au serveur, mais également le vrai nom de la personne, si un serveur séparé contient un répertoire reliant les noms d’utilisateur et les vrais noms. Pour ce faire, le serveur Log4j doit communiquer avec le serveur détenant les vrais noms.

Malheureusement, ce type de code peut être utilisé pour plus que le simple formatage des messages de journal. Log4j permet aux serveurs tiers de soumettre un code logiciel capable d’effectuer toutes sortes d’actions sur l’ordinateur ciblé. Cela ouvre la porte à des activités néfastes telles que le vol d’informations sensibles, la prise de contrôle du système ciblé et le transfert de contenu malveillant à d’autres utilisateurs communiquant avec le serveur concerné.

Il est relativement simple d’exploiter Log4Shell. J’ai pu reproduire le problème dans ma copie de Ghidra, un cadre de rétro-ingénierie pour les chercheurs en sécurité, en quelques minutes seulement. Il y a une barre très basse pour utiliser cet exploit, ce qui signifie qu’un plus grand nombre de personnes ayant des intentions malveillantes peuvent l’utiliser.

Log4j est partout

L’une des principales préoccupations concernant Log4Shell est la position de Log4js dans l’écosystème logiciel. La journalisation est une fonctionnalité fondamentale de la plupart des logiciels, ce qui rend Log4j très répandu. En plus des jeux populaires comme Minecraft, il est utilisé dans les services cloud comme Apple iCloud et Amazon Web Services, ainsi que dans une large gamme de programmes allant des outils de développement logiciel aux outils de sécurité.

Des logiciels open source comme Log4j sont utilisés dans tellement de produits et d’outils que certaines organisations ne savent même pas quels morceaux de code se trouvent sur leurs ordinateurs.

Cela signifie que les pirates ont un large éventail de cibles parmi lesquelles choisir : les utilisateurs à domicile, les fournisseurs de services, les développeurs de code source et même les chercheurs en sécurité. Ainsi, alors que les grandes entreprises comme Amazon peuvent rapidement corriger leurs services Web pour empêcher les pirates de les exploiter, de nombreuses autres organisations mettront plus de temps à corriger leurs systèmes, et certaines ne savent peut-être même pas qu’elles doivent le faire.

Les dégâts qui peuvent être causés

Les pirates parcourent Internet pour trouver des serveurs vulnérables et configurent des machines capables de fournir des charges utiles malveillantes. Pour mener une attaque, ils interrogent des services (par exemple, des serveurs Web) et tentent de déclencher un message de journal (par exemple, une erreur 404). La requête inclut du texte construit de manière malveillante, que Log4j traite comme des instructions.

Ces instructions peuvent créer un shell inversé, qui permet au serveur attaquant de contrôler à distance le serveur ciblé, ou elles peuvent intégrer le serveur cible à un botnet. Les botnets utilisent plusieurs ordinateurs piratés pour mener des actions coordonnées au nom des pirates.

Un grand nombre de pirates tentent déjà d’abuser de Log4Shell. Celles-ci vont des gangs de rançongiciels verrouillant les serveurs minecraft aux groupes de pirates essayant d’exploiter le bitcoin et les pirates associés à la Chine et à la Corée du Nord essayant d’accéder aux informations sensibles de leurs rivaux géopolitiques. Le ministère belge de la Défense a signalé que ses ordinateurs étaient attaqués à l’aide de Log4Shell.

Bien que la vulnérabilité ait fait l’objet d’une attention généralisée pour la première fois le 10 décembre 2021, les gens continuent d’identifier de nouvelles façons de nuire par le biais de ce mécanisme.

Arrêter le saignement

Il est difficile de savoir si Log4j est utilisé dans un système logiciel donné, car il est souvent intégré à d’autres logiciels. Cela oblige les administrateurs système à inventorier leur logiciel pour identifier sa présence. Si certaines personnes ne savent même pas qu’elles ont un problème, il est d’autant plus difficile d’éradiquer la vulnérabilité.

Une autre conséquence des diverses utilisations de Log4js est qu’il n’existe pas de solution unique pour le corriger. Selon la façon dont Log4j a été intégré dans un système donné, le correctif nécessitera différentes approches. Cela pourrait nécessiter une mise à jour en gros du système, comme pour certains routeurs Cisco, ou une mise à jour vers une nouvelle version du logiciel, comme dans Minecraft, ou la suppression manuelle du code vulnérable pour ceux qui ne peuvent pas mettre à jour le logiciel.

Log4Shell fait partie de la chaîne d’approvisionnement des logiciels. Comme les objets physiques que les gens achètent, les logiciels voyagent à travers différentes organisations et progiciels avant de se retrouver dans un produit final. Lorsque quelque chose ne va pas, plutôt que de passer par un processus de rappel, le logiciel est généralement corrigé, c’est-à-dire fixé en place.

Cependant, étant donné que Log4j est présent de différentes manières dans les produits logiciels, la propagation d’un correctif nécessite la coordination des développeurs Log4j, des développeurs de logiciels qui utilisent Log4j, des distributeurs de logiciels, des opérateurs système et des utilisateurs. Habituellement, cela introduit un délai entre la disponibilité du correctif dans le code Log4j et le fait que les ordinateurs des personnes ferment la porte à la vulnérabilité.

[Over 140,000 readers rely on The Conversations newsletters to understand the world. Sign up today.]

Certaines estimations du temps de réparation des logiciels varient généralement de quelques semaines à plusieurs mois. Cependant, si le comportement passé est indicatif des performances futures, il est probable que la vulnérabilité Log4j surgira dans les années à venir.

En tant qu’utilisateur, vous vous demandez probablement ce que vous pouvez faire à propos de tout cela. Malheureusement, il est difficile de savoir si un produit logiciel que vous utilisez inclut Log4j et s’il utilise des versions vulnérables du logiciel. Cependant, vous pouvez aider en tenant compte du refrain commun des experts en sécurité informatique : assurez-vous que tous vos logiciels sont à jour.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepteLire la suite