Cerca nel blog

2024/01/12

Podcast RSI - Story: Hacker scoprono il Dieselgate dei treni

logo del Disinformatico

È disponibile subito il podcast di oggi de Il Disinformatico della Radiotelevisione Svizzera, scritto, montato e condotto dal sottoscritto: lo trovate qui sul sito della RSI (si apre in una finestra/scheda separata) e lo potete scaricare qui.

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

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

Chicca: durante il montaggio mi sono accorto di aver dimenticato di leggere una parola in una frase. Invece di ritornare in studio a rifare la frase, l’ho fatta dire al mio clone. Riuscite a individuale qual è la frase sintetica?

---

[CLIP: rumore di treno in stazione]

Si può hackerare un treno a fin di bene? A quanto pare sì: è successo in Polonia, dove un gruppo di hacker etici ha dichiarato di aver scoperto che i treni di una marca specifica contengono istruzioni nascoste che generano false segnalazioni di guasto e impediscono la libera concorrenza nella manutenzione.

Questa è la storia di come è stata fatta questa scoperta, certamente non facile, visto che per “hackerare” un treno bisogna avere accesso, appunto, a un esemplare di un treno, cosa un po’ più difficile rispetto a procurarsi un esemplare di smartphone da studiare, per esempio. Eppure è successo, e questa vicenda ha ramificazioni che ci toccano molto da vicino.

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

[SIGLA di apertura]

Guasti misteriosamente puntuali

Siamo in Polonia, a primavera del 2022. Sta per scadere il contratto di manutenzione del primo di undici treni modello Impuls 45WE, fabbricati dall’azienda polacca Newag e gestiti dalle Ferrovie della Bassa Slesia. Un evento normalmente noiosissimo e lontanissimo da qualunque interesse informatico, ma è in arrivo una sorpresa.

Un treno Newag Impuls. By Pudelek (Marcin Szala) - Own work, CC BY-SA 4.0, Link.

La manutenzione, che è obbligatoria dopo un milione di chilometri, è svolta da una società indipendente, la SPS (Serwis Pojazdów Szynowych), che ha vinto l’appalto per questo lavoro battendo la Newag. È un’operazione delicata, che richiede lo smontaggio di moltissimi componenti, ciascuno dei quali va spedito al rispettivo fabbricante, verificato e poi riassemblato e collaudato.

La SPS esegue tutto il lavoro seguendo il manuale di ventimila pagine del fabbricante, riassembla il treno, ma non c’è niente da fare: il computer di bordo dice che è tutto a posto e in ordine di marcia, ma gli inverter si rifiutano di fornire tensione ai motori e nessuno riesce a capire perché.

Un secondo treno dello stesso modello viene sottoposto allo stesso procedimento e avviene la stessa cosa: funzionava perfettamente prima dell’intervento, ma ora si rifiuta di muoversi. E in un’altra officina un altro esemplare si guasta dopo un intervento di manutenzione.

Con vari treni fuori uso, iniziano i disagi per gli utenti delle Ferrovie della Bassa Slesia e la vicenda finisce sui giornali locali. La Newag spiega che i treni sono stati bloccati da un “sistema di sicurezza” non meglio precisato, di cui però non c’è traccia in quelle ventimila pagine di manuale.

Alla SPS, la ditta che dovrebbe fare manutenzione e far ripartire quei treni misteriosamente bloccati, si accumulano i ritardi e le relative penali, e la tensione (quella psicologica, non quella elettrica) sale. Avendo esaurito ogni altra strada tecnica, qualcuno ha un’idea: chiedere a un gruppo di hacker etici di esaminare la questione.

Il gruppo si chiama Dragon Sector, e ha esperienza anche nel settore delle macchine industriali informatizzate, ma un treno è un caso decisamente insolito. Con fatica i tre membri di Dragon Sector riescono a scaricare dal treno una copia del software di gestione del computer e iniziano a esaminarlo. Ma è un lavoro lento e difficile.

Dopo un mese e mezzo di tribolazioni degli informatici, con i treni ancora bloccati, le Ferrovie della Bassa Slesia perdono la pazienza e annunciano l’imminente rescissione del contratto, che verrà passato alla Newag. Ma il giorno prima della scadenza gli informatici riescono a trovare una configurazione del computer di bordo che fa ripartire i treni, e quindi le Ferrovie decidono di non rescindere quel contratto.

L’esame svolto dal gruppo di hacker etici rivela che il software di questi treni ha delle caratteristiche molto particolari: per esempio, contiene delle coordinate geografiche che sembrano a prima vista casuali ma sono quelle dei centri di manutenzione ferroviaria polacchi. Il software include anche una serie di istruzioni che impediscono al treno di muoversi se rimane per almeno dieci giorni presso uno di questi centri. E ci sono anche altre istruzioni, che bloccano il treno quando viene sostituito uno dei suoi componenti, grazie a un controllo sui numeri di serie dei vari pezzi, e salta fuori che il blocco può essere annullato premendo una particolare sequenza di tasti nella cabina di guida. Tutte funzioni non documentate dai manuali. Su un altro esemplare dello stesso treno viene trovato del codice che gli ordina di “guastarsi” dopo un milione di chilometri.

Il 21 novembre 2022 succede un altro evento insolito: un ulteriore esemplare che non era in manutenzione rifiuta di partire, dicendo che il compressore è guasto, ma i meccanici lo controllano e dicono che va benissimo. L’analisi del software di bordo fa emergere un’istruzione che dice specificamente che va visualizzata la segnalazione di guasto al compressore dopo una certa data.

Non mancano le sorprese anche a livello hardware: i ricercatori trovano su un altro esemplare di questo treno un dispositivo connesso a un modem GSM che consente al computer di bordo di inviare e ricevere dati.

