Che cos'è la vulnerabilità Log4j?
Iscriviti alla newsletter IBM Esplora IBM Security QRadar
Persona seduta alla scrivania dell'ufficio e che utilizza un computer portatile

La vulnerabilità Log4J, conosciuta anche come "Log4Shell", è una vulnerabilità critica scoperta nella libreria di registrazione Apache Log4j nel novembre del 2021. Sostanzialmente, Log4Shell dà agli hacker il controllo totale dei dispositivi eseguendo versioni di Log4J senza patch. Gli autori delle aggressioni possono utilizzare l'errore per eseguire praticamente qualsiasi codice sui sistemi vulnerabili.

I ricercatori considerano Log4Shell una vulnerabilità di sicurezza "catastrofica" a causa della sua diffusione e della sua facilità di sfruttamento. Log4J, infatti, è uno dei programmi open source più ampiamente utilizzati al mondo.Jen Easterly, direttrice della US Cybersecurity and Infrastructure Security Agency (CISA), l'ha definita "una delle più gravi che ho visto in tutta la mia carriera, se non addirittura la più grave".

Log4Shell ha provocato un'ondata di attacchi informatici nel dicembre del 2021. Fra il 2020 e il 2021, l'X-Force Threat Intelligence Index di IBM ha registrato un aumento del 34% nelle vulnerabilità, attribuito principalmente a Log4Shell.

Log4Shell è stato patchato poco dopo essere stato scoperto, ma rappresenterà un rischio per anni, perché Log4J è profondamente incorporato nella catena di fornitura del software. Il Dipartimento di sicurezza nazionale degli Stati Uniti (PDF, link esterno a ibm.com) stima che ci vorrà almeno un decennio per trovare e correggere tutte le istanze vulnerabili.

Cos'è Log4J?

Log4j è un framework di registrazione sviluppato dalla Apache Software Foundation. Come suggerisce il nome, Log4J è un programma di registrazione che registra informazioni importanti, come messaggi di errore e input degli utenti in un programma.

Log4J è una libreria di software open source, un pacchetto di codice pre-scritto che gli sviluppatori possono utilizzare liberamente. Invece di scrivere i propri programmi di registrazione, gli sviluppatori possono collegare la libreria Log4J nelle loro app. Questa comodità è il motivo per cui Log4J è così diffuso e integrato nei prodotti delle organizzazioni più importanti come Microsoft e Amazon, solo per nominarne alcune.

In che modo gli hacker sfruttano Log4Shell

Log4Shell (identificativo Common Vulnerability and Exposure (CVE) CVE-2021-44228) è una vulnerabilità di esposizione (RCE) presente in alcune versioni di Log4J. L'errore interessa Apache Log4J, versione 2.14.1 e precedenti. Log4J 2.15 e versioni successive, così come tutte le versioni di Apache Log4J 1, non sono interessate.

Log4Shell nasce dal modo in cui le versioni precedenti di Log4J gestisce le ricerche Java Naming and Directory Interface (JNDI). JNDI è un'interfaccia di programmazione delle applicazioni (API) che le applicazioni Java utilizzano per accedere alle risorse in hosting su server esterni. Una ricerca JNDI è un comando che dice all'app di andare su un server e scaricare un oggetto specifico, come dati o script.Le versioni più vecchie di Log4J eseguono automaticamente qualsiasi codice scaricato in questo modo. 

Gli utenti possono inviare ricerche JNDI a versioni vulnerabili di Log4J includendole in messaggi di log. E farlo non è difficile. Ad esempio, nelle versioni più vecchie di Minecraft Java Edition, che utilizza Log4J per registrare i messaggi degli utenti, un utente può digitare la ricerca JNDI nella finestra di conversazione pubblica.

