L'exploit Log4j, appelé Log4Shell ou CVE-2021-44228 par certains, a fait l'actualité ces dernières semaines. C'est mauvais! Il y en a partout! Mais qu'est-ce que c'est, vraiment ? Comment a-t-il fait son chemin sur des millions de serveurs ? Et comment se protéger des conséquences de cette faille de sécurité ?


Ce ne sont pas des données, c'est du code !

Au cœur du problème avec Log4j se trouve une confusion entre les données simples et les commandes exécutables. Les codeurs malveillants exploitent ce type de confusion pratiquement depuis toujours.

À l'époque des virus informatiques basés sur DOS, les programmes sur disque étaient simplement copiés directement dans la mémoire et lancés. Les premiers virus se sont ajoutés sous la forme d'un bloc de données à la fin du programme hôte. En modifiant un ou deux octets au début du programme, ils obligeaient DOS à exécuter le code du virus avant de lancer le programme. Et le virus s'est ajouté à d'autres programmes au cours de sa brève exécution.

Les programmes Windows, appelés programmes Portable Executable (PE), sont beaucoup plus sophistiqués. Divers blocs d'informations se chargent dans la zone de mémoire appropriée, et ces blocs sont marqués comme code ou données. Même ainsi, les malfaiteurs ont géré des attaques qui ont forcé l'exécution de ce qui était censé être des données. Les versions modernes de Windows utilisent la prévention de l'exécution des données (DEP) et la randomisation de la disposition de l'espace d'adresse (ASLR) pour déjouer de telles attaques.


Java et Open Source

Log4j est écrit en Java, ce qui signifie qu'il ne dispose pas intrinsèquement de protections telles que DEP et ASLR. D'autre part, c'est un package open-source. Cela signifie que n'importe qui (enfin, n'importe qui avec des compétences en codage) peut lire le code source, repérer les bogues et contribuer à l'amélioration du paquet.

La théorie est que le code open-source est plus sûr parce qu'il a été examiné par de nombreuses paires d'yeux et parce qu'il n'y a aucune possibilité qu'une porte dérobée ou une autre fonctionnalité indésirable se cache dans le code. Lorsque la bibliothèque impliquée est très sensible, impliquant peut-être un cryptage, elle fait vraiment l'objet d'un examen minutieux. Mais apparemment, ce simple module d'écriture de journal n'a pas reçu suffisamment d'attention.


Pourquoi est-ce partout ?

Lorsqu'il y a une faille de sécurité dans un système d'exploitation ou un navigateur populaire, cela n'affecte généralement que les utilisateurs de ce système d'exploitation ou de ce navigateur. L'éditeur élabore une nouvelle version qui corrige le trou, publie une mise à jour et tout va bien.

Log4j est différent. Ce n'est pas un système d'exploitation, ni un navigateur, ni même un programme. C'est plutôt ce que les codeurs appellent une bibliothèque, un package ou un module de code. Il sert un seul objectif : tenir un journal de ce qui se passe sur un serveur.

Les personnes qui écrivent du code veulent se concentrer sur ce qui rend leur programme unique. Ils ne veulent pas réinventer la roue. Ainsi, ils s'appuient sur des bibliothèques infinies de code existant, telles que Log4j. Le module Log4j provient d'Apache, qui est le logiciel de serveur Web le plus utilisé. Et c'est pourquoi on le trouve sur des millions de serveurs.


Qui est la victime ici ?

Voici un point important. Les attaques utilisant la vulnérabilité dans Log4j sont ne pas visant à vous. Un pirate qui l'oblige à enregistrer une ligne de texte qui devient une commande vise à installer un logiciel malveillant sur le serveur. Microsoft rapporte que des pirates informatiques parrainés par l'État l'utilisent, susceptibles de pousser des ransomwares. Apple, Cloudflare, Twitter, Valve et d'autres grandes entreprises ont été touchées.

Vous avez peut-être vu (ou parcouru) une vidéo YouTube dans laquelle un chercheur en sécurité a démontré la prise en charge d'un serveur Minecraft en utilisant rien de plus qu'un chat en jeu. Cela ne signifie pas que cela a affecté les joueurs impliqués dans le chat. Cela signifie que le chercheur a forcé le serveur exécuter du code arbitraire.

Recommandé par nos rédacteurs

Mais ne vous détendez pas tout de suite. Un pirate qui peut exécuter du code arbitraire sur le serveur affecté dispose d'options illimitées. Bien sûr, une attaque de ransomware contre le propriétaire du serveur pourrait être très lucrative, tout comme la cooptation du serveur pour faire du minage de bitcoins. Mais il est également possible que le pirate puisse subvertir le serveur, l'amenant à infliger des logiciels malveillants aux visiteurs des sites Web hébergés sur ce serveur.


Que puis-je faire?

L'exploit Log4j n'est qu'une des nombreuses failles de sécurité exploitées par de mauvais acteurs. Les CISA catalogue des vulnérabilités exploitées répertorie 20 trouvés en décembre seulement. En regardant de plus près, vous verrez que certains sont déjà corrigés, mais d'autres ont un correctif qui n'est pas prévu avant six mois ou plus. Peu auront l'impact de l'exploit Log4j, bien sûr.

Quant à la protection contre Log4j côté serveur, c'est ridiculement simple. Il existe un paramètre qui contrôle si le système de journalisation peut interpréter les données comme du code. Désactiver cet interrupteur fait le travail. Naturellement, Apache a publié une mise à jour du module de code, mais certains chercheurs signalent que le seul changement significatif dans la mise à jour est que ce commutateur est désactivé par défaut.

Comme indiqué, Log4j est un code conçu pour les serveurs et l'attaque par exploit affecte les serveurs. Néanmoins, vous pouvez être indirectement affecté si un pirate l'utilise pour désactiver un serveur qui est important pour vous, ou tente d'utiliser le serveur pour des téléchargements en voiture ou d'autres attaques de logiciels malveillants.

Il n'y a rien toi pouvez faire pour éviter l'impact d'un démontage de serveur, mais vous pouvez protégez-vous contre ces attaques secondaires en installant un puissant utilitaire antivirus et en le mettant à jour. Faites votre part en restant attentif aux fraudes par hameçonnage, en utilisant un gestionnaire de mots de passe et en exécutant votre trafic Internet via un réseau privé virtuel ou VPN. Garder vos propres données, appareils et connexions sécurisés signifie que vous ne serez probablement pas affecté par les retombées d'une attaque d'exploit Log4j.

Vous aimez ce que vous lisez ?

Inscrivez vous pour Veille de sécurité newsletter pour nos meilleures histoires de confidentialité et de sécurité livrées directement dans votre boîte de réception.

Cette newsletter peut contenir des publicités, des offres ou des liens d'affiliation. L'inscription à une newsletter indique votre consentement à notre Conditions d'utilisation et Politique de confidentialité. Vous pouvez vous désabonner des newsletters à tout moment.

Laisser un commentaire