Il 29 marzo, Lo sviluppatore di software Microsoft Andres Freund stava cercando di ottimizzare le prestazioni del suo computer quando ha notato che un programma utilizzava una quantità inaspettata di potenza di elaborazione. Freund si è tuffato per risolvere il problema e “si è insospettito”.

Alla fine, Freund scoprì l’origine del problema, che in seguito pubblicò su una mailing list di sicurezza: aveva scoperto una backdoor in XZ Utils, un’utilità di compressione dati utilizzata da un’ampia gamma di varie applicazioni per computer basate su Linux: una costellazione di open source -software sorgente che, sebbene spesso non sia rivolto al consumatore, sostiene le funzioni informatiche e Internet chiave come le comunicazioni sicure tra macchine.

Individuando inavvertitamente la backdoor, sepolta in profondità nel codice dei file di test binari, Freund ha evitato una catastrofe di sicurezza su larga scala. Qualsiasi macchina che eseguisse un sistema operativo che includesse l’utilità backdoor e soddisfacesse le specifiche stabilite nel codice dannoso sarebbe stata vulnerabile alla compromissione, consentendo a un utente malintenzionato di assumere potenzialmente il controllo del sistema.

La backdoor XZ è stata introdotta tramite quello che è noto come attacco alla catena di fornitura del software, che il Centro nazionale di controspionaggio e sicurezza definisce come “atti deliberati diretti contro le catene di fornitura dei prodotti software stessi”. Gli attacchi spesso utilizzano metodi complessi per modificare il codice sorgente dei programmi, ad esempio ottenendo l’accesso non autorizzato al sistema di uno sviluppatore o tramite un insider malintenzionato con accesso legittimo.

Secondo Ars Technica e Wired, il codice dannoso in XZ Utils è stato introdotto da un utente che si fa chiamare Jia Tan, utilizzando l’handle JiaT75. Tan ha contribuito al progetto XZ almeno dalla fine del 2021 e ha creato fiducia nella comunità di sviluppatori che ci lavorano. Alla fine, sebbene la tempistica esatta non sia chiara, Tan divenne co-manutentore del progetto, insieme al fondatore, Lasse Collin, consentendo a Tan di aggiungere codice senza che i contributi fossero approvati. (Né Tan né Collin hanno risposto alle richieste di commento.)

La backdoor XZ tradisce un funzionamento sofisticato e meticoloso. Innanzitutto, chiunque abbia condotto l’attacco ha identificato un software che sarebbe stato incorporato in una vasta gamma di sistemi operativi Linux. Lo sviluppo di questa utility tecnica ampiamente utilizzata era a corto di personale, con un unico manutentore principale, Collin, che in seguito ammise di non essere in grado di mantenere XZ, offrendo l’opportunità a un altro sviluppatore di intervenire. Quindi, dopo aver coltivato la fiducia di Collin per un periodo di anni, Tan ha inserito una backdoor nel servizio di pubblica utilità. Tutte queste mosse sono state sostenute da una competenza tecnica che ha inaugurato la creazione e l’incorporamento del codice backdoor vero e proprio, un codice sufficientemente sofisticato da consentire che l’analisi delle sue precise funzionalità e capacità sia ancora in corso.

“L’attenzione posta nel nascondere gli exploit nei file di test binari, nonché il tempo impiegato per guadagnarsi una reputazione nel progetto open source per sfruttarlo successivamente, sono insolitamente sofisticati”, ha affermato Molly, un’amministratore di sistema presso la Electronic Frontier Foundation che va da un mononimo. “Tuttavia, non c’è ancora alcuna indicazione se si trattasse di un supporto statale, di un gruppo di hacker, di uno sviluppatore disonesto o di qualsiasi combinazione di quanto sopra.”

L’ascesa di Tan al ruolo di co-maintainer si è svolta principalmente in un gruppo di posta elettronica in cui gli sviluppatori di codice, nello spirito collaborativo e open source della famiglia di sistemi operativi Linux, si scambiano idee e sviluppano strategie per creare applicazioni.

In una lista e-mail, Collin ha dovuto affrontare una serie di lamentele. Un gruppo di utenti, relativamente nuovi al progetto, aveva protestato dicendo che Collin era rimasto indietro e non aggiornava il software abbastanza velocemente. Dovrebbe, secondo alcuni di questi utenti, cedere il controllo del progetto; alcuni hanno chiesto esplicitamente l’aggiunta di un altro manutentore. Ammettendo che non poteva più dedicare abbastanza attenzione al progetto, Collin nominò Tan un co-manutentore.

Gli utenti coinvolti nei reclami sembravano materializzarsi dal nulla, postando i loro messaggi da quelli che sembrano essere account Proton Mail creati di recente, per poi scomparire. Tutta la loro presenza online è legata a queste brevi interazioni sulla mailing list dedicata a XZ; il loro unico interesse registrato è quello di introdurre rapidamente aggiornamenti al software.

Varie agenzie di intelligence statunitensi hanno recentemente espresso interesse ad affrontare gli attacchi alla catena di fornitura del software. La Cybersecurity and Infrastructure Security Agency è entrata in azione dopo la scoperta di Freund, pubblicando un avviso sulla backdoor XZ il 29 marzo, lo stesso giorno in cui Freund l’ha pubblicato pubblicamente.

Giocatori open source

Nel mondo open source della programmazione Linux – e nello sviluppo di XZ Utils – la collaborazione avviene tramite gruppi di posta elettronica e repository di codice. Tan ha pubblicato sul listserv, ha chiacchierato con Collin e ha contribuito alle modifiche del codice sul repository di codici Github, di proprietà di Microsoft. Da allora GitHub ha disabilitato l’accesso al repository XZ e disabilitato l’account di Tan. (A febbraio, The Intercept e altre società di notizie digitali hanno citato in giudizio Microsoft e il suo partner OpenAI per aver utilizzato il loro giornalismo senza permesso o credito.)

