Log4Shell e le prospettive a lungo termine: per quanto ne sentiremo parlare?

Log4Shell e le prospettive a lungo termine: per quanto ne sentiremo parlare?

La vulnerabilità Log4Shell è a pieno titolo la più grave mai scoperta fino ad ora. Le ripercussioni sul lungo termine potrebbero essere numerose, variegate e imprevedibili

di pubblicata il , alle 17:31 nel canale Sicurezza
 

La data del 9 dicembre 2021 potrebbe essere ricordata come il giorno in cui l'umanità ha conosciuto una delle più gravi vulnerabilità della storia informatica. La falla Log4Shell a carico dello strumento Log4j di Apache, largamente utilizzato per operazioni di logging di eventi software rappresenta una minaccia le cui conseguenze si ripercuoteranno verosimilmente in futuro e per un tempo piuttosto esteso.

Come già abbiamo sottolineato in precedenza, il grado di gravità di questa falla è determinato dall'incrocio di due fattori: la diffusione di Log4j (si tratta di uno strumento open source che dal 2014 viene utilizzato in moltissime applicazioni Java) e la facilità di sfruttamento della falla stessa che non richiede alcun tipo di operazione sofisticata e può essere potenzialmente alla portata di pressoché chiunque.

La sua diffusione, in particolare, è un aspetto che ha un duplice significato: da un lato la possibilità, per i criminali e aggressori, di disporre di un potenziale parco-vittime amplissimo, dall'altra parte la difficoltà dei responsabili di sicurezza di riuscire a capire se e dove Log4j sia effettivamente presente all'interno delle applicazioni che si trovano a gestire.

Diffusa e facile da sfruttare: Log4Shell è una pacchia per gli hacker

Quanto accaduto una volta che Log4Shell è diventata di pubblico dominio è un copione già visto: il variegato popolo di hacker e criminali non si è attardato a cercare di sfruttare la falla prima dell'applicazione di eventuali patch di sicurezza e delle appropriate contromisure. Per quanto inizialmente siano stati riscontrate installazioni di cryptominer e le prevedibili (ma non per queso meno gravi) compromissioni da ransomware, le vere preoccupazioni sono sulle conseguenze a lungo termine della situazione.

