Cerca nel blog

2023/08/25

Podcast RSI - Story: Come hackerare un satellite legalmente, e perché

logo del Disinformatico

È disponibile subito il podcast di oggi de Il Disinformatico della Radiotelevisione Svizzera, scritto, montato e condotto dal sottoscritto: lo trovate presso www.rsi.ch/ildisinformatico (link diretto) e qui sotto.

Le puntate del Disinformatico sono ascoltabili anche tramite feed RSS, iTunes, Google Podcasts e Spotify.

Buon ascolto, e se vi interessano il testo di accompagnamento e i link alle fonti di questa puntata, sono qui sotto.

Nota tecnica: Le dichiarazioni degli intervistati sono state rimontate solo per chiarezza e brevità. Le interviste sono state effettuate via Zoom e il loro testo è stato trascritto inizialmente usando Whisper per poi rivederlo manualmente.

---

Il video della premiazione alla DEF CON. A 6:20 viene fatto l’annuncio della vittoria. A 34:30 viene mostrata l’immagine catturata.

[CLIP: “Congratulations to team Mhackeroni”]

Siamo a Las Vegas, ed è il 13 agosto 2023. L’annuncio che avete appena sentito non riguarda la premiazione di qualche artista musicale emergente. I vincitori sono degli informatici, e sono stati appena premiati per aver preso il controllo di un satellite militare. Questi informatici fanno parte di un gruppo di hacker etici italiani che si fa chiamare “Mhackeroni”.

Questa è la storia di come è possibile hackerare legalmente un satellite in orbita, senza finire in carcere ma anzi ricevendo un premio, ed è anche la storia di come e perché si fa un hackeraggio del genere, raccontata con l’aiuto di due dei protagonisti diretti.

Benvenuti alla puntata del 25 agosto 2023 del Disinformatico, il podcast della Radiotelevisione Svizzera dedicato alle notizie e alle storie strane dell’informatica. Io sono Paolo Attivissimo.

[SIGLA di apertura]

Ogni anno a Las Vegas si tiene la DEF CON, una delle più famose conferenze di sicurezza informatica internazionali. Dal 2020 la DEF CON include Hack-A-Sat, una sfida che consiste nel violare i sistemi di sicurezza informatica di un satellite e prenderne il controllo. Negli anni passati questa sfida si è svolta in un ambiente simulato, oppure usando un esemplare fisico di satellite ben fermo sulla Terra, sul tavolo degli organizzatori.

Ma quest’anno l’obiettivo è comandare un satellite reale e operativo, che sta orbitando intorno alla Terra.

Prima che a qualcuno venga il panico perché immagina una sfida fra hacker sconsiderati che si mettono a pasticciare con i tanti satelliti che volteggiano sopra le nostre teste, rischiando magari di farli precipitare o di scatenare una guerra mondiale, vale la pena di chiarire che non c’è nessun pericolo di questo genere. Ce lo spiega Mario Polino, ricercatore al Politecnico di Milano, dove si occupa di sicurezza informatica. Polino è il capitano di Mhackeroni, il gruppo che ha vinto pochi giorni fa il primo premio di questa sfida.

POLINO: Il controllo principale del satellite è rimasto sempre comunque agli organizzatori. Ed è stato progettato in modo che comunque loro fossero in grado di recuperarne il controllo e quindi in ogni caso la quantità di danni che potevano essere fatti erano estremamente limitati, mi verrebbe da dire praticamente zero. Ci sono una serie di precauzioni che sono state prese, per esempio non ha modo di spostarsi di orbita attivamente, quindi anche qualora tu avessi il controllo di quel satellite non puoi spostarlo, mandarlo a schiantarsi da qualche parte, non è fisicamente possibile. Quello di cui avevamo controllo era per esempio l'assetto, quindi provare a ruotarlo per puntarlo in una direzione o l'altra, poi a bordo aveva una fotocamera, dove potevamo scattare delle fotografie, che sono relativamente innocue, e non c'era niente che poteva in qualche modo rendere il satellite un pericolo.

Notate che Mario Polino parla di “satellite”, al singolare. Il bersaglio spaziale della sfida Hack-a-Sat, infatti, è molto specifico. Si chiama Moonlighter ed è stato costruito e lanciato nello spazio appositamente per questa competizione informatica, che è gestita congiuntamente dall’Aeronautica militare e dalla Space Force degli Stati Uniti. Ed è per questo che il tentativo di violare i sistemi informatici di questo specifico satellite è non solo legale ma è addirittura incoraggiato e premiato dai militari che hanno lanciato Moonlighter.