Gli hacker possono utilizzare questa funzionalità JNDI per eseguire da remoto codice arbitrario dannoso. Per prima cosa, impostano un server utilizzando un protocollo comune, come Lightweight Directory Access Protocol (LDAP) per evitare di attirare l'attenzione. Successivamente, memorizzano un payload malevolo sul server, ad esempio un file di malware. Infine, inviano una ricerca JNDI a un programma, dicendogli di andare sul server LDAP dell'aggressore, scaricare il payload ed eseguire il codice.

L'impatto di Log4Shell

I ricercatori della sicurezza del colosso tecnologico Alibaba hanno scoperto Log4Shell il 24 novembre del 2021. La vulnerabilità ha immediatamente ricevuto il più alto punteggio possibile del Common Vulnerability Scoring System (CVSS): 10 su 10. I fattori che hanno contribuito a questa valutazione sono molteplici.

  • Log4Shell era una vulnerabilità zero-day, il che significava che, quando è stata scoperta, non esistevano patch. Gli attori della minaccia sono riusciti a sfruttare Log4Shell mentre Apache stava cercando una correzione.

  • Log4J è anche una delle librerie di registrazione più utilizzate al mondo, integrata negli endpoint dei consumatori, nelle applicazioni web e nei servizi cloud aziendali. Secondo Wiz e EY, quando Log4Shell è stato scoperto, il 93%, tutti gli ambienti cloud erano a rischio (link esterno a ibm.com).

  • Le aziende non sono sempre in grado di capire immediatamente se sono vulnerabili. Log4J è spesso presente nelle reti come dipendenza indiretta, il che significa che gli asset dell'azienda potrebbero non utilizzare Log4J, ma affidarsi ad altre app o servizi che invece lo usano.

  • Infine, Log4Shell è molto semplice da sfruttare. Gli hacker non hanno bisogno di autorizzazioni o autenticazioni speciali: possono provocare danni digitando i comandi malevoli all'interno di moduli pubblici, come caselle di chat e pagine di accesso. Inoltre, poiché Log4J può comunicare con altri servizi sullo stesso sistema, gli hacker possono utilizzare Log4J per passare i payload ad altre parti del sistema.

Il 9 dicembre 2021, il codice proof-of-concept su come sfruttare Log4Shell è stato pubblicato su GitHub e gli hacker hanno iniziato a sferrare un attacco dietro l'altro. Grandi aziende e servizi, come Minecraft, Twitter e Cisco, si sono trovati esposti. Al culmine dell'attività di Log4Shell, Check Point rilevava oltre 100 attacchi al minuto rivolti a più del 40% delle reti aziendali globali (link esterno a ibm.com).

I primi attacchi diffondevano botnet e malware di cryptomining. Alcuni hacker utilizzavano l'errore per lanciare attacchi senza file, inviando script malevoli ai computer Windows e Linux per fargli divulgare le password e altre informazioni sensibili.

Diverse gang di ransomware hanno approfittato di Log4Shell.In particolare, gli hacker hanno diffuso il ceppo di ransomware Khonsari tramite Minecraft, mentre il ransomware Night Sky prendeva di mira i sistemi che eseguivano VMware Horizon.

Anche gli attori degli stati-nazione si sono uniti a loro. Alcuni hacker associati a Cina, Iran, Corea del Nord e Turchia hanno infatti sfruttato questa vulnerabilità.

Risposta a Log4Shell

Apache ha implementato la prima patch (Log4J versione 2.15.0) il 10 dicembre 2021. Tuttavia, la patch ha lasciato esposta un’altra vulnerabilità, CVE-2021-45046, che consentiva agli hacker di inviare comandi malevoli ai log con determinate impostazioni non predefinite.

Apache ha rilasciato una seconda patch (Log4J versione 2.16.0) il 14 dicembre 2021. Anch’essa presentava un difetto, ovvero CVE-2021-45105, che consentiva agli hacker di lanciare attacchi Denial of Service (DoS).

