
Log4shell (o CVE-2021-44228) è stata definita la vulnerabilità più critica dell’ultimo decennio, tanto che sui media si vociferava già di una probabile “apocalisse di internet”.
Log4shell, infatti, è un attacco illecito facente leva sui bug della libreria Java, uno dei linguaggi di programmazione più utilizzati al mondo.
Attraverso un attacco di questo tipo, un hacker, anche inesperto, è in grado di assumere il totale controllo di un sistema senza la necessità di un’autorizzazione o di un’eventuale autenticazione.
Ma come agisce nello specifico Log4Shell e quali sono i rischi per gli utenti?
In questo articolo approfondiremo caratteristiche e modalità d’aione di una delle più grandi minacce informatiche del nostro tempo.
Indice degli argomenti
Log4j è stata creata per differenti scopi deputati alla preservazione di un sistema. È un insieme di funzioni, che prende il nome di libreria; nello specifico è la libreria di Apache scritta in Java, il linguaggio di programmazione maggiormente conosciuto e impiegato sia per sistemi mobile che enterprise.
Tutte le applicazioni di un qualunque dispositivo hanno un sistema di logging (come Log4j) che garantisce il controllo delle funzionalità, scovando errori e malfunzionamenti.
Più in generale, i sistemi di logging hanno le seguenti funzionalità:
- generazione di statistiche
- generazione di messaggi di errore
- attivazione di ripristini
Come già detto, l’attività per la quale è largamente adoperata è lo storage di errori.
Log4j è la più sfruttata per la sua semplicità di utilizzo, data dalla presenza dei tag che contestualizzano le informazioni di log. Ciò significa che, grazie alla funzionalità della libreria, è possibile tradurre i tag in funzioni.
Ad esempio, il tag [$giorno] viene interpretato e tradotto dalla libreria nella funzionalità “giorno”, in cui la stringa stessa è convertita.
Log4shell è un exploit molto critico proveniente da Log4j 2, il sistema di registrazione di informazioni legate alle condizioni del sistema Java (sistema di logging).
Andando più nello specifico, è l’exploit legato alla funzionalità di Log4j nella generazione di messaggi di errore.
Questa funzione consentiva la modifica dei log attraverso la sostituzione di alcune stringhe. Ed è proprio questa funzionalità caratteristica che permette ad esterni l’introduzione di URL malevoli.
In ambito cybersecurity, è considerata una vulnerabilità zero-day poiché è stata ampiamente sfruttata dagli hacker prima che i fornitori degli applicativi diventassero consapevoli del problema.
Essendo Log4shell esente da ogni tipo di autenticazione dell’utente entrato nel sistema, è molto facile introdursi nei dispositivi che usufruiscono di Java.
Gli hacker possono entrare nel sistema semplicemente inviando una richiesta “http” al fine di reimpostare i log (ovvero le registrazioni degli eventi all’interno di un sistema informatico).
Il tag inserito nel sistema attraverso input esterni si chiama JNDI (Java Naming and Directory Interface) e viene quindi utilizzato per forzare la libreria e permettere così l’esecuzione di codici maliziosi.
Il sistema, infatti, dato l’inserimento di JINDI, leggerà ed eseguirà la nuova stringa inserita, portando ad esempio
- al dirottamento su domini malevoli
- all’esfiltrazione di dati
- al lancio di attacchi ransomware, ecc.
Sostanzialmente, l’hacker ottiene il completo e libero accesso al sistema appena corrotto.
I soggetti a rischio sono soprattutto le imprese, ma non sono esenti anche gli utenti comuni.
Aziende e organizzazioni che subiscono questo exploit possono trovarsi derubate dei loro dati sensibili o oggetto di un’estorsione digitale.
In maniera analoga, gli utenti privati rischiano:
- la perdita dei dati
- e il controllo digitale diretto e indiretto dei propri profili e dispositivi
Per farsi un’idea di quanto il proprio sistema informatico sia vulnerabile all’exploit Log4Shell solitamente si effettua con il controllo della librerie .
Ci sono principalmente due approcci di verifica:
- approccio proattivo, che consiste nel cercare la libreria in pericolo e, una volta individuata, nella sua attenta esaminazione per comprendere se c’è stato un tentativo di attacco;
- approccio reattivo, che prevede la ricerca nei log di sistema dei tentativi di accesso illeciti, in modo da individuare i software a rischio
Sorge così spontanea quanto lecita dunque la seguente domanda: come ci si protegge da Log4shell?
Anzitutto c’è da considerare la somiglianza alla biblioteca Log4j la rende simile all’attacco supply chain.
Log4shell si sta diffondendo sempre più ed è dannosa per la maggior parte delle versioni di Log4j, dalla 2.0 beta nove fino alla 2.14.1.
Le soluzioni in merito sono differenti, e ognuna è calzante per ciascuna versione.
Ad esempio, fino alla versione 2.10.0 occorre rimuovere JndiLookup e installare soluzioni di sicurezza.
Secondo alcuni è necessario effettuare un patch delle vulnerabilità attraverso un sistema di sicurezza o uno scanner.
Affinché, però. gli interventi di messa in sicurezza abbiano effetto, bisogna osservare questi tre passaggi fondamentali:
1. il riconoscimento di tutti gli advice che sfruttano il sistema di logging Log4j e la loro successiva messa in sicurezza attraverso l’istallazione degli ultimi aggiornamenti, ovvero 2.15.0, 2.13.2 e 2.8.2
2. la consultazione degli indici di implementazione
3. l’utilizzo integrato di un vulnerability scanner per riconoscere in anticipo i possibili bug dei sistemi, preservandone così l’integrità. Un esempio è Log4j-scan
Oltre ciò, per un’azione preventiva limitata e temporanea, è consigliabile anche :
- attivare Log4shell-detector
- consultare periodicamente gli elenchi dei possibili software attaccabili da Log4shell
- installare patch e aggiornamenti di sicurezza in modo costante
- disabilitare JNDI, cosicché il logger non possa essere più in grado di agire in base ai dati sul registro
- implementare sistemi di autenticazione a due fattori
E’ stato visto che l’exploit Log4shell rappresenta una delle minacce più pericolose degli ultimi tempo, poiché potenzialmente in grado di attaccare tre miliardi di dispositivi: ovvero tutti quelli che fanno uso del linguaggio di programmazione Java.
Trattandosi di un bug relativo a un codice informatico, oltre che attenersi alle principali raccomandazioni e alle direttive per la prevenzione, occorre necessariamente affidarsi a degli esperti di sicurezza informatica.
Cyberment Srl
Cyberment è un’azienda specializzata in consulenza di sicurezza informatica. Il nostro red team è composto da hacker etici e specialisti in cybersecurity che operano in questo settore da oltre 20 anni.
Ci occupiamo di identificare le vulnerabilità informatiche nei sistemi e nelle applicazioni web tramite servizi di Vulnerability Assessment e Penetration Test.
Siamo un’azienda di sicurezza informatica certificata ISO 9001, ISO 27001, nonché azienda etica. Abbiamo sede legale a Milano e sede operativa a Porto Mantovano, mentre Londra è il cuore del nostro reparto ricerca e sviluppo.
Se desideri conoscere in modo approfondito i nostri servizi di prevenzione dalle minacce informatiche, contattaci!
- Autore articolo
- Gli ultimi articoli

Responsabile Marketing per due aziende leader nel settore della Sicurezza Informatica: organizzo e progetto iniziative di diffusione della cultura cybersecurity e dei rischi cyber-crime attraverso contenuti web, eventi on e off line e materiale info-grafico. Ho una naturale propensione per far coesistere il lato metodico e preciso del mio carattere con la parte più creativa, visionaria e ambiziosa di me. Sono curiosa, riflessiva e non metto freni alla mia fame di conoscenza.