Moonlighter è un cubesat che ha una massa di circa 5 kg e misura 34 x 11 x 11 cm. Con i pannelli solari aperti misura 50 x 34 x 11 cm. È fabbricato dalla Aerospace Corporation in collaborazione con il US Space Systems Command e l’Air Force Research Laboratory. È entrato in orbita, portato dalla missione CRS-28 di SpaceX, il 5 luglio 2023 ed è stato rilasciato dopo una breve visita alla Stazione Spaziale Internazionale (Spaceforce.mil).

La sfida Hack-A-Sat è insomma completamente diversa dagli attacchi informatici non autorizzati ai satelliti, come quello che ha colpito le stazioni a terra del sistema di trasmissione dati satellitare Viasat a fine marzo 2022, all’inizio dell’invasione russa dell’Ucraina, e ha usato i satelliti di Viasat per iniettare malware nei modem degli utenti. Hack-A-Sat serve a studiare come prevenire questi attacchi: è una sorta di esercitazione militare che coinvolge anche i civili. A patto di essere fra i civili capaci di fare queste cose, s’intende.

Come si diventa hacker satellitari

Ma come si fa a partecipare a una competizione internazionale del genere, e come si viene invitati? È più semplice di quanto verrebbe spontaneo pensare: nessuna visita a casa da parte dei Men in Black, nessuna indagine di polizia sui candidati, e pochissima burocrazia. Viene semplicemente pubblicato su Internet un annuncio, insieme a un regolamento, e se si vuole si partecipa liberamente alle selezioni preliminari.

POLINO: Nella community esistono delle liste di competizioni, e quindi fra le competizioni c'era questa, che aveva un nome interessante. Poi esplorando la competizione sembrava molto divertente, perché era diversa, aveva un tema diverso.

Superare le selezioni, però, non è facile, come racconta Dario Petrillo, studente magistrale all’università La Sapienza a Roma e membro di Mhackeroni dal 2018.

PETRILLO: È molto diretta la cosa, iscrivi il team sulla piattaforma, quando ci sono le qualifiche, fai le qualifiche. Nel nostro caso ci siamo organizzati, ci siamo visti tutti quanti in presenza al laboratorio NECST, al Politecnico di Milano. I primi tre anni non passi, perché è quello che è successo a noi. Però poi, quando effettivamente vai abbastanza bene in classifica, passi alla fase successiva e ti organizzi per le finali. Non è molto complesso partecipare, è più complesso risolvere le challenge.

Se si superano le challenge, ossia le prove di qualifica, le regole sono sorprendentemente semplici anche quando si arriva a manipolare il satellite.

POLINO: Esiste un regolamento che è implicitamente accettato quando si partecipa alla competizione e la cui violazione implica la squalifica. Per le qualifiche non c'è nessun danno che può essere fatto, non c'è accesso al satellite, sono delle challenge messe a disposizione su dei server a disposizione per la competizione, quindi non c'è rischio in quel caso. Per la finale, invece, in cui abbiamo avuto accesso al satellite, comunque non ci sono stati grandi passaggi formali, praticamente la lista dei nomi dei partecipanti, che abbiamo fornito a loro. In realtà è molto semplice partecipare.

Mario Polino e Dario Petrillo parlano di challenge, di prove informatiche da superare. Ma in cosa consistono esattamente queste prove? È come nei film, dove c’è immancabilmente da scoprire all’ultimo secondo la password del satellite per salvare il mondo dai cattivi? Beh, una volta tanto, in un certo senso sì.

POLINO: C'era una challenge sulla password del satellite [ride], quella con cui abbiamo vinto tra l'altro, però è un pochino più complesso. Prima di accedere a un satellite ci sono n layer di comunicazione, con n livelli di cifratura, e quindi la password del satellite di per sé come nel film non esiste, ok? Esistono delle password che proteggono alcuni tipi di accesso e una delle challenge era trovare la password.

Il programma che fa la verifica si trova sul satellite; quello che abbiamo fatto, che bisognava fare, sostanzialmente era sfruttare le tempistiche di computazione per il calcolo della password. Sostanzialmente, quando hai due password e devi verificare che sono uguali, un modo sbagliato per scrivere il confronto è quello di verificare, carattere per carattere, se le due password sono uguali. Questa verifica cambia il tempo di esecuzione in base al numero di caratteri corretti che hai trovato finora. Si può provare il primo carattere e contare il tempo di computazione. Appena il tempo di computazione diventa un po' più lungo, vuol dire che il primo carattere è stato indovinato e puoi passare a cercare il secondo.

