log4shellC’est quoi cette faille Log4Shell ?

log4shell Si vous suivez un peu l’actualité informatique, vous n’avez pas pu y échapper, depuis une semaine, tout le monde ne parle que de cette faille.

Elle est décrite comme étant la plus importante faille de tous les temps. Mais qui est concerné ? Est-ce que les particuliers sont concernés par cette faille ?

Je vais essayer de répondre à toutes ces questions :

Qu’est-ce que c’est que cette faille ?

Un exemple pour comprendre

Pour bien comprendre, je vais essayer de comparer l’informatique à l’automobile.

Lorsqu’un constructeur automobile conçoit une nouvelle voiture, il créé la plupart des pièces (moteur, carrosserie, …) mais il fait appel aussi à des sous-traitants come par exemple pour le compteur de vitesse (C’est une autre entreprise que le fabrique). Le constructeur va ensuite assembler toutes ces pièces pour en fabriquer la voiture.

 

Revenons à nos moutons

Pour concevoir un logiciel et pour ne pas avoir à recréer quelque chose qui existe déjà, les développeurs font parfois appel à ce que l’on appelle des bibliothèque d’outils (on peut dire des pièces détachées).

Cette faille est présente dans une bibliothèque d’outils logiciels très présentes sur Internet. Cette bibliothèque a été développée par la fondation Apache.

Apache

La fondation Apache est constituée d’une communauté de personnes dans le monde qui travaille gratuitement à l’élaboration de logiciels libres et donc gratuits (d’où l’énorme succès). On leur doit entre autre le serveur Apache http.

En effet, les serveurs Apache http sont des serveurs Web. Pour rappel, les serveurs Web (ou serveurs http)  sont des serveurs qui répondent aux requêtes http. Lorsque vous surfez sur Internet, les pages que vous consultez sont fournies par des serveurs web.

Il existe de nombreux modèles de serveurs Web. Les serveurs Apache http est le type de serveurs les plus utilisés dans le monde avec plus de 50% du marché. Ce qui veut dire que lorsque vous surfez sur Internet, il y a une chance sur deux pour que la page que vous consultez vienne d’un serveur Apache.

Pour votre culture, il existe d’autres modèles de serveurs Web et les plus connus derrière Apache sont Gninx et IIS (Microsoft).

Mais la fondation Apache ne se résume pas à son serveur Web très populaire, elle a développé de nombreux outils qui sont mis à disposition librement et gratuitement.

 

La faille

Cette faille est présente non pas directement dans la partie qui délivre les pages, mais dans les mécanismes qui permettent d’enregistrer sur le serveur les différents évènements qui s’y passe. En informatique, on appelle « log » les fichiers qui contiennent les événements. On pourrait parler d’historique des évènements.

Voici un exemple de logs (extrêmement simplifié) pour comprendre :

2021-12-20 12:00:03 démarrage de l'ordinateur
2021-12-20 12:00:14 démarrage du service de base de données
2021-12-20 12:00:47 démarrage du service apache
2021-12-20 12:04:12 get https://culture-informatique.net
2021-12-20 12:04:19 get https://culture-informatique.net/cest-quoi-cette-faille-log4shell
2021-12-20 12:04:47 erreur : espace disque insuffisant
2021-12-20 12:04:47 arrêt du service de base de données

On voit bien que ici, toutes les informations sur les évènements sont journalisées dans un fichier log.

Il existe des bibliothèques d’outils qui permettent d’enregistrer ces logs.

Dans le cas des serveurs Apache, cette bibliothèque est log4j. Et c’est Log4J qui présente la faille Log4shell.

 

La bibliothèque Log4J

La bibliothèque Log4J développée par Apache est très utilisée dans de nombreux logiciels (autres que ceux d’Apache) puisqu’elle est libre d’utilisation. (C’est comme si les compteurs automobiles étaient gratuits, les constructeurs ne se priveraient pas de leur utilisation).

La plupart du temps, il s’agit de logiciels développés en Java. (Java est un langage de développement qui permet de faire fonctionner le logiciel sur différents types d’environnement (Windows, linux, Mac))

On comprend donc aisément que :

  • cette bibliothèque est très utilisée (par les serveurs Apache)
  • mais aussi par de nombreux logiciels autres qui s’appuient sur cette bibliothèque pour enregistrer les différents logs.

 

