Les équipes de CrowdStrike viennent de développer un outil permettant d’analyser rapidement les systèmes de fichiers à la recherche de la faille dans le but d’aider les organisations à limiter les risques et se protéger de manière efficace. Le 9 décembre dernier, le monde a découvert qu’une version récente d’une application de journalisation opensource apparemment inoffensive appelée Log4j contenait une vulnérabilité critique. En ajoutant une ligne spécialement conçue dans le champ « nom d’utilisateur » d’une page de connexion, des acteurs malveillants pouvaient prendre le contrôle des ordinateurs des victimes.
La vulnérabilité, publiée sous l’identifiant CVE-2021-44228, a donné lieu à une intensification des attaques dès qu’elle a été connue. L’équipe de CrowdStrike Services s’est attelée au développement d’un outil communautaire qui peut être utilisé pour analyser rapidement les systèmes de fichiers à la recherche de versions des bibliothèques de code Log4j afin d’aider les organisations à comprendre ce qu’elles doivent corriger pour atténuer leur risque.
L’outil gratuit CrowdStrike (appelé CrowdStrike Archive Scan Tool, ou CAST) effectue une recherche ciblée en analysant un ensemble donné de répertoires pour les fichiers JAR, WAR, ZIP et EAR, puis il effectue une analyse plus approfondie de ces types de fichiers en les comparant à un ensemble connu de sommes de contrôle pour les bibliothèques Log4j. « Nous aidons les entreprises à trouver n’importe quelle version de la bibliothèque Log4j affectée, n’importe où sur le disque, même si elle est profondément imbriquée dans plusieurs niveaux de fichiers d’archive », explique CrowdStrike.
Scanner chaque instance
CAST recherche environ 6 500sommes de contrôle SHA256 propres aux versions vulnérables connues. Il parcourt les fichiers ou les répertoires à l’intérieur des archives au format ZIP pour en trouver chaque instance. Lors du développement de l’outil, les développeurs de CrowdStrike ont pris en compte les éléments suivants :
- soyez attentif à la consommation de ressources lors de l’exécution d’un scan afin de minimiser l’impact sur les systèmes des utilisateurs finaux ;
- autorisez intentionnellement un nombre plus élevé de résultats faussement positifs, en laissant aux propriétaires du système le soin de décider si un résultat donné justifie une enquête plus approfondie ;
- il se peut que le nombre de faux positifs soit plus élevé parce que nous identifions toute trace de versions vulnérables de Log4j, même si la vulnérabilité a été corrigée en supprimant une ou plusieurs classes du déploiement ;
- les résultats devraient être extrêmement fiables, car ils sont basés sur des sommes de contrôle cryptographiques ;
- permettre l’utilisation de l’outil avec des systèmes de fichiers préindexés (par exemple, « locate ») pour éviter l’analyse et simplement passer les chemins des fichiers connus sur la ligne de commande. Par exemple, locate -0 *.jar | xargs— 0 ./cast ;
- fournir la possibilité de régler l’utilisation de la mémoire. Par exemple :
- – recursion0 pour désactiver l’analyse des sous-archives
- – recursion1 pour analyser seulement 1sous-archive en profondeur
- – maxmem1000000 pour limiter l’analyse des sous-archives à 1Mo (compressé).