Diverse altre figure sulla mailing list hanno partecipato agli sforzi – apparentemente diffusi ma coincidenti negli obiettivi e nei tempi – per installare il nuovo co-maintainer, a volte spingendo particolarmente per Tan.

Successivamente, su un listserv dedicato a Debian, uno dei sistemi operativi più popolari della famiglia Linux, un altro gruppo di utenti ha sostenuto l’inclusione della versione backdoor di XZ Utils nella distribuzione del sistema operativo.

Questi gruppi dedicati hanno svolto ruoli discreti: in un caso, lamentandosi della mancanza di progressi su XZ Utils e spingendo per aggiornamenti più rapidi installando un nuovo co-manutentore; e, nell’altro caso, spingere affinché le versioni aggiornate siano distribuite rapidamente e ampiamente.

“Penso che i molteplici account verdi che sembrano coordinarsi su obiettivi specifici in momenti chiave si adattino al modello di utilizzo di reti di account calzino per l’ingegneria sociale che abbiamo visto su tutti i social media”, ha affermato Molly, l’amministratore del sistema EFF. “È molto probabile che lo sviluppatore canaglia, il gruppo di hacker o lo sponsor statale abbiano utilizzato questa tattica come parte del loro piano per introdurre la backdoor. Naturalmente è anche possibile che si tratti solo di coincidenze”.

Il modello sembra adattarsi a ciò che nel gergo dell’intelligence è noto come “gestione della persona”, la pratica di creare e successivamente mantenere molteplici identità fittizie. Un documento trapelato dall’appaltatore della difesa HBGary Federal delinea la meticolosità che può essere necessaria nel mantenere questi personaggi fittizi, inclusa la creazione di un’elaborata impronta online, qualcosa che decisamente mancava negli account coinvolti nella sequenza temporale di XZ.

Sebbene questi altri utenti utilizzassero e-mail diverse, in alcuni casi hanno utilizzato fornitori che forniscono indizi su quando sono stati creati i loro account. Quando utilizzavano gli account Proton Mail, ad esempio, le chiavi di crittografia associate a questi account venivano create lo stesso giorno, o pochi giorni prima, i primi post degli utenti sul gruppo di posta elettronica. (Gli utenti, tuttavia, possono anche generare nuove chiavi, il che significa che gli indirizzi e-mail potrebbero essere più vecchi delle chiavi attuali.)

Uno dei primi di questi utenti nell’elenco utilizzava il nome Jigar Kumar. Kumar appare nella mailing list di sviluppo XZ nell’aprile 2022, lamentandosi del fatto che alcune funzionalità dello strumento creano confusione. Tan ha risposto prontamente al commento. (Kumar non ha risposto a una richiesta di commento.)

Kumar si è presentato ripetutamente con successive lamentele, a volte sfruttando il malcontento degli altri. Dopo che Dennis Ens è apparso sulla stessa mailing list, Ens si è anche lamentato della mancata risposta a uno dei suoi messaggi. Collin ha riconosciuto che le cose si stavano accumulando e ha detto che Tan lo aveva aiutato a uscire dalla lista; potrebbe presto avere “un ruolo più importante con XZ Utils”. (Ens non ha risposto a una richiesta di commento.)

Dopo un’altra lamentela da parte di Kumar che chiedeva un nuovo manutentore, Collin ha risposto: “Non ho perso interesse ma la mia capacità di prendermi cura è stata abbastanza limitata principalmente a causa di problemi di salute mentale a lungo termine ma anche per altre cose. Recentemente ho lavorato un po’ fuori lista con Jia Tan su XZ Utils e forse avrà un ruolo più importante in futuro, vedremo.”

La pressione continuava ad arrivare. “Come ho accennato nelle email precedenti, Jia Tan potrebbe avere un ruolo più importante nel progetto in futuro”, ha risposto Collin dopo che Ens gli ha suggerito di cedere alcune responsabilità. “Ha aiutato molto fuori lista ed è praticamente già un co-maintainer. :-)”

Ens è poi rimasto in silenzio per due anni, riemergendo nel periodo in cui la maggior parte del codice backdoor dannoso veniva installato nel software XZ. Ens continuava a sollecitare aggiornamenti sempre più rapidi.

Dopo che Collin alla fine nominò Tan un co-manutentore, ci fu una successiva spinta per ottenere XZ Utils – che ormai aveva la backdoor – distribuito ampiamente. Dopo essere apparso per la prima volta nel repository XZ GitHub nel giugno 2023, un’altra figura che si fa chiamare Hans Jansen ha continuato a spingere per l’inclusione della nuova versione di XZ in Debian Linux. (Jansen non ha risposto a una richiesta di commento.)

Un dipendente di Red Hat, una società di software di proprietà di IBM, che sponsorizza e aiuta a mantenere Fedora, un altro popolare sistema operativo Linux, ha descritto Tan che cercava di convincerlo ad aiutare ad aggiungere la compromessa XZ Utils a Fedora.

Questi popolari sistemi operativi Linux rappresentano milioni di utenti di computer, il che significa che un numero enorme di utenti sarebbe stato disposto a scendere a compromessi se Freund, lo sviluppatore, non avesse scoperto la backdoor.

“Anche se la possibilità di backdoor di ingegneria sociale nel software critico sembra un atto d’accusa nei confronti dei progetti open source, non è un’esclusiva dell’open source e potrebbe verificarsi ovunque”, ha affermato Molly. “In effetti, la capacità dell’ingegnere di scoprire questa backdoor prima che fosse spedita è stata possibile solo grazie alla natura aperta del progetto.”

Origine: theintercept.com



Lascia un Commento