Le mani nella marmellata

La notizia della riparazione del treno da parte della SPS si diffonde in fretta fra gli addetti ai lavori ed emerge che in giro per il paese ci sono una ventina di esemplari apparentemente guasti presso varie aziende. Tutti, stranamente, riprendono a funzionare quando i ricercatori isolano dal software di bordo i comandi di blocco o applicano i comandi di sblocco corrispondenti.

Il CERT nazionale polacco, una delle principali autorità di sicurezza informatica del paese, viene avvisato della situazione dai ricercatori a dicembre 2022, e i ricercatori presentano i risultati delle proprie scoperte alla conferenza Oh My H@ck un anno dopo, il 5 dicembre 2023. Se vi interessano i dettagli tecnici, li trovate linkati su Disinformatico.info.

In sintesi, secondo questi esperti il software di bordo dei treni della Newag è progettato in modo da generare guasti inesistenti e rendere impossibile la manutenzione da parte di altre aziende concorrenti.

Questa, perlomeno, è la ricostruzione dei fatti presentata [anche su Mastodon] dagli esperti informatici della Dragon Sector. Ma la Newag, la casa produttrice dei treni in questione, non concorda.

Il 6 dicembre 2023, il giorno dopo la presentazione pubblica dei risultati dei ricercatori, la Newag emette un comunicato stampa (PDF, in polacco) negando l’esistenza di queste caratteristiche nel suo software, attribuendo eventuali problemi a ignoti hacker e affermando che si tratta di un caso di diffamazione da parte delle aziende concorrenti. Secondo Newag, questi treni sarebbero ora insicuri, perché il software sarebbe stato alterato e la riparazione dei treni costituirebbe una violazione del copyright. L’azienda ha anche minacciato di avviare un’azione legale contro gli esperti informatici.

Ma Dragon Sector ha rincarato la dose, presentando una relazione documentatissima al congresso informatico Chaos Communications Conference ad Amburgo a fine dicembre 2023 e spiegando che non ha affatto alterato il software presente a bordo dei treni, ma ha solo usato il codice esistente e i meccanismi di sblocco già presenti.

La loro risposta tecnica alle affermazioni di Newag è che è evidente che chi ha inserito quelle istruzioni nel software aveva accesso al suo codice sorgente, e a quanto risulta quel codice ce l’ha solo Newag. Uno degli esperti di Dragon Sector ha precisato inoltre che finora il suo gruppo non ha ancora ricevuto alcuna comunicazione legale da Newag.

La questione è ancora in evoluzione, ma l’ex ministro degli affari digitali della Polonia (Janusz Cieszyński) ha confermato che il governo ne era a conoscenza da tempo e ha dichiarato che secondo lui la Newag non è una vittima in questa vicenda.

Lo scenario che si va delineando, insomma, è quello purtroppo tipico di tanti prodotti elettronici di consumo, dagli smartphone alle stampanti alle macchine per il caffè: il fabbricante usa il software di gestione per inserire delle funzioni nascoste che inventano manutenzioni fittizie, rifiutano riparazioni effettuate da terzi o non accettano cartucce o capsule tecnicamente compatibili offerte da altri produttori. Una pratica anticoncorrenziale illegale in molti paesi, che danneggia i consumatori e arricchisce i fabbricanti che la adottano. È però insolito vedere queste tecniche applicate a un treno, in una sorta di Dieselgate ferroviario.

Trasparenza negata

La vicenda dei treni polacchi non è il primo caso del suo genere: a maggio 2022 era emerso che anche il fabbricante di veicoli agricoli John Deere ha adottato misure analoghe per obbligare i clienti a rivolgersi alla sua rete di assistenza e riparazione.

Questo tipo di pratica è molto difficile da scoprire: un conto è fare un’indagine su uno smartphone acquistandone qualche esemplare, un altro è dover comperare un intero treno o un trattore per poterlo studiare e verificare che non contenga trappole nascoste nel software.

Eppure la soluzione ci sarebbe: obbligare i fabbricanti a rendere disponibile il proprio software almeno agli esperti. Alcuni grandi operatori ferroviari [SNCF], per esempio, esigono dal fornitore l’accesso al codice sorgente del software che gestisce i sistemi di bordo dei treni. Ma i fabbricanti sono riluttanti, sia perché rischiano che eventuali trucchetti vengano scoperti, sia perché il loro software spesso contiene conoscenze industriali che farebbero gola ai concorrenti, e sostengono inoltre che pubblicare il software dei loro prodotti faciliterebbe gli attacchi informatici.

Ma come sanno bene i sostenitori dell’open source, che da decenni chiedono trasparenza nel software, la sicurezza è una scusa: se un programma deve restare segreto per essere sicuro, vuol dire che è scritto male. Un programma scritto bene rimane sicuro anche quando è liberamente consultabile. E finché il programma scritto male è quello di un videogioco o di uno spreadsheet, pazienza; ma se si tratta del software che fa funzionare un treno che trasporta persone, il rischio di un crash diventa molto più serio. Anche perché se il fabbricante introduce intenzionalmente funzioni che gli permettono di paralizzare un treno o una macchina agricola da remoto, quelle funzioni possono essere scoperte e usate anche da malintenzionati, per esempio per estorsioni, oppure in caso di guerra.

E se state pensando che i treni intenzionalmente vulnerabili siano solo un problema polacco, tenete presente che lo stesso fabbricante esporta per esempio anche in Italia [sulla Ferrovia Circumetnea, con qualche difficoltà; anche nella Repubblica Ceca e in Slovacchia].


Fonti aggiuntive:

Nessun commento: