La vulnérabilité critique actuelle qui affecte la plupart des grandes organisations, gouvernements, applications et autres fournisseurs de services en ligne est reliée à une librairie du langage de programmation Java qui se nomme Log4j.
Log4j est développé en « source libre » (et est disponible gratuitement) par une petite communauté de développeurs bénévoles. Plus spécifiquement, il s’agit de trois bénévoles de la communauté de la Fondation Apache.
De manière générale, le langage de programmation Java est utilisé afin de développer des applications en ligne, contrairement à d’autres langages de programmation qui sont plus propices à d’autres environnement. Par exemple, le langage C++ est plus utilisé pour développé des applications sur PC. Bref, chaque langage de programmation est plus utilisé dans certains milieux. Pour Java, le web est son environnement favori.
Plus spécifiquement, Log4j est utilisé afin de faciliter la journalisation de l’information à travers une application web. C’est d’aillleurs d’où provient son nom. « Log » signifie « journal » en anglais. En gros, cette librairie permet à une application web de bien journaliser (ou « archiver » si on veut) de l’information. Elle permet de créer un grand livre de toutes les activités / actions / contenu qui sont utilisés à travers une application web. Par exemple, elle va permettre de journaliser des contenus de discussions en ligne, à travers les systèmes de messagerie. Donc tout ce qui se dit entre des utilisateurs pourraient être journalisés par Log4j. De là, en fait, la grande faille.
En gros, quelqu’un peut envoyer des messages qui sont journalisés par Log4j comme s’ils étaient des simples messages dans un chat, mais en fait, ce sont des lignes de codes. Et le système les interprête alors comme une ligne de code et exécute la commande relié à ce code.
Qui est affecté?
Puisqu’il s’agit d’une vulnérabilité dans une librairie Java, nous pouvons considérer que la majorité des grandes entreprises offrant des solutions web (les « as-a-Service » de ce monde) et / ou ayant une infrastructure web / étant accessible par le Web sont affectées. Une liste non-exhaustive de ces entreprises est disponible ici, à noter que cette liste n’inclut pas les clients de ces entreprises, qui sont donc vulnérables aussi. Ce qui signifie que le nombre d’entreprises et organisations affectées se compte en centaines de milliers, voire millions. Notamment, on y retrouve Apple, Amazon, Steam, ainsi que des jeux en ligne tels que Minecraft, etc.
Historique
Le 30 novembre dernier, cette équipe de développeurs a été mis au courant d’un vulnérabilité critique Log4j qui permettait à un acteur malveillant d’injecter des lignes de codes qui, lorsqu’elles passaient dans les filets de Log4j, faisait en sorte que le système détectait ces lignes de codes comme une requête à exécuter. Plus particulièrement, par exemple, à travers un service de messagerie en ligne, un utilisateur pouvait envoyer une ligne de code à un autre utilisateur et l’application Log4j analyserait cette ligne de code comme une requête à exécuter.
Ce n’est que le 9 décembre que la communauté s’est rendue compte des réels enjeux et implications de cette vulnérabilité et tout à déboulé à partir de là. Notamment car il y avait déjà des cas d’utilisation actives de cette vulnérabilité « in-the-wild », c’est-à-dire envers certaines entreprises et organisations.
Depuis vendredi, les équipes TI de toutes les entreprises et gouvernements travaillent d’arrache pied à identifier les systèmes internes utilisant ces librairies, effectuer les mise-à-jour et rustines et identifier les fournisseurs vulnérables qui n’ont pas appliqués les rustines. Notamment, le gouvernement du Québec et celui du Canada ont mis certains de leurs sites hors-ligne le temps d’effectuer les corrections et révisions.
Criticité
Depuis le 9 décembre, la vulnérabilité s’est fait assigner un code de criticité de 10, sur une échelle de 1 à 10. Plus spécifiquement, elle possède un score CVSS de 10. Le CVSS est le le « Common Vulnerability Scoring System (CVSS) ». C’est un « cadre ouvert pour communiquer les caractéristiques et la gravité des vulnérabilités logicielles ». L’échelle est de 1 à 10. 10 étant le plus haut niveau de criticité. Cette échelle est utilisée par les entreprises, gouvernements et organisations afin de déterminer la réponse à prendre par rapport à une vulnérabilité.
Qui plus est, la vulnérabilité s’est également vue assigner un numéro de vulnérabilité, afin que les experts en sécurité de l’information / cybersécurité / « équipe bleue » (équipe défensive) en cybersécurité puissent s’informer sur celle-ci et sur les mesures de mitigation à prendre afin de corriger la situation. Le numéro de cette vulnérabilité est le CVE-2021-44228.
Les enjeux
Pour le grand public, les enjeux sont relatifs, mais peuvent être très critiques. Tout d’abord, cette vulnérabilité n’affecte pas directement les usagers au niveau de leurs systèmes d’exploitation et leur infrastructure à domicile (bien que certains fabricants de routeurs ont été affectés), mais cette vulnérabilité affecte surtout les données et les renseignements de ces usagers à travers tous leurs fournisseurs de services, qu’ils soient gouvernementaux, économiques, technologiques, financiers, etc. Bref, cette vulnérabilité vise surtout les entreprises et donc, par design, les données qu’elles possèdent. Les usagers doivent donc s’assurer que les entreprises avec lesquelles ils font affaires fassent un audit de leurs systèmes et mettent les systèmes vulnérables à jour. Sinon, cela pourrait résulter à de l’exfiltration de données des usagers/utilisateurs/clients, de la fraude, et ainsi de suite.
Demandez aux entreprises dont vous êtes clients de faire leur mise-à-jour! Et demandez leur de publier, sur leurs sites web, une confirmation de cette mise-à-jour, pour vous protéger!