ALLERTA SPOILER: Questo è il testo di accompagnamento al podcast
Il Disinformatico della Radiotelevisione Svizzera che uscirà oggi
presso
www.rsi.ch/ildisinformatico/.
Le puntate del Disinformatico sono ascoltabili anche tramite
iTunes,
Google Podcasts,
Spotify
e
feed RSS.
—
[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.
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 lavoro 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 risultati fallimentari; anche nella Repubblica Ceca e in Slovacchia].
Fonti aggiuntive:
- NEWAG’s digital sabotage of Koleje Dolnośląskie (Dolny Śląsk) trains – what were they thinking?, Jonworth.eu
- Newag comes out fighting in claims over foul play, International Railway Journal
- Wielki skandal na kolei. ABW i premier od miesięcy wiedzieli o aferze z pociągami Newagu, Onet.pl
- Dieselgate, but for trains – some heavyweight hardware hacking, BadCyber
- Polish Hackers Repaired Trains the Manufacturer Artificially Bricked. Now The Train Company Is Threatening Them, 404 Media
- Polish train maker denies claims its software bricked rolling stock maintained by competitor, The Register
- Polish train manufacturer threatens hackers who unbricked their trains, Hackaday.com
- Hackers Hit With Legal Threats After They Fixed a ‘Bricked’ Polish Train, Gizmodo
- Trains were designed to break down after third-party repairs, hackers find, Ars Technica
- The story of the great Polish train hack, Railway-technology.com