Cos’è Log4Shell e che tipo di danno può fare?
Log4Shell è una vulnerabilità che, negli ultimi tempi, sta colpendo milioni di computer e coinvolge un software che è quasi onnipresente in ogni sistema, Log4j. Tale software viene utilizzato per registrare tutti i tipi di attività che si svolgono all’interno di un’ampia gamma di sistemi informatici.
Contenuti
All’interno di questo articolo vedremo con precisione cosa si intende per Log4j e cosa si può fare per difendersi.
Cosa fa Log4j?
Log4j registra gli eventi (errori e operazioni di sistema) e comunica messaggi diagnostici su di essi agli amministratori di sistema e agli utenti. Si tratta di un software open source fornito dalla Apache Software Foundation.
Un esempio comune di utilizzo di Log4j è quando si digita o si fa clic su un collegamento web errato e viene visualizzato un messaggio di errore 404. Il server web che esegue la richiesta comunica all’utente che non esiste una pagina web del genere, e quell’evento viene memorizzato in un registro per gli amministratori di sistema del server che utilizzano Log4j.
Altri messaggi di diagnosi di questa tipologia sono impiegati in quasi tutte le applicazioni software. In Minecraft, per esempio, il servizio Log4j è impiegato per mantenere un registro attività di alcuni dati come la memoria totale utilizzata e i comandi che sono stati digitati nella console da parte degli utenti.
Come funziona Log4Shell?
Log4Shell funziona abusando di una funzione presente in Log4j che consente agli utenti di specificare un codice personalizzato per la formattazione di un messaggio di registro. Sfruttando tale funzionalità, Log4j può effettuare diverse azioni malevole come, ad esempio, registrare sia il nome utente che il nome reale di un utente autorizzato che ha effettuato l’accesso al server (nel caso in cui sul server sia presente una directory che contenga il collegamento tra nomi utenti e nomi reali).
Tale servizio messo a disposizione da Log4j viene sfruttato dagli autori di azioni malevole per compiere qualcosa di più rispetto alla semplice formattazione dei messaggi di registro: Log4j, infatti, permette ai server di terze parti di inviare codice software che consente di eseguire tutti i tipi di azioni sul computer di destinazione.
Tale vulnerabilità permette ai malintenzionati di eseguire numerose attività malevole, come il furto di informazioni sensibili, il controllo del sistema preso di mira e la trasmissione di contenuti dannosi ad altri utenti che comunicano con il server interessato.
A cosa serve Log4Shell? In che modo gli hacker possono trarre vantaggio dalla vulnerabilità di Log4j?
Log4j è un framework di registrazione open source che consente agli sviluppatori di software di registrare i dati prodotti o quelli che transitano all’interno delle loro applicazioni. Questi dati possono includere anche l’input digitato dall’utente.
Tale servizio viene impiegato in molte applicazioni Java, in particolare all’interno di alcuni specifici programmi utilizzati dalle aziende. Gli hacker possono trarne vantaggio “iniettando” del codice malevolo all’interno di un sistema al fine di rubare informazioni e dati sensibili.
Quanto è grave la vulnerabilità di Log4j?
La vulnerabilità di Log4j consente agli aggressori di eseguire codice in remoto su un computer di destinazione, il che potrebbe permettere loro di rubare dati, installare malware (malware significato) o assumere il controllo del dispositivo. Gli exploit scoperti di recente tramite diverse CVE includono anche sistemi di hacking per estrarre criptovaluta.
Le vulnerabilità Log4j sono ovunque
Una delle principali preoccupazioni riguardo a Log4Shell è il diffuso utilizzo di Log4j nell’ecosistema software. La registrazione è una caratteristica fondamentale della maggior parte dei software, il che rende l’impiego di Log4j molto frequente.
Oltre ai giochi popolari come Minecraft, tale servizio viene utilizzato anche in servizi cloud molto diffusi tra le aziende e gli utenti, come Apple iCloud e Amazon Web Services, nonché all’interno di un’ampia gamma di programmi: dagli strumenti di sviluppo software agli applicativi di sicurezza.
Ciò significa che gli hacker hanno a disposizione un ampio range di obiettivi tra cui scegliere: utenti domestici, fornitori di servizi, sviluppatori di codice sorgente e persino ricercatori di sicurezza.
Le grandi aziende come Amazon o Apple, grazie al loro team di esperti sviluppatori e ricercatori, sono in grado di applicare rapidamente le patch risolutive di questa vulnerabilità ai propri servizi in modo da impedire agli hacker di sfruttarle. Tuttavia, ci sono molte piccole organizzazioni che impiegheranno molto più tempo per applicare questi rimedi ai propri sistemi e alcune potrebbero non sapere nemmeno di averne bisogno.
Quali danni può fare Log4Shell?
Per trovare il proprio obiettivo di attacco, gli hacker scansionano la rete Internet per identificare server vulnerabili e configurare macchine in grado di fornire payload dannosi. Al fine di portare a termine un attacco, interrogano i servizi (ad esempio, server web) e tentano di attivare un messaggio di registro (come un errore 404). La query inviata, per generare questo errore, include del testo dannoso, che Log4j elabora come istruzioni.
Le istruzioni elaborate da Log4j possono creare una shell inversa che permette al malintezionato di assumere il controllo remoto del server di destinazione oppure di inserire tale server all’interno di una rete botnet.
Come difendersi dalla falla di Log4j?
È difficile sapere se Log4j viene utilizzato in un dato sistema software perché è spesso presente in bundle come parte di altri software.
Un’altra conseguenza dei diversi usi di Log4j è che non esiste una soluzione valida per tutti per ripararlo. A seconda di come Log4j è stato integrato in un determinato sistema, la correzione richiederà approcci diversi alla sicurezza.
Potrebbe essere necessario un aggiornamento di sistema su vasta scala, come ad esempio è stato fatto per una serie di router Cisco, oppure l’introduzione e installazione di una nuova versione del software, come avvenuto per Minecraft.
Infine, se non vi è la possibilità di aggiornare il software, molto probabilmente sarà necessario intervenire manualmente per rimuovere il codice vulnerabile che è stato iniettato.
Il tempo di riparazione per rimediare generalmente a questa tipologia di attacchi varia da settimane a mesi. Tuttavia, se il comportamento passato è indicativo di prestazioni future, è probabile che la vulnerabilità di Log4j si manifesti nuovamente negli anni a venire.
In qualità di utente, molto probabilmente ti starai chiedendo quali azioni puoi intraprendere per evitare questa situazione. Purtroppo, è abbastanza difficile sapere se un certo prodotto software che utilizzi quotidianamente includa o meno il servizio Log4j.