Approfondimento: Log4Shell e Log4j, facciamo chiarezza sul bug dell'anno
Alla fine di novembre è stata scoperta una vulnerabilità che prendeva di mira i server del noto videogioco Minecraft. Presto però si è capito che questa falla avrebbe avuto ripercussioni ben più gravi, tanto che il governo degli Stati Uniti l’ha descritta come un “rischio grave”. Mi riferisco, ovviamente, alla vicenda Log4shell e Log4j. Fino ad ora non ve ne ho parlato qui su LFFL perché ho preferito attendere l’evolversi della situazione per poi preparare un articolo riepilogativo, piuttosto che pubblicare tanti articoli ad ogni minima novità. Cerchiamo quindi di approfondire cos’è successo e quali possono essere i risvolti futuri.
Log4Shell e log4j
Log4Shell è una vulnerabilità presente nella libreria Log4j. Cos’è log4j? L’Apache Logging Project (Apache Log4j) è un framework di logging open source scritto in Java e distribuito da Apache Software Foundation che gli sviluppatori utilizzano per tenere traccia dell’attività del software nelle app cloud e aziendali. Ciò significa che è utilizzato in tantissimi dispositivi (IoT, kit medici e altro ancora), lo usa anche Ingenuity, l’elicottero Linux-based che vola su Marte. Una prima stima lo vedrebbe presente su circa 3 miliardi di dispositivi: secondo alcuni è la libreria di “log” più usata nel mondo Java. Per questo alcuni hanno definito il problema la più grave falla informatica degli ultimi anni.
Come sapete scrivere software oggi è diventata un’operazione diversa rispetto a qualche lustro fa. Ora ci si basa su librerie e dipendenze consolidate e queste vengono date per testate e funzionanti. Se però una di queste ha un problema tutto l’ecosistema costruito al di sopra crolla…
Come è stata scoperta e in cosa consiste la falla
Alcuni giocatori di Minecraft in Cina riuscivano a fare scherzi ad altri giocatori semplicemente inviando stringhe di codice nella chat del gioco. La chat, come avrete capito, è gestita con Log4J. Da qui i ricercatori hanno lanciato l’allarme scoprendo l’errore di progettazione della libreria.
Subito dopo la scoperta del problema ne è nata la CVE-2021-44228 una vulnerabilità di classe Remote Code Execution (RCE), il che indica che un cybercriminale è in grado di eseguire codice arbitrario e, potenzialmente, di prendere il pieno controllo di un sistema. Il CVE è stato classificato 10 su 10 in termini di gravità.
Log4J dovrebbe mostrare e gestire solo stringhe di testo, ma quando si trova davanti ad un messaggio formattato in un certo modo lo interpreta come un indirizzo internet, lo raggiunge sfruttando la JNDI (Java Naming and Directory Interface), scarica il payload e lo esegue con i privilegi del programma principale. In buona sostanza basta inserire un comando all’interno dei caratteri ${} per trasformarlo in comando eseguito.
Attacchi informatici
Come avrete capito un cybercriminale deve fare poco per sfruttare la falla. Sono stati scoperti in rete migliaia di bot che provavano (e provano tuttora) a cercare dispositivi vulnerabili (es. server), per caricare malware, rubare dati, installare software per il mining di criptovalute, etc. Mentre giganti quali Apple, Microsoft, Google e Oracle iniziavano ad aggiornare la libreria con la versione corretta, altri hanno iniziato a inserire filtri sul tipo di chiamata bloccando i messaggi ritenuti pericolosi.
Il vero problema è che la versione aggiornata della libreria richiede alcune dipendenze che potrebbero non essere soddisfatte da chi usa versioni molto vecchie dei software. Ad esempio penso al mondo bancario dove non si resta mai al passo con le ultime novità tecnologiche, anzi si opta sempre per la stabilità. Questo significa che sarà impossibile aggiornare tutto il parco macchine mondiale, e sarà difficile aggiornarne una buona parte in breve tempo.
Check Point, azienda di sicurezza informatica israeliana, ha condiviso i seguenti dati:
- il 10 dicembre sono stati registrati qualche migliaio di tentativi di attacco informatico;
- l’11 dicembre sono diventati 40.000;
- il 12 dicembre 200.000;
- il 13 dicembre erano già più di 840 mila.
Sarebbero vittime di tentativi di attacco il 40% delle aziende a livello globale. Il 42% in Europa e il 43% in Italia. L’Agenzia per la cyberscicurezza nazionale nei giorni scorsi ha parlato di “una vasta e diversificata superficie di attacco sulla totalità della rete”, definendo la situazione “particolarmente grave”. Per ora i cybercrminali stanno cercando di installare crypto miner e di distribuire Trojan, Botnet e Ransomware, questi ultimi sempre più utilizzati per rubare dati sensibili, documenti di identità, contratti e chiedere riscatti.
Patch
La Apache Foundation ha rilasciato una versione correttiva, la 2.15.0, circa 4 giorni fa ma Praetorian e Cloudflar hanno iniziato a rilevare attacchi anche nei sistemi aggiornati.
Apache ha poi rilasciato la v2.16.0 il 14 dicembre, risolvendo i problemi emersi nella 2.15.0.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.