Que fait cette faille log4shell ?

En s’appuyant sur cette faille, il est possible d’exécuter du code à distance sur le serveur concerné.

En effet, le logiciel de log est conçu pour recevoir des informations et les enregistrer.

Mais, il contient une faille et si à la place d’informations, l’on envoie des commandes à exécuter, le logiciel de log ne se contente pas de les enregistrer mais il les exécute. Ce qui veut dire qu’une personne malveillante peut envoyer des instructions demandant par exemple au serveur de lui renvoyer la liste des clients.

Exemple d’utilisation de la faille Log4Shell

Voici un petit exemple montrant comment exploiter cette faille (bien évidemment, je ne donnerai pas les commandes exactes, mon intention est d’informer pas de pousser au crime)

  • vous connectez sur un site
  • ce site propose un chatbot (vous savez ces petits robots qui veulent parler avec vous)
  • et donc sur ce site, on utilise la brique Log4J pour enregistrer tout ce que vous dites
    (pour garder une trace et pouvoir ensuite analyser et améliorer le chatbot par exemple)
  • mais vous avez de mauvaises intentions, alors au lieu de faire une conversation classique, vous saisissez des commandes qui seront comprises par Log4J comme des commandes à exécuter et non pas comme du texte à simplement enregistrer
  • et c’est bien là, le gros problème : Log4J va exécuter cette commande à l’intérieur du serveur (efface les données, envoi des données vers l’extérieur, installation de logiciel malveillant, etc, etc …)
    Et tout cela, sans même vous demander des codes utilisateurs et des mots de passe.

j’espère que vous avez maintenant compris par cet exemple la dangerosité de cette faille.

 

Cette faille est corrigée par les concepteurs d’Apache, mais il faut maintenant mettre à jour des milliers d’ordinateurs (serveurs) dans le monde et cela va prendre un peu de temps.

Enfin, si vous voulez en savoir un peu plus, vous pouvez consulter les informations directement sur le site d’Apache. (en anglais)

 

Est-ce que je suis concerné par cette faille ?

Vous êtes un particulier et vous vous demandez si votre ordinateur est concerné par cette faille.

Je vais vous répondre que non à 99%. En effet, en tant que particulier, vous n’exposez généralement pas votre ordinateur directement sur Internet et la plupart du temps, les services Apache ne sont pas installés sur votre ordinateur.

Maintenant, si vous avez installé les services Apache volontairement pour faire de votre ordinateur un petit serveur Web car vous partagez des pages Web à partir de votre connexion, alors dans ce cas, vous devriez mettre à jour votre système.

Pour résumer, vous n’êtes pas concerné sauf si :

  • vous avez installé Apache sur ordinateur (directement ou avec des préinstalleurs tels que Wamp, Lamp, Mamp)
  • et que votre ordinateur est accessible en web depuis l’extérieur (que vous avez mis en place du Nat sur votre box)

Si les 2 lignes au-dessus, ressemble pour vous à du chinois, alors vous n’êtes pas concernés 😉

Pour savoir si vous avez un logiciel impacté par cette faille, vous pouvez consulter le site suivant : https://github.com/cisagov/log4j-affected-db. (Site en anglais)
Et enfin, si vous avez besoin de récupérer les dernières versions corrigées ou tout simplement d’en savoir plus, le mieux est d’aller directement récupérer les infos à jour sur le site Apache.

 

Bien évidemment et comme d’habitude, j’ai essayé de faire le plus simple possible pour que cela reste compréhensible par le plus grand nombre. Si toutefois, il vous manquait des informations, n’hésitez pas à laisser un commentaire et je complèterai.

 

Comme d'habitude, tous les commentaires sont les bienvenus.
Inscrivez-vous à la lettre d'information. Celle-ci vous parviendra dès la parution de nouveaux articles. Vous trouverez la zone d'inscription à la lettre d'information en haut à droite de l'écran.
 
Et enfin, pour toutes vos questions techniques, utilisez le forum. D 'autre utilisateurs pourront vous répondre et vous aider. Cliquez ici pour accéder au forum...

Un commentaire sur “C’est quoi cette faille Log4Shell ?”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.