Ancora una volta il mondo della tecnologia informatica è sconvolto dalla scoperta di una vulnerabilità distribuita su un'enorme quantità di sistemi informatici, secondo alcune stime si arriverebbe al 70% dei sistemi web esistenti su internet.
Ma procediamo con ordine, per quanto possibile...
Il 24 novembre 2021, il ricercatore di sicurezza Chen Zhaojun di Alibaba Cloud Security Team ha scoperto una vulnerabilità su una libreria java di Apache in uso sin dal 2013. Le versioni affette dalla vulnerabilità sono quelle che vanno dalla 2.0 alla 2.15.0-rc1 e nel giro di pochi giorni altri ricercatori hanno scoperto nuove vulnerabilità in versioni anche successive.
Patch e versioni si inseguono... al momento in cui scrivo è uscita una nuova versione della libreria, la 2.17. Sarà interessante verificare se questa nuova versione sarà esente da problemi. Ricordiamo sempre che la fretta è cattiva consigliera.
La vulnerabilità trovata è del tipo RCE, ovvero "remote code execution". Si tratta di una vulnerabilità che consente ad un attaccante di fornire istruzioni ad un sistema affinché venga scaricato ed eseguito codice malevolo (per i più curiosi consiglio l'articolo di unit42).
Al momento sono segnalati come a rischio i seguenti software e sistemi: Apache Struts, Apache Solr, Apache Druid, Apache Flink, ElasticSearch, Flume, Apache Dubbo, Logstash, Kafka, Spring-Boot-starter-log4j2, Cloudflare, iCloud, Minecraft: Java Edition, Steam, Tencent QQ, Twitter. Ma come è facile rendersi conto attraverso qualche semplice ricerca su internet, i prodotti delle principali società ICT che fanno uso di Apache Log4j sono tantissimi, per esempio CISCO ha pubblicato una tabella che per motivi di spazio non riporto, ma che potete consultare a questo link.
Il mondo Microsoft ha segnalato i propri prodotti colpiti dalla vulnerabilità e fornito le indicazioni per risolverla. Se invece usate sistemi Linux non pensate di essere più al sicuro, in questo articolo potrete trovare indicazioni su come capire se siete vulnerabili.
Un ultimo dettaglio, il livello di pericolosità della vulnerabilità, conosciuto universalmente come Common Vulnerability Scoring System (CVSS) attribuito alla vulnerabilità è pari a 10, il massimo possibile. Un indice molto impiegato relativo al rischio è anche il Kenna Risk Score che, nel nostro caso è pari ad 87 su 100, un valore eccezionalmente alto.
Parlare di livello di rischio mi consente di fare un'ultima considerazione che riguarda in generale il mondo della sicurezza o delle cosiddette "verità" del mondo della sicurezza. Immagino che sia capitato un po' a tutti di sentir dire che i software open source sono più sicuri di quelli proprietari in quanto il loro codice è disponibile a chiunque per le analisi di sicurezza. A me è capitato di sentirlo dire tante volte nel corso della mia vita; tuttavia, se da un lato condivido il valore dell'affermazione, dall'altro lato vorrei mettere in evidenza alcuni concetti che forse non sono chiari a tutti:
- Un software open source (come qualunque altro software proprietario!) non può essere considerato esente da problemi solo ed esclusivamente sulla base di una affermazione generica di possibilità di controllo.
- Affermare che i software open source sono più sicuri - per la possibilità data a chiunque di verificarne il codice - è pericoloso. Infatti la maggior parte di coloro che li utilizzano (e tra questi metto anche gli sviluppatori che li riutilizzano nei loro prodotti) non ha né le conoscenze per fare le verifiche necessarie né tantomeno alcuna motivazione a farlo, anzi.
So benissimo che quanto sto dicendo non farà piacere a tanti, ma questa non è che l'ultima prova di quanto dico: Log4j è open source eppure ci sono voluti anni per capire quali problemi possa causare, Heartbleed è un secondo esempio. Con ciò non voglio dire di essere contro l'uso dei software open source, ma di essere contro il loro uso "selvaggio e indiscriminato", senza adeguato supporto, in quanto aumenta il livello di rischio!
L'ultima considerazione è relativa al fatto che la scoperta sia arrivata da un "laboratorio dell'altra parte del mondo" e che ora occorre correre al riparo. E quando dico correre, intendo proprio questo...
Per approfondire:
- Log4Shell Vulnerability is the Coal in our Stocking for 2021 | McAfee Blogs
- CVE - CVE-2021-44228 (mitre.org)
- Log4j Vulnerability: Everything You Need To Know About the Zero-Day Flaw | Toolbox It Security
- Informatica Network: Informatica Response to Ap...
- Apache log4j Vulnerability CVE-2021-44228: Analysis and Mitigations (paloaltonetworks.com)
- How Risky Is the Log4J Vulnerability? (darkreading.com)
- Log4j CVE 2021-44228: Systems Affected and Impact… | Bishop Fox