La terza patch, Log4J versione 2.17, ha corretto il difetto DoS ma ha lasciato un'ultima vulnerabilità, CVE-2021-44832,che ha permesso agli hacker di prendere il controllo di un componente Log4J denominato "appender" per eseguire codice remoto. Apache ha affrontato questo problema con una quarta e ultima patch, Log4J versione 2.17.1. 

La persistenza di Log4Shell

Sebbene Log4J 2.17.1 abbia chiuso Log4Shell e tutte le relative vulnerabilità da parte di Apache, le minacce informatiche sfruttano ancora l'errore. Fino a maggio 2023, Log4Shell è rimasta una delle vulnerabilità maggiormente sfruttate (link esterno a ibm.com).

Log4Shell persiste per diversi motivi.

Il primo è che Log4J è sepolto in profondità nella catena di fornitura software di molte aziende. Oggi molte app vengono realizzate assemblando librerie software open source preesistenti. Si tratta senz'altro di un processo comodo, ma significa anche che le organizzazioni hanno una visibilità limitata su tutti i componenti che costituiscono le loro applicazioni. Non vedere le vecchie versioni di Log4J è facile.

Quando viene applicata una patch a una versione vulnerabile di Log4J, non è detto che valga per sempre. Nel novembre 2022, Tenable ha riferito (link esterno a ibm.com) che il 29% degli asset ancora vulnerabili a Log4Shell presentavano "recidive". Erano stati patchati in passato, ma l'errore era ricomparso. Questo scenario si verifica perché, quando le persone creano o aggiornano app, a volte utilizzano accidentalmente librerie software che contengono ancora versioni di Log4J senza patch.

Infine, gli hacker hanno sviluppato un modo intelligente per far sparire le proprie tracce. Secondo il CISA (link esterno a ibm.com), alcuni hacker utilizzano Log4Shell per entrare in una rete e poi effettuano la patch dell'asset. L'azienda pensa che sia sicuro, ma gli hacker sono già "dentro".

Attenuazione e correzione

Le ultime versioni di Log4J non contengono più Log4Shell. Gli esperti di sicurezza informatica consigliano ai team di sicurezza di assicurarsi che tutte le istanze di Log4J nei loro sistemi siano aggiornate.

L'aggiornamento di Log4J può essere un processo lento, poiché le aziende spesso hanno bisogno di scavare in profondità nelle proprie risorse per trovarlo. Nel frattempo, i team di sicurezza possono utilizzare strumenti di scansione continua delle vulnerabilità e di rilevamento delle minacce come le piattaforme di gestione della superficie di attacco (ASM) e di rilevamento e risposta degli endpoint (EDR) per monitorare gli asset che si affacciano su Internet. Gli esperti raccomandano ai team di risposta agli incidenti di esaminare accuratamente qualsiasi indizio di attività di Log4Shell.

Dopo che Log4Shell è diventato pubblico, molti firewall, sistemi di rilevamento delle intrusioni (IDS) e sistemi di prevenzione delle intrusioni (IPS) hanno aggiunto regole per individuare lo sfruttamento di Log4Shell. Questi strumenti possono aiutare i team di sicurezza a rilevare e bloccare il traffico proveniente da server controllati dagli autori degli attacchi. 

