Che cos'è la vulnerabilità Log4j?

Che cos'è la vulnerabilità Log4j?

La vulnerabilità Log4j, conosciuta anche come Log4Shell, è una vulnerabilità critica scoperta nella libreria di registrazione Apache Log4j nel novembre del 2021. Sostanzialmente, Log4Shell concede agli hacker il controllo totale dei dispositivi eseguendo versioni di Log4j senza patch.

Gli attori malintenzionati possono utilizzare la falla Log4j per eseguire quasi qualsiasi codice sui sistemi vulnerabili.

I ricercatori considerano Log4Shell una vulnerabilità di sicurezza "catastrofica" perché è particolarmente diffusa, Log4J è uno dei programmi open source più diffusi al mondo e così facile da usare. Jen Easterly, direttrice della US Cybersecurity and infrastructure Security Agency (CISA), l'ha definita "una delle vulnerabilità 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. L'IBM X-Force Threat Intelligence Index annuale ha registrato un aumento del 34% nello sfruttamento delle vulnerabilità tra il 2020 e il 2021, attribuito principalmente a Log4Shell.

Log4Shell è stato patchato poco dopo essere stato scoperto, ma rappresenterà un rischio per anni, perché Log4J è profondamente incorporato nella supply chain del software. Il Dipartimento di sicurezza nazionale degli Stati Uniti stima che ci vogliano almeno dieci anni per trovare e risolvere ogni istanza vulnerabile.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

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 citarne alcune.

Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come gli hacker utilizzano Log4Shell

Log4Shell, Common Vulnerability and Exposure (CVE) identificatore 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'application programming interface (API) che le applicazioni Java utilizzano per accedere alle risorse in hosting su server esterni. Un JNDI lookup è 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 un codice arbitrario dannoso. Innanzitutto, l'hacker imposta un server che utilizza un protocollo comune, come Lightweight Directory Access Protocol (LDAP) per evitare di attirare l'attenzione. Successivamente, l'hacker memorizza un payload malevolo sul server, ad esempio un file di malware. Infine, invia 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 prima era una vulnerabilità zero-day, il che significava che, quando è stata scoperta, non esistevano patch. Gli attori delle minacce potrebbero utilizzare Log4Shell mentre Apache sta lavorando a una soluzione.

  • 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 ed EY, il 93% di tutti gli ambienti cloud era a rischio quando è stato scoperto Log4Shell.

  • 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 è semplice da usare. Gli hacker non hanno bisogno di autorizzazioni o autenticazione speciali. Possono creare scompiglio digitando comandi dannosi in moduli pubblici come chat box 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 utilizzare Log4Shell è stato pubblicato su GitHub e gli hacker hanno iniziato a sferrare attacchi. Aziende e servizi di grandi dimensioni, come Minecraft, Twitter e Cisco, sono stati esposti. Al culmine dell'attività di Log4Shell, Check Point ha rilevato più di 100 attacchi al minuto che hanno interessato più del 40% di tutte le reti aziendali globali.

I primi attacchi diffondevano botnet e malware di cryptomining. Alcuni hacker utilizzavano l'errore per avviare 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. Gli hacker associati a Cina, Iran, Corea del Nord e Turchia hanno subito una 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 avviare 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 il difetto. Fino a maggio 2023, Log4Shell è rimasta una delle vulnerabilità più utilizzate.

Log4Shell persiste per diversi motivi.

Il primo è che Log4J è nascosto in profondità nella supply chain software di numerose aziende. Oggi numerose 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. Le versioni precedenti di Log4J possono essere facilmente trascurate.

Quando viene applicata una patch a una versione vulnerabile di Log4J, non è detto che valga per sempre. Nel novembre 2022, Tenable ha riferito che il 29% degli asset ancora vulnerabili a Log4Shell erano "ricorrenti". In passato erano state applicate delle patch, 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.

Alla fine, gli hacker hanno sviluppato un modo intelligente per coprire le loro tracce. Secondo la CISA, alcuni hacker utilizzano Log4Shell per entrare in una rete e poi applicano una patch all'asset. L'azienda pensa che non vi siano problemi di sicurezza, 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 è stato reso 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 dai server controllati dagli aggressori.

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 ha trovato prove che gli attori delle minacce hanno iniziato a sfruttare Log4Shell prima del previsto, 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.

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

Soluzioni correlate
Soluzioni di sicurezza aziendale

Trasforma il tuo programma di sicurezza con le soluzioni offerte dal più grande provider di sicurezza aziendale.

Esplora le soluzioni di cybersecurity
Servizi di cybersecurity

Trasforma il tuo business e gestisci i rischi con la consulenza sulla cybersecurity, il cloud e i servizi di sicurezza gestiti.

    Scopri i servizi di sicurezza informatica
    Cybersecurity dell'intelligenza artificiale (AI)

    Migliora la velocità, l'accuratezza e la produttività dei team di sicurezza con soluzioni di cybersecurity basate sull'AI.

    Esplora la cybersecurity dell'AI
    Fai il passo successivo

    Che tu abbia bisogno di soluzioni di sicurezza dei dati, di gestione degli endpoint, o di gestione delle identità e degli accessi (IAM), i nostri esperti sono pronti a collaborare con te per farti raggiungere un solido livello di sicurezza.Trasforma il tuo business e gestisci i rischi con un leader a livello globale nel campo della consulenza per la cybersecurity, del cloud e dei servizi di sicurezza gestiti.

    Esplora le soluzioni di cybersecurity Scopri i servizi di cybersecurity