logo

CybergON Blog

Advancing the State of Cybersecurity.

Fiction o realtà? Storia di una compromissione che ha colpito Linux

All’inizio del mese di aprile è stata scoperta una backdoor presente nella libreria XZ Utils, che ha colpito il sistema operativo Linux, portando nuovamente l’attenzione sui rischi legati all’utilizzo di sistemi operativi open source.

compromissione-linux-copertina

XZ Utils è una libreria di compressione dati precedentemente conosciuta come LZMA Utils.

La backdoor in questione è stata creata da JiaTan, un utente che da tempo militava nella repository GitHub del progetto Tukaani. Non si hanno molte informazioni su questa persona, potrebbe essere un singolo oppure un gruppo criminale strutturato che agisce per fini specifici.

Cronologia della compromissione

L’inizio di questa compromissione ha avuto luogo a fine 2021, quando JiaTan crea il suo account e inizia a compiere attività relative a Tukaani, acquisendo man mano credibilità agli occhi della community. Nel frattempo, appare sulla scena un nuovo attore: Dennis Ens. Ens dà supporto a JiaTan e mette pressione all’owner di Tukaani, Lasse Collin, affinché inserisca Tan come maintainer della repository di GitHub. Ens non è l’unico a mettere pressione a Collin: già nei mesi antecedenti decine di utenti avevano iniziato ad avanzare la stessa richiesta.
Verso la fine del 2022, Jia diventa maintainer acquisendo ancora più responsabilità e credito. Grazie a questo ruolo ha la possibilità di portare avanti il progetto XZ Utils rilasciando aggiornamenti e nuove versioni della repository. Eseguendo diversi test, Jia inserisce una parte di malware nella piattaforma di produzione e si ipotizza che disabiliti la funzione di ifunc, impedendo di fatto il successivo rilevamento di modifiche pericolose e dandogli la possibilità di inserirle in XZ Utils. In questo momento inizia il vero e proprio attacco all’intero progetto Tukaani e viene creata la backdoor che permette a eventuali attaccanti di prendere il controllo del sistema operativo in questione.

Backdoor Linux

Le versioni del codice

Il codice è stato progettato per essere eseguito alla fine di uno script e modificare la libreria all’interno del pacchetto XZ Utils, per fornire un accesso non autorizzato al sistema. Questo avviene tramite l’elusione dei protocolli SSH di autenticazione e di accesso a interi sistemi da remoto. Il codice malevolo trovato dimostra quanto sia fondamentale per le organizzazioni seguire le best practice, tra cui evitare l’esposizione SSH direttamente a Internet, ove possibile, e implementare misure di sicurezza aggiuntive, come il limitare le connessioni da range IP sconosciuti, disabilitare autenticazione tramite password e impostare il fail to ban.

Le versione 5.6.0. e 5.6.1. sono state quindi rilasciate a febbraio 2023. Tan e altri collaboratori hanno esortato gli sviluppatori di Ubuntu, Red Hat e Debian a scaricare gli aggiornamenti, anche se senza esito. Queste versioni sono state riconosciute come ospitanti una backdoor progettata per permettere l’accesso non autorizzato. Per questo, è stato loro assegnato un identificativo CVE-2024-3094 con punteggio di gravità 10,0, indicando un rischio estremamente alto. Solo qualche settimana fa è stato rilasciato il codice per estrarre e innescare la backdoor, nascondendolo in file di test per verificare il funzionamento di XZ Utils.

Di seguito due tabelle con i dispositivi che sono e non sono stati affetti dalle versioni rilasciate:

Tabella dispositivi affetti

Tabella dispositivi non affetti

Qualche giorno dopo il rilascio del codice, uno sviluppatore software di Microsoft, Andres Freund, ha rilevato prestazioni rallentate nella connessione SSH a un server remoto; nello specifico, i login SSH stavano consumando troppa CPU e hanno generato degli errori in seguito ad analisi con Valgrind, una Linux utility per il monitoraggio della memoria. In seguito a questa rivelazione Freund continua le sue indagini e scopre che è stata inserita una backdoor alla base della libreria XZ.

Conclusione

Allo stato attuale è presente una Proof of Concept (PoC) di questa vulnerabilità: la remediation più efficace risulta essere il revert alle versioni precedenti, mentre gli sviluppatori Debian hanno optato per ricostruire l’intero sistema prima delle commit critiche.