Questa cosa sui laptop normali si fa e non è neanche troppo difficile e lì la challenge è stata farla sul satellite, con un processore di cui avevamo pochissime informazioni, quindi non potevamo testarlo, praticamente con pochissimi tentativi, perché il numero di finestre, il numero di comandi che riuscivamo a mandare erano estremamente limitati.

C’è anche un altro esempio di queste challenge che sembra preso di peso dalla finzione cinematografica: prendere il controllo della telecamera a bordo del satellite, puntarla in modo da inquadrare una zona precisa della Terra, far scattare un'immagine e scaricarla.

Cose da James Bond, con la differenza che Bond non saprebbe neanche da che parte cominciare, perché per queste cose non servono muscoli esuberanti e battutine seducenti, ma matrici di orientamento e quaternioni, come spiega Dario Petrillo:

PETRILLO: Sembra una stupidaggine, in realtà puntare un satellite non è per niente banale, perché siamo dovuti impazzire dietro a quaternioni, matrici di orientamento e così via. Avevamo un ragazzo nella squadra che fa questo, studia, credo, aerospaziale; questa cosa ci ha salvato. Infatti abbiamo ottenuto una foto che non ha preso i punti, purtroppo, perché era di poco fuori. L'obiettivo era quello di avere uno di questi punti importanti al centro della foto. Bisognava essere entro 100 chilometri di distanza, noi eravamo a 150. Siamo la squadra che ci è andata più vicina, però, quindi di questo comunque sono contento.

A queste difficoltà matematiche si sono aggiunte quelle fisiche: ben diversamente da quello che accade di solito nella finzione narrativa, attaccare un satellite reale, non più simulato ma in volo nello spazio a circa 28.000 chilometri l’ora, comporta tutta una serie di restrizioni.

Il banco di prova a 28.000 km/h

PETRILLO: Avevamo quattro ground station, quindi quattro antenne sparse sulla superficie della Terra, che potevamo utilizzare. Quando il satellite era sopra una di queste antenne ci si poteva parlare, quando il satellite era da qualche altra parte, buio completo. È capitato di avere una finestra di 12 ore in cui il satellite non era raggiungibile.

Dodici ore non sono poche, considerato che il tempo complessivo a disposizione per l’attacco era circa due giorni, e gli imprevisti non sono mancati.

PETRILLO: Nel primo giorno abbiamo avuto varie finestre di comunicazione. La prima purtroppo l'abbiamo persa, perché non ci siamo organizzati bene, non avevamo i comandi pronti in tempo, il satellite è passato e non gli abbiamo mandato nulla. E poi abbiamo avuto altre quattro o cinque finestre nella prima giornata, in cui abbiamo effettivamente mandato comandi, ricevuto risposte e ottenuto i primi punti. Il secondo giorno ha avuto due finestre in cui insomma eravamo più organizzati, abbiamo mandato tutto quello che avevamo.

Passare dalla simulazione teorica di laboratorio alla realtà è stato insomma un bel banco di prova, che ha permesso di ricreare realisticamente e comprendere meglio i limiti, i tempi e le pressioni psicologiche di un attacco effettivo di una forza ostile.

Lanciare un satellite appositamente per una competizione tra informatici di tutto il mondo può sembrare un metodo molto complicato e costoso per fare ricerca e una forma di apertura molto insolita per un’organizzazione militare. Non sarebbe sufficiente far tentare un attacco a un gruppo di propri militari esperti mentre un altro gruppo fa difesa, come si fa nelle esercitazioni militari tradizionali? No, e Mario Polino spiega perché è necessario coinvolgere persone esperte esterne:

POLINO: Allora, l'obiettivo in generale è quello di avvicinare la community hacking alla community space; sono due mondi abbastanza diversi, con dei mindset abbastanza diversi e abbiamo tanto da imparare l'un l'altro. Ci sono delle vulnerabilità che sono o state osservate in passato o sono l'idea di qualcuno che pensa che possa succedere, quindi viene implementata la challenge con questo task, con questa idea, e poi si osserva come un gruppo di hacker, di persone molto motivate, riescono a sfruttare quella vulnerabilità e che cosa riescono ad ottenere. La parte interessante è che può succedere che il modo con cui si risolve la challenge non è quello atteso da chi l'ha sviluppata.

E infatti la validità di questo approccio è stata dimostrata quando il gruppo Mhackeroni ha fatto qualcosa che gli organizzatori non si aspettavano. Ce lo spiega Dario Petrillo:

