Si chiama Andrés Freund: è un ingegnere informatico di 38 anni che vive a San Francisco e lavora, al momento in cui scriviamo, alla Microsoft. Si occupa solitamente di database, nello specifico realizzati PostgreSQL, e solo occasionalmente opera su terminale di comando Linux (SSH).
Quel nome potrebbe non dire granchè a molti di noi, eppure meriterebbe di essere citato – se non di passare alla storia dell’informatica, per via di una singolare scoperta fatta qualche giorno fa. Durante il proprio lavoro, infatti, ha inavvertitamente trovato una backdoor nascosta in un software, xz, che fa parte del sistema operativo Linux. La backdoor se non fosse stata scoperta, sarebbe stata un potenziale preludio a un grave attacco informatico che, secondo gli esperti, avrebbe potuto causare seri danni alle infrastrutture informatiche a livello mondiale.
Lavora su un’installazione Debian, una versione di Linux molto sfruttata anche sui server di hosting e sui sistemi in cloud. Si accorge di una latenza sospetta, di 500 ms, subito dopo aver installato un update (un aggiornamento del sistema operativo).
Vedi anche: infografica di ArsTechnica
Come è avvenuto l’attacco
XZ utils è un kit di librerie open source che si occupano di compressione di file: un algoritmo dall’uso sostanzialmente innocuo, che non riguarda nulla di malevolo di per sè e che usiamo tutti, ad esempio, nel momento in cui si deve spedire un file di testo molto grande e la banda su internet non è abbastanza, comprimere permette a tutti di risparmiare tempo. La falla della backdoor xz risale alla versione di xz/liblzma nelle versioni 5.6.0 e 5.6.1, ed è stata dovuta ad un attacco informatico che è stato orchestrato addirittura due anni prima della scoperta.
Andiamo per ordine: gitHub (come abbiamo spiegato varie volte) è un repository o “deposito” di software open source sul quale, mediante opportune policy, gli sviluppatori possono caricare le versioni dei software, proporre modifiche, segnalare bug e, se lo desiderano, caricare codice con la propria versione di una qualche correzione. Il tutto ovviamente è possibile soltanto rispettando le regole sia del sito stesso che, soprattutto, quelle del maintainer del progetto.
Chi è un maintainer di un progetto open source
Difficile, forse impossibile accorgersi del problema analizzando il codice e senza sapere di doverlo analizzare: ma grazie a quel piccolo “lag” sospetto di 500 ms ce ne siamo accorti, ed è andata bene così. Diversamente, il malware avrebbe circolato indisturbato su molti sistemi, tanto più che questa scoperta è avvenuta giusto in tempo, poco prima che le modifiche al sistema operativo (con annesso xz utils) diventassero definitive nelle versioni stable.
È stato pertanto individuato codice malevolo all’interno del software xz, utile per la gestione dei tarball (file compressi), a partire dalla versione 5.6.0. Attraverso una serie di complessi processi di oscuramento del codice, durante la compilazione della libreria liblzma, tecnicamente viene estratto un file oggetto precompilato da un file di test “mascherato” presente nel codice sorgente. Questo file oggetto viene poi utilizzato per modificare arbitrariamente specifiche funzioni all’interno della libreria liblzma stessa. Il risultato è una libreria liblzma modificata che può essere sfruttata da qualsiasi software collegato ad essa, con la capacità di intercettare e manipolare l’interazione dei dati con la libreria stessa, e la possibilità di poter eseguire qualsiasi comando su qualsiasi macchina si trovi installato.
Cos’è xz
XZ utils, nota anche con il nome LZMA Utils, è un kit di software open source per la compressione dei dati da linea di comando, che include comandi come
lzma
e con il nome più comune di
xz
diffusa su sistemi Linux, Unix e da qualche tempo, anche per Windows. Sfrutta l’algoritmo di Lempel-Ziv-Markov per la compressione dei dati ed è disponibile in vari porting su numerosi sistemi operativi.
Altri dettagli sulla falla (backdoor xz)
La falla è stata resa pubblica da qualche ora e riguarda la versione 5.6.x di XZ (5.6.1 e 5.6.0): si tratta di una backdoor, nello specifico, ovvero di una “porta d’ingresso secondaria” che permette ai programmatori di accedere alle funzioni di basso livello o a quelle root, e che può permette ad un utente arbitrario di accedere al massimo livello di permessi di sistemi. Classificata come falla di sicurezza informatica di livello 10, ovvero allerta massima, mentre il tutto si traduce in una libreria liblzma modificata che può essere utilizzata da qualsiasi software collegato a questa libreria, intercettando e modificando l’interazione dei dati con questa libreria.
La falla è stata dettagliata e classificata nel CVE-2024-3094.
Impatto / Cosa fare
Non ci sono evidenze di uso malevolo all’interno di alcun sistema, ad oggi.
Tuttavia i ricercatori informatici che hanno scoperto il problema indicano che i pacchetti alterabili sono presenti esclusivamente nelle versioni Linux in Fedora 41 e Fedora Rawhide, mentre non dovrebbero avere alcun impatto su Red Hat Enterprise Linux (RHEL), Debian Stable, Amazon Linux e SUSE Linux Enterprise e Leap. Per ulteriore cautela, agli utenti di Fedora Linux 40 è stato consigliato di effettuare il downgrade alla versione 5.4.
Sembra che la backdoor venga collegata al daemon che gestisce SSH sulla macchina attaccata, consentendo a un utente malintenzionato di eseguire codice arbitrario su qualsiasi macchina. Ciò significa che qualsiasi macchina con il pacchetto vulnerabile che espone SSH a Internet sarebbe stato potenzialmente vulnerabile. Questa backdoor è considerata uno dei più significativi strumenti di intrusione mai visti, al pari (se non peggio) della falla SolarWinds. Gli aggressori sono in questo caso riusciti quasi a ottenere l’accesso immediato a qualsiasi macchina Linux con una distribuzione infetta, tra cui Fedora, Ubuntu e Debian.
C’è solo una persona che ha impedito che ciò accadesse: Andres Freund.
Distribuzioni Linux interessate
Di seguito sono riportate alcune delle altre distribuzioni Linux interessate dall’attacco:
distro Kali Linux (aggiornate tra il 26 e il 29 marzo)
distro openSUSE Tumbleweed e openSUSE MicroOS (aggiornate tra il 7 e il 28 marzo)
distro Debian versione testing, unstable e sperimentale (da 5.5.1alpha-0.1 a 5.6.1-1)
In generale si suggerisce il downgrade all’ultima versione sicura ad oggi 30 marzo, ovvero la XZ Utils 5.4.6 Stable.
La pagina dedicata al bug su Github è stata disabilitata da Microsoft per violazione delle condizioni d’uso. Se questa backdoor non fosse stata rilevata da un ingegnere un po’ più curioso della media, per quanto tempo sarebbe rimasta attiva? E forse, ancora peggio: se questo fosse già successo in passato? (fonte)
Suggerisco per approfondimento tecnico il video di Matteo Flora e Stefano Zanero.
👇 Da non perdere 👇
- Cellulari 📱
- Gratis 🎉
- Informatica 🖥
- monitoraggio servizi online 📈
- Programmare 🖥
- Reti 💻
- Scrivere 🖋
- 💬 Il nostro canale Telegram: iscriviti
- 🟡 Ottimizzare WordPress: wp_options, tempi di caricamento e dimensioni ottimizzate delle immagini
- 🔴 Perchè l’emulazione è bella (e non è litigarella)
- 🔴 Come accedere a Sky – Fare login