proteggere le applicazioni web da Log4Shell

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.

Cos’è Log4j

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.

Cos’è Log4shell

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.

Come agisce Log4shell

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

Il controllo della propria vulnerabilità

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:

  1.  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;
  2. approccio reattivo, che prevede la ricerca nei log di sistema dei tentativi di accesso illeciti, in modo da individuare i software a rischio

Come proteggersi da Log4shell

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 :

Conclusioni

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!