PETRILLO: È successo per una challenge; l'obiettivo era quello di far pensare al satellite di essere in una posizione diversa da quella in cui era, corrompendo i dati che gli arrivavano dal GPS. La nostra soluzione è stata quella di mandare dei comandi particolari al ricevitore GPS in modo da fargli trasmettere una posizione completamente sbagliata. La soluzione degli organizzatori era più complessa.

Mario Polino aggiunge dei dettagli che chiariscono perfettamente cosa voglia dire “mindset diversi”, culture informatiche differenti, e spiegano perché questo tipo di competizione sia così utile: un aggressore vede sempre le cose in modo differente da un difensore e spesso trova soluzioni che il difensore non avrebbe nemmeno immaginato.

POLINO: L'idea degli organizzatori era modificare la calibrazione e poi fare un sacco di conti complessi per arrivare al risultato [ride]. Il GPS in realtà ti permetteva di entrare in modalità demo e impostare i numeri che volevi tu e tutti quanti hanno fatto la seconda, ovviamente.

E così un gruppo di hacker etici italiani si è portato a casa il primo premio della competizione; al secondo posto si è piazzata una squadra polacca e al terzo è arrivato un gruppo statunitense. Qual è la lezione generale che ci si porta a casa dopo una sfida del genere, e che implicazioni ha per noi comuni mortali questo duello digitale?

POLINO: La competizione di per sé ha messo in risalto il fatto che se sei un'azienda, una nazione, che sviluppa un satellite, devi tener conto di quali sono le potenziali vulnerabilità e come gestirle. Non che non lo facessero già prima, ma è difficile avere una visione d’insieme di sistemi molto complessi. Quindi quando si mette una persona esterna a guardare sistemi complessi troverà il modo più semplice per ottenere il risultato. La mia speranza è che questo tipo di approccio, di avere una persona esterna che guarda le cose per ottenere risultati, sia sempre più utilizzato anche in questo contesto, anche perché il satellite va su, gli aggiornamenti sono molto limitati, quando hai un sistema che sta in piedi per vent'anni bisogna fare un po' più di attenzione.

Gioia e curriculum

Lasciando da parte un momento il risultato tecnico, c’è anche un risvolto emotivo non trascurabile nel partecipare a un vero hackeraggio satellitare in competizione con altre squadre. Che effetto ha fatto ottenere risultati in un ambiente reale sui membri del gruppo Mhackeroni?

POLINO: Sono tutti entusiasti del risultato, ovviamente. Io, onestamente [ride], faccio ancora fatica, nonostante sia passata almeno una settimana, a realizzare [ride] quello che abbiamo fatto. Durante la competizione, in realtà, noi abbiamo giocato due competizioni in parallelo, quindi abbiamo saputo della vittoria mentre eravamo completamente presi dall'altra competizione, ed eravamo increduli. Abbiamo chiesto conferma più volte [ride] per essere sicuri del risultato, perché eravamo comunque presi dall'altra competizione. Vedi passare una foto in cui siamo primi e dici "Ma è vera questa roba? Qualcuno ha fatto un fotomontaggio". Poi, quando abbiamo confermato che era reale, siamo esplosi e [abbiamo] cominciato a saltare di gioia.

E oltre alle emozioni ci sono anche i benefici professionali. Poter mettere nel proprio curriculum di aver superato le difese di un satellite militare statunitense non è da tutti, e queste competizioni servono proprio per stimolare nuovi talenti. Mario Polino e Dario Petrillo andranno in giro a dire “Ciao sono Mario, ciao sono Dario, nella vita facciamo gli hacker di satelliti”?

POLINO: Il diritto di fare branding di questa cosa ce lo siamo guadagnati, quindi [ride] io lo dirò. D'altra parte, almeno io personalmente, continuo con il mio lavoro. Già un po' mi… avevo iniziato a interessarmi alla security dei satelliti di per sé, quindi è un altro tassello rispetto alle cose che già facevo prima.

PETRILLO: Beh, diciamo, anche per me, alla fine adesso riprende un po' il lavoro alla tesi oppure altre competizioni e così via, però ogni tanto c'è la cosa di "ho hackerato un satellite" che fa scena.

E quindi via, verso nuove avventure informatiche. L’anno prossimo ci sarà quasi sicuramente un’altra gara Hack-A-Sat. Se qualcuno che ascolta questo podcast vuole provarci, adesso forse ha le idee più chiare su come funziona una competizione di questo genere, come ci si accede e cosa ci si fa concretamente. In bocca al lupo!

Fonti aggiuntive: The Register, Wired.it, Cybersecurity News, Politico.

Nessun commento: