Cos'è la vulnerabilità Apache Log4J (Log4Shell)?

Log4Shell (CVE-2021-44228, CVE-2021-45046 e CVE-2021-45105) è una vulnerabilità RCE (remote code execution) che permette ai malintenzionati di eseguire codice Java arbitrario, prendendo il controllo di un server obiettivo.

Panoramica della vulnerabilità Log4Shell

Il 2021 è stato un anno impegnativo per le vulnerabilità zero-day, coronato da Log4Shell, una falla critica individuata in Apache Log4j, una libreria di generazione dei log basata su Java e ampiamente utilizzata. Ufficialmente identificata come CVE-2021-44228, ha un punteggio di gravità di 10 su 10 (CVSS v3.1) secondo il Common Vulnerability Scoring System (CVSS).

La vulnerabilità è stata segnalata privatamente ad Apache il 24 novembre 2021. Il 9 dicembre 2021 Log4Shell è stata rivelata pubblicamente e inizialmente patchata con la versione 2.15.0 di Apache Log4j.

Le notizie successive di attacchi osservati nel mondo reale hanno fatto sì che diverse agenzie nazionali di cybersecurity, tra cui la US Cybersecurity and Infrastructure Security Agency (CISA), lo UK National Cyber Security Center (NCSC) e il Canadian Center for Cyber Security, pubblicassero degli avvertimenti. A causa della popolarità di Apache Log4j, centinaia di milioni di dispositivi potrebbero essere colpiti.

Come funziona Log4Shell

Log4Shell è una vulnerabilità di iniezione di Java Naming and Directory Interface™ (JNDI) che può consentire l'esecuzione di codice remoto (RCE). Includendo dati non attendibili (come payload dannosi) nel messaggio registrato in una versione di Apache Log4j affetta, un attaccante può stabilire una connessione a un server dannoso tramite la ricerca JNDI. Il risultato: accesso completo al sistema da qualsiasi parte del mondo.

Poiché la ricerca JNDI supporta diversi tipi di directory come Domain Name Service (DNS), Lightweight Directory Access Protocol (LDAP) che fornisce informazioni preziose come i dispositivi di rete dell'organizzazione, Remote Method Invocation (RMI) e Inter-ORB Protocol (IIOP), Log4Shell può facilitare il concretizzarsi di altre minacce come:

  • Coinmining: Gli attaccanti possono utilizzare le risorse per estrarre criptovalute. Questa minaccia può essere abbastanza costosa, data la grande quantità di potenza di calcolo richiesta per eseguire servizi e applicazioni nel cloud.
  • Negazione del servizio di rete (DoS): Questa minaccia permette agli aggressori di spegnere e/o disabilitare una rete, un sito web o un servizio in modo che sia inaccessibile all'organizzazione bersaglio.
  • Ransomware: Dopo aver ottenuto la RCE, gli aggressori possono raccogliere e criptare i dati a scopo di riscatto.

 

Di seguito è riportata una possibile catena di infezione:

Possibile catena di infezione

Prodotti, applicazioni e plug in vulnerabili

Essenzialmente, qualsiasi dispositivo con accesso a Internet che esegue Apache Log4j dalla versione 2.0 alla 2.14.1. Le versioni colpite sono incluse in Apache Struts, Apache Solr, Apache Druid, Elasticsearch, Apache Dubbo e VMware vCenter.

Patch e mitigazione

Per applicare una patch alla vulnerabilità, Apache ha inizialmente rilasciato la versione 2.15.0 di Apache Log4j. Tuttavia, questa versione funzionava solo con Java 8. Gli utenti delle versioni precedenti dovevano applicare e riapplicare mitigazioni temporanee. Al momento della pubblicazione, Apache ha rilasciato la versione 2.16.0 e ha consigliato agli utenti di aggiornare la loro libreria potenzialmente interessata il più rapidamente possibile.

Altre strategie di mitigazione come il patching virtuale e l'utilizzo di un sistema di riconoscimento/prevenzione delle intrusioni (IDS/IPS) sono fortemente incoraggiati. Le patch virtuali proteggono la vulnerabilità da ulteriori sfruttamenti, mentre l'IDS/IPS ispeziona il traffico in entrata e in uscita alla ricerca di comportamenti sospetti.

Apache Log4J

Ricerche correlate

Articoli correlati