Le società di sicurezza informatica che stanno monitorando la situazione hanno infatti già riscontrato la presenza in campo delle minacce più pericolose, e cioè dei gruppi hacker maggiormente sofisticati (tra i quali anche quelli al soldo di governi e regimi oppressivi) che attualmente sono all'opera per cercare di sfruttare Log4Shell allo scopo di garantirsi un accesso a reti informatiche da utilizzare in un secondo momento. L'obiettivo in questi casi non è quello di approfittare velocemente della vulnerabilità per raccogliere un bottino monetario (com'è il caso ad esempio dei cryptominer e dei ransomware), ma di inserire ed occultare un punto d'accesso all'interno di una rete-bersaglio da sfruttare successivamente con altri fini.

A ciò si aggiunge la prospettiva che molti sistemi, in virtù di un loro utilizzo mission-critical per cui è necessario garantire continuità di servizio, potrebbero anche non essere mai aggiornati, così come molti altri che potrebbero semplicemente sfuggire anche ad una fase di verifica dell'esistenza della vulnerabilità. Non si tratterebbe di una novità, in quanto ancor oggi negli elenchi delle vulnerabilità più sfruttate se ne trovano alcune venute alla luce del sole diverse anni fa. In questo caso, data la diffusione di Log4j, i rischi non possono che essere significativamente amplificati.

Ad esempio una prospettiva tanto infausta quanto verosimile è quella rappresentata dalla possibilità dei cosiddetti "supply-chain attack", ovvero quelle azioni dove si punta ad un bersaglio cercando di sfruttare come punti di ingresso gli anelli più deboli della sua catena di fornitori. In questo caso anche un'azienda di grandi dimensioni, con adeguate capacità di risposta a minacce informatiche e vulnerabilità, potrebbe cadere vittima di hacker e criminali che riescono a compromettere la rete di un suo fornitore meno scrupoloso. Anche in questo caso non si tratterebbe di una novità: basta citare come esempio principe il caso del worm Stuxnet.

La vicenda di Log4Shell, e prima ancora anche quella di HeartBleed, rappresenta una delle peculiarità più paradossali di Internet oggi: una rete che è diventata una parte fondamentale del funzionamento quotidiano di tutto il mondo e che si poggia su progetti open source gestiti in alcuni casi su base del tutto volontaria. Progetti che molto di frequente sono nati come semplicemente come strumenti personali ma che poi, come è il caso attuale, sono stati largamente utilizzati anche da grandi realtà commerciali senza che vengano da queste partecipati né finanziariamente, né dal punto di vista di sforzi di sviluppo e mantenimento.

Jen Easterly, direttrice della CISA statunitense, ha descritto Log4Shell come una delle più serie vulnerabilità mai viste nella sua carriera, se non la più grave. Il sospetto è che Homer Simpson possa avere ragione: "fino ad ora!".

17 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Axios200616 Dicembre 2021, 17:56 #1
Progetti che molto di frequente sono nati come semplicemente come strumenti personali ma che poi, come è il caso attuale, sono stati largamente utilizzati anche da grandi realtà commerciali senza che vengano da queste partecipati né finanziariamente, né dal punto di vista di sforzi di sviluppo e mantenimento.


E come spesso capita, grattacieli con fondamenta di burro.

Ma possibile che in progetti open source nessuno si disturbi a dare un'occhiatina al codice?

Aziende che spendono milioni in beni e servizi "fisici" e poi hanno il braccino corto per il dipartimento IT.
coschizza16 Dicembre 2021, 18:17 #2
Originariamente inviato da: Axios2006
E come spesso capita, grattacieli con fondamenta di burro.

Ma possibile che in progetti open source nessuno si disturbi a dare un'occhiatina al codice?

Aziende che spendono milioni in beni e servizi "fisici" e poi hanno il braccino corto per il dipartimento IT.


Puoi guardare il codice riga per riga ma questo non vuol dire neppure lontanamente trovare una falla per quella ci possono volere decenni
aqua8416 Dicembre 2021, 18:40 #3
Originariamente inviato da: coschizza
Puoi guardare il codice riga per riga ma questo non vuol dire neppure lontanamente trovare una falla per quella ci possono volere decenni

esatto

e di contro ci può essere (anzi c'è sicuramente) chi guarda riga per riga, trova una falla e la sfrutta senza dire niente, o se la "rivende"
frankie16 Dicembre 2021, 21:05 #4
Al manager non importa cosa, ma che costi zero e che sia fatto per IERI. C'è margine per studiare soluzioni nuove o aggiornare quelle vecchie?
No.
Così una vecchia libreria viene utilizzata da eoni di servizi senza essere mai controllata o analizzata (da quanto ho capito bastava solo aggiungere ${} e nelle graffe potevi mettere la qualunque). Cioè nessun filtro in ingresso.
xarz316 Dicembre 2021, 21:47 #5
Secondo me voi non vi rendete conto di quanto complesso sia sviluppare un software. In bocca al lupo a programmare senza affidarsi a librerie di terzi per niente, e questi terzi spesso sono volontari con passione che rilasciano a compenso zero software eccellenti.

nessun software e' perfetto e non si puo' pretendere nulla da chi lavora per la comunita' gratis. E non si puo nemmeno pretendere che multinazionali riverifichino tutto il codice open source da capo e in maniera infallibile.

Ok ci sono le falle, ma e' la natura del gioco, francamente non riesco a pensare ad uno scenario senza open source, torneremmo all'eta' della pietra.

il vero problema sono i produttori che non corrono a patchare quando necessario...
LMCH17 Dicembre 2021, 14:35 #6
Originariamente inviato da: Axios2006
E come spesso capita, grattacieli con fondamenta di burro.

Ma possibile che in progetti open source nessuno si disturbi a dare un'occhiatina al codice?

Eppure il motivo per cui chi può usa software open source é la maggior robustezza.
Nel caso di software closed source la situazione é mediamente peggiore, per il semplice motivo che c'é meno gente che può dare un occhiata ai sorgenti.
E no, il codice open source non favorisce i blackhat, proprio perché rispetto al sw closed source é più probabile che qualcuno noti il problema e lo risolva oppure che faccia modifiche per migliorare qualcosa ed indirettamente elimini anche la vulnerabilità.
cdimauro18 Dicembre 2021, 07:32 #7
Mi pare che i casi di OpenSSH prima e di Log4J (e, sebbene in misura minore, Log4Shell) adesso dimostrino l'esatto contrario, invece.
Alfhw26 Dicembre 2021, 22:39 #8
Originariamente inviato da: LMCH
Eppure il motivo per cui chi può usa software open source é la maggior robustezza.
Nel caso di software closed source la situazione é mediamente peggiore, per il semplice motivo che c'é meno gente che può dare un occhiata ai sorgenti.
E no, il codice open source non favorisce i blackhat, proprio perché rispetto al sw closed source é più probabile che qualcuno noti il problema e lo risolva oppure che faccia modifiche per migliorare qualcosa ed indirettamente elimini anche la vulnerabilità.


Originariamente inviato da: cdimauro
Mi pare che i casi di OpenSSH prima e di Log4J (e, sebbene in misura minore, Log4Shell) adesso dimostrino l'esatto contrario, invece.


E' una cosa che mi sono spesso chiesto anch'io. L'open source è analizzabile da tutti ma i bug di sicurezza vengono scoperti prima dagli hacker buoni o da quelli cattivi? Avendo a disposizione il codice sorgente è più facile correggere i bug ma forse è anche più facile sfruttarli?
Non è che forse dipende anche dalla difficoltà dei bug? Forse bug semplici vengono scoperti con una semplice occhiata (e quindi corretti in fretta) mentre bug complicati vengono scoperti solo se qualcuno ci si mette d'impegno settimane o mesi a cercare nel codice? Perché nel secondo caso allora forse gli hacker cattivi sono avvantaggiati dato che non fanno altro che cercarli e che forse numericamente più dei dei ricercatori di sicurezza? E probabilmente anche più motivati per i possibili guadagni.
E magari dipende anche dal tipo di bug? Forse certi tipi di bug si scoprono più (troppo) facilmente nell'open source che nel closed? Ma allora il closed potrebbe essere favorito perché certi bug non verranno mai scoperti?

Tutto molto IMHO. Queste sono solamente un paio di mie considerazioni ma non sono un bug-hunter quindi potrei aver anche detto delle fesserie. Però la questione mi sembra un po' spinosa.
cdimauro27 Dicembre 2021, 07:29 #9
Originariamente inviato da: Alfhw
E' una cosa che mi sono spesso chiesto anch'io. L'open source è analizzabile da tutti ma i bug di sicurezza vengono scoperti prima dagli hacker buoni o da quelli cattivi?

A questa domanda non si può rispondere in maniera definitiva: dipende tutto da chi arriva a prima scovare una falla di sicurezza.
Avendo a disposizione il codice sorgente è più facile correggere i bug ma forse è anche più facile sfruttarli?

La sfruttabilità dei un bug dipende soltanto dalla sua natura, e non da fatto che sia stato trovato leggendo il codice sorgente o il disassemblato del binario.

C'è da dire che a volte il disassemblato potrebbe anche mostrare delle problematiche non sono immediatamente visibili dal codice originale.
Non è che forse dipende anche dalla difficoltà dei bug? Forse bug semplici vengono scoperti con una semplice occhiata (e quindi corretti in fretta) mentre bug complicati vengono scoperti solo se qualcuno ci si mette d'impegno settimane o mesi a cercare nel codice?

In questo caso non parliamo di bug "normali", ma di falle di sicurezza. Trovare una falla di sicurezza può essere molto più difficile che trovare un normale bug, perché non ne sono immediatamente visibili gli effetti. Questo perché tante volte la falla viene a galla soltanto a causa di una concatenazione di bug/fattori. Quindi che ci siano delle particolari condizioni, che possono essere veramente difficili da immaginare.
Perché nel secondo caso allora forse gli hacker cattivi sono avvantaggiati dato che non fanno altro che cercarli e che forse numericamente più dei dei ricercatori di sicurezza? E probabilmente anche più motivati per i possibili guadagni.

Secondo me è una questione di mentalità: i cracker (ossia gli hacker "cattivi" sono allenati ad analizzare il codice immaginando gli scenari più assurdi per cercare di sfruttare possibili falle. E sono fortemente motivati dai guadagni, ovviamente.

E' più di un lavoro, insomma: è una sfida che si unisce a un'insaziabile ingordigia.

C'è, ad esempio, un'analisi che è stata fatto riguardo al bug delle emoticon di iOS (se non ricordo male) che mostra quanto assolutamente geniale sia stato il modo in cui il cracker sia riuscito a trovare il modo si sfruttarla. E' roba che ti frigge il cervello a leggerla, se non hai avuto modo di lavorare in questo campo.

Non so se ricercatori di sicurezza siano mossi da motivazioni altrettanto forti.
E magari dipende anche dal tipo di bug? Forse certi tipi di bug si scoprono più (troppo) facilmente nell'open source che nel closed?

No. Come già detto prima, i bug non hanno nulla a che vedere col fatto che siano stati scoperti leggendo il codice sorgente o il disassemblato di un binario.
Ma allora il closed potrebbe essere favorito perché certi bug non verranno mai scoperti?

La mia personalissima opinione è... sì. Questo perché è più difficile analizzare binari e cercare di capire se ci siano falle sfruttabili.

Chi ha i sorgenti ha la vita di gran lunga più facile. E questo vale sia per i ricercatori di sicurezza, sia soprattutto per i cracker.

C'è da dire che al momento i binari sono ancora disassemblabili. Ma ciò non sarà più possibile quando le tecnologie di Secure Enclave & memoria crittografata (in tempo reale) diventeranno comuni, per cui andare a caccia di bug in codice closed sarà possibile esclusivamente provando a richiamare API / funzioni passando loro particolari valori per i loro parametri. Quindi non dico che sarà impossibile trovare bug/falle, ma mostruosamente difficile.

A mio avviso i cracker lavoreranno per lo più su progetti open source, quando ciò succederà.
Tutto molto IMHO. Queste sono solamente un paio di mie considerazioni ma non sono un bug-hunter quindi potrei aver anche detto delle fesserie. Però la questione mi sembra un po' spinosa.

Lo è sicuramente.

D'altra parte Log4J ha rappresentato un punto di svolta, di non ritorno, similmente alle falle di sicurezza di tipo side-effect. O, per parlare di un discorso analogo in un altro campo, c'è un prima e il dopo il Covid.
Il futuro, insomma, non sarà più lo stesso, dopo di loro.
Alfhw28 Dicembre 2021, 09:53 #10
Originariamente inviato da: cdimauro
La sfruttabilità dei un bug dipende soltanto dalla sua natura, e non da fatto che sia stato trovato leggendo il codice sorgente o il disassemblato del binario.

C'è da dire che a volte il disassemblato potrebbe anche mostrare delle problematiche non sono immediatamente visibili dal codice originale.

Pardon, volevo scrivere "trovarli" e non "sfruttarli". Comunque non importa.

In questo caso non parliamo di bug "normali", ma di falle di sicurezza. Trovare una falla di sicurezza può essere molto più difficile che trovare un normale bug, perché non ne sono immediatamente visibili gli effetti. Questo perché tante volte la falla viene a galla soltanto a causa di una concatenazione di bug/fattori. Quindi che ci siano delle particolari condizioni, che possono essere veramente difficili da immaginare.

D'accordo ma intendevo che i bug di sicurezza non sono tutti della stessa difficoltà. Alcuni sono evidenti e un occhio esperto li nota leggendo anche velocemente il codice sorgente, altri invece sono molto nascosti. Mi chiedevo quindi se la disponibilità del codice sorgente come nell'open source favorisse più che altro la scoperta di bug facili mentre per i bug difficili rimangono lì per molto tempo. L'open source ha sempre decantato la disponibilità del codice sorgente come un vantaggio per scoprire e correggere prima i bug però mi domando se questo vantaggio valga solo per bug facili ed evidenti mentre per bug difficili e nascosti possa invece essere uno svantaggio perché allora i cracker possono studiare per mesi anche il codice sorgente oltre al disassemblato.

Secondo me è una questione di mentalità: i cracker (ossia gli hacker "cattivi" sono allenati ad analizzare il codice immaginando gli scenari più assurdi per cercare di sfruttare possibili falle. E sono fortemente motivati dai guadagni, ovviamente.

E' più di un lavoro, insomma: è una sfida che si unisce a un'insaziabile ingordigia.

Basta scoprire un bug che ti fa installare un po' di ramsonware e puoi potenzialmente guadagnare milioni se colpisci grosse aziende come è successo tempo fa con la condotta petrolifera in USA...

Non so se ricercatori di sicurezza siano mossi da motivazioni altrettanto forti.

Infatti non è un caso che diverse aziende software paghino premi in denaro per la scoperta di bug. Ma forse dovrebbero pagare di più.

La mia personalissima opinione è... sì. Questo perché è più difficile analizzare binari e cercare di capire se ci siano falle sfruttabili.

Chi ha i sorgenti ha la vita di gran lunga più facile. E questo vale sia per i ricercatori di sicurezza, sia soprattutto per i cracker.

E' quello che ho sempre sospettato. Nell'open hai sorgente+disassemblato mentre nel closed hai solo il disassemblato. L'open ha sempre puntato sul "buon samaritano" che dà un occhiata al codice sorgente e corregge il bug ma come scritto sopra temo che valga solo per i bug facili ed evidenti mentre per i bug difficili temo che i cracker siano più motivati.

A mio avviso i cracker lavoreranno per lo più su progetti open source, quando ciò succederà.

Lo è sicuramente.

Già, è una questione spinosa. Bisognerebbe chiederlo a qualche cracker ma credo che ognuno si tenga i propri segreti...
Poi a volte è difficile intavolare un ragionamento perché arrivano i fanboy ma questo è un altro discorso.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^