Internet sta affondando, corsa contro il tempo per salvarlo. E’ la dichiarazione che i media stanno ripetendo all’unisono ogni giorno e precisamente da quando l’amministrazione Biden ha annunciato un grave bug informatico in Log4j, che sta mettendo a rischio l’intera rete Internet per via della sua diffusione capillare.
Cosa è Log4j?
Apache log4j è una libreria Java, dismessa in favore della versione 2, per generare log, i programmatori java usano questo sistema per fare il debug delle applicazioni e anche per controllare il funzionamento delle stesse in fase di produzione. Si occupa di tracciare le attività che avvengono dietro ad un programma. Quando acquistiamo, ad esempio, su Amazon c’è “qualcosa” che scrive che il nostro utente ha eseguito una richiesta, dando anche un riferimento temporale di inizio. In poche parole siamo dinanzi ad una specie di notaio, che segna un contratto senza prendervi parte. Non è l’unico sistema, ma è il più utilizzato per via della sua distribuzione gratuita perché open source. Più attività svolge un applicativo simultaneamente, più messaggi di report si necessitano di scrivere e più questi incidono sulla prestazione del computer. La funzione della libreria LogJ4 è quella di organizzare al meglio questa tipologia di lavoro in fase di scrittura. Essendo una libreria, un pezzo di Java, viene impiegato in tantissimi software sia pubblici che privati e lo si può metaforicamente paragonarlo all’avere un “bullone” marcio nelle ruote di tutte le auto del mondo.
Chi utilizza Log4j?
La libreria è fornita dalla Apache Software Foundation ed è open source: motivo per il quale è molto diffusa all’interno di diversi applicativi e questo vuol dire che ci troviamo dinanzi ad una vulnerabilità che può generare un attacco capace di raggiungere il massimo previsto dalla scala di rischio di compromissione dei sistemi informatici. Il problema quindi non è solo esteso all’omonima piattaforma Apache Web Server, come molti sono portati a credere e precisiamo ben diversa da Apache Software Foundation, ma a tutti gli applicativi sviluppati in Java che utilizzano questa specifica libreria per la generazione di log.
Perchè Log4j non è Java come molti erroneamente sostengono
Nei giorni precedenti, abbiamo dato la notizia dell’attacco informatico ai danni del sito di web di sesso in cam per adulti. Secondo gli esperti, potrebbe essere stato uno dei tanti campanelli di allarme visto che la piattaforma bucata si appoggiava su Elastic ed i fattori di vulnerabilità non sono mai stati svelati e forse compresi fino ad oggi. Oltre ad Elastic e Minecraft, per farvi un esempio di utilizzo della libreria in questione, basti pensare che Log4j gira anche su diversi prodotti VMWARE (Horizon, vCenter), Hadoop (molto usato sui server di Google). La lista è lunga ed è consultabile a questo link
Minecraft e lo 0-day che può distruggere tutto
La vulnerabilità Log4j cve-2021-44228 permette l’esecuzione di codice remoto semplicemente digitando una stringa specifica in una casella di testo. È stato scoperto per la prima volta dai giocatori di Minecraft, ma presto ci si è resi conto che questa vulnerabilità non era solo un exploit del famoso videogame che appassiona i bambini di tutto il mondo, ma funziona su ogni programma che utilizza la libreria Log4j. Lo 0-day, denominato Jlog4shell, funziona fino alle versioni 2.x ed è in grado di inviare dati in un formato errato, consentendo l’esecuzione di un codice inviato e richiesto da un malintenzionato. Il perché presenta questa falla sembra essere chiaramente collegato ad un errore concettuale in fase di sviluppo: invece di prendere nota ed attenersi al suo compito, la libreria assurge anche a “fare cose” ed è quest’ultima azione il difetto originale, che si è rivelato mortale, perché secondo gli esperti interpellati
un programa di logging NON DEVE fare questo
Nella foto in alto è pubblicato il codice dell’exploit che in sintesi è un programma java che si può eseguire su un qualsiasi pc, chiede ip e porta del server che ha in esecuzione log4j ed apre una shell remota dove è possibile eseguire il codice che si vuole e che risulta ancora 0-day, quindi irrisolto.
La corsa ai ripari per salvare la rete dall’approssimazione delle big tech
La comunità informatica, composta da privati e aziende, sta procedendo allo sviluppo di correttivi al software ed è stata rilasciata dapprima la versione 2.15.0 e poi la versione 2.16.0, scaricabile su github, ed è in arrivo verso la fine della settimana anche la versione 2.17.0 secondo indiscrezioni raccolto nell’ambiente circostante a chi si sta dando da fare nel poter intervenire sulla vicenda. Per risolvere il problema, gli amministratori di sistema devono patchare a mano il codice binario della propria installazione, non esiste aggiornamento ed anche l’ultima versione conserva ancora il bug. Un dettaglio da non trascurare visto che, nella foto che segue, su piattaforma Linux Debian, quella più lenta nel rilascio degli aggiornamenti, figurano solo tre prodotti dell’universo Elastic ed il Google Chrome.
Una coincidenza? Non è dato saperlo
Così come è vero che le multinazionali che ad oggi tremano per uno 0-day applicato ad un prodotto open source, dovrebbero iniziare a pensare di pagare gli sviluppatori di questi applicativi per poterli personalizzare sulla base delle proprie esigenze oppure pretendere dai loro innumerevoli dipendenti di fare attenzione nell’utilizzare un prodotto preso dalla rete senza averlo adattato alle proprie esigenze. Se qualcuno ci avesse pensato, il problema sarebbe stato già noto, e sorprende che Google, Amazon e soci, per ottimizzare il tempo, si affidano ai codici open source forse anche per risparmiare soldi. Nonostante non ne abbiano bisogno.
Open source affidabile?
Il problema dell’Open source è questo. Matrice Digitale utilizza e promuove la diffusione degli strumenti a codice sorgente aperto, ma è pur vero che il messaggio che questa redazione lancia è volto sempre a far comprendere che il codice aperto non è sinonimo di sicurezza come molti vogliono far credere. Più volte abbiamo parlato dei bug di Tor, più volte abbiamo detto che i bug su piattaforme aperte o considerate sicure perché chiuse, vengono scoperti dopo molto tempo ed il motivo è semplice: gli sviluppatori dei codici aperti sono degli attivisti.
E nonostante questo “hobby” Log4j resta il miglior programma di logging sul mercato
Persone che non mangiano grazie al loro contributo preziosissimo dato al mondo dell’informatica con applicativi e sistemi operativi che tutto il globo utilizza “a gratis”, ma hanno una vita ed un lavoro che li distrae dal seguire costantemente l’evoluzione delle loro creature che necessitano di aggiornamenti per far fronte alle mutazioni repentine del mondo IT, colpevoli di stravolgere la stabilità e la sicurezza degli strumenti informatici. Quindi non sarebbe surreale immaginare lo sviluppatore di questa libreria famosissima in tutto il mondo perché migliore nel suo genere, fatta per passione e condivisione, appena avuto conoscenza del bug che ha messo a soqquadro la rete Internet, non abbia pensato che vi avrebbe potuto mettere mano solo dopo aver consegnato un lavoro di altro genere, che però gli fornisce il pane quotidiano e non la semplice gloria.