Sequenza temporale di Log4Shell
  • 18 luglio 2013: Apache rilascia Log4J 2.0-beta9, la prima versione a supportare il plug-in JNDI. Sebbene la vulnerabilità venga scoperta solo anni dopo, da questo momento in poi nasce Log4Shell.

  • 24 novembre 2021: I ricercatori della sicurezza di Alibaba scoprono Log4Shell e lo segnalano ad Apache. Apache inizia a lavorare su una patch ma non rilascia un'informativa di sicurezza pubblica.

  • 9 dicembre 2021: I ricercatori della sicurezza di Alibaba scoprono prove del fatto che Log4Shell sia argomento di discussione all'esterno, e il codice exploit proof-of-concept viene postato su GitHub.

  • 10 dicembre 2021: Apache pubblica la prima patch, e gli sviluppatori di Minecraft scoprono Log4Shell in Minecraft Java Edition. La community di cybersecurity si accorge rapidamente della gravità della situazione, e le organizzazioni si affrettano a chiudere i propri sistemi.

  • 11 dicembre 2021: Cloudflare trova prove che gli attori delle minacce hanno iniziato a sfruttare Log4Shell prima di quanto si pensasse, già il 1° dicembre.

  • 14 dicembre 2021: viene scoperto CVE-2021-45046 e Apache rilascia una patch per risolverlo.

  • 17 dicembre 2021: viene scoperto CVE-2021-45105 e Apache rilascia una patch per risolverlo.

  • 28 dicembre 2021: viene scoperto CVE-2021-44832 e Apache rilascia una patch finale. A partire dalla versione 2.17.1 di Log4J, Log4Shell è stato completamente corretto.

  • 4 gennaio 2022: la Federal Trade Commission (FTC) degli Stati Uniti (link esterno a ibm.com) annuncia che intende perseguire tutte le aziende che espongono i dati dei consumatori agli hacker perché non hanno affrontato il problema di Log4Shell.

  • Maggio 2023: Check Point rileva che Log4Shell è ancora la seconda vulnerabilità più comunemente sfruttata. 

Soluzioni correlate
IBM® Security QRadar Suite

Supera in astuzia gli attori delle minacce con una suite di sicurezza connessa e modernizzata. Il portafoglio QRadar incorpora AI di grado aziendale e offre prodotti integrati per la sicurezza degli endpoint, la gestione log, SIEM e SOAR, il tutto con un'interfaccia utente comune, conoscenze condivise e workflow connessi.

Esplora QRadar Suite
Soluzioni per la sicurezza e la protezione dei dati

Implementate on-premises o in un cloud ibrido, le soluzioni IBM per la sicurezza dei dati aiutano a acquisire maggiore visibilità e insight per indagare e porre rimedio alle minacce informatiche, applicare controlli in tempo reale e gestire la conformità normativa.

Esplora le soluzioni per la sicurezza e la protezione dei dati
Team di risposta agli incidenti X-Force

L'individuazione proattiva, il monitoraggio continuo e un'analisi approfondita delle minacce sono solo alcune delle priorità che un reparto IT già molto impegnato deve affrontare. Disporre di un team di risposta agli incidenti affidabile e pronto a intervenire può ridurre i tempi di risposta, minimizzare l'impatto di un attacco informatico e aiutarti a recuperare con maggior rapidità.

Esplora la risposta agli incidenti di X-Force
Risorse La guida definitiva agli exploit zero-day

Scopri tutto ciò che devi sapere sugli exploit zero-day e sul ruolo cruciale che svolgono nella sicurezza. Di Randori, un'azienda IBM.

Cos'è un attacco informatico?

Gli attacchi informatici sono tentativi di rubare, esporre, alterare, disabilitare o distruggere gli asset di altre persone tramite l'accesso non autorizzato ai sistemi informatici.

Che cos'è la gestione delle vulnerabilità?

La gestione delle vulnerabilità consiste nella continua scoperta e risoluzione delle falle di sicurezza nell'infrastruttura IT e nel software di un'organizzazione.

Fai il passo successivo

IBM Security QRadar EDR, in precedenza ReaQta, corregge le minacce degli endpoint conosciute e sconosciute quasi in tempo reale con un'automazione intelligente di facile utilizzo che richiede una minima interazione dell'utente. Prendi decisioni rapide e informate con le storyboard di visualizzazione degli attacchi. Utilizza la gestione automatizzata degli avvisi per concentrarti sulle minacce più urgenti. E proteggi la continuità aziendale con funzionalità avanzate di AI ad apprendimento continuo.

Maggiori informazioni su QRadar EDR Richiedi una demo di QRadar EDR