BMW, M2M &co.

A volte succede che faccio un post specifico sul mio lavoro specifico. Come sapete oggi mi occupo di M2M, (Machine to Machine), nome reale di quello che vi vendono come “Internet of Things” o se preferite “Industrial Internet” , a seconda di chi siate. Oggi voglio parlare dell’ hack del sistema M2M montato sulle automobili BMW, come si scrive qui: http://www.heise.de/ct/ausgabe/2015-5-Sicherheitsluecken-bei-BMWs-ConnectedDrive-2536384.html 
Se tenete conto che heise.de e’ un pochino IL giornale di informatica tedesco, si tratta di una figura che BMW avrebbe voluto evitare.
Eppure, se leggete attentamente l’articolo, la colpa NON e’ di BMW, ma di altri.
Partiamo da un’ipotesi di base.

BMW produce automobili.
Piu’ che “ipotesi” la definiremmo un fatto, dal momento che e’ innegabile. E’ vero che – ci ho avuto a che fare – i signori di BMW hanno quel tot di hybris che li porta a pensare che – se fanno qualcosa – verra’ bene quanto una BMW, perche’ a farla sono quelli di BMW.
Ok, il successo puo’ dare una visione del mondo distorta.
Ma rimane un punto: le auto di BMW usano diverse catene di servizi che BMW non possiede. BMW non possiede aziende petrolifere, non possiede aziende chimiche, non possiede fabbriche di pellame, eppure sono tutte cose che utilizza per le sue auto e per i servizi collegati.
E’ vero che il motore di BMW utilizza la benzina, ma questo non significa che BMW sappia fare la benzina meglio di chiunque altro: significa che e’ molto brava nell’usare (e quindi conoscere) la benzina che c’e’.
Ora, se BMW decide di entrare nel mondo del M2M, puo’ fare due cose:
  • Disegnare e costruire una rete di telecomunicazioni sicura, onnipresente (o presente almeno ovunque voglia portare un’automobile) , dotarsi di un backend M2M da loro stessi costruito, e sulla base di queste specifiche disegnare ConnectDrive.
  • Oppure puo’ andare da una grossa, gigantesca telco e comprare il servizio. In tal caso BMW si accordera’ sugli SLA con la telco X, misurera’ dei KPI, e specialmente integrera’ il loro sistema con il sistema di backend – e con la rete della telco, se necessario adattando l’auto alla telco.

Perche’ ho scritto “adattare l’auto alla telco”? Perche’ BMW fa auto, non fa telco. Se una telco SERIA si butta nel mondo M2M, avra’ cura di costruire un ecosistema, o almeno un framework di servizi, del quale fornira’ l’interfaccia a chi si vuole connettere.

Perche’ deve farlo la Telco?
Deve farlo la telco perche’ la telco , di mestiere ,  fa… la telco.
Certo, BMW puo’ investire e costruirsi il suo settore di eccellenza TLC, ma il mondo M2M e’ fatto di vending machine, di allarmistica, di sensori per caldaie, di sensori per stampanti , di sensori per catini di fermentazione per la birra, di agroinformatica, e chi ne ha piu’ ne metta.
Non tutte queste ditte possono  ogni volta costruirsi le competenze e lo know how: cosi’ come BMW non ha dovuto inventare la benzina BMW , ma si e’ basata su quella presente in rete, ovviamente TUTTE le aziende del mondo M2M andranno ad usare gli enabler che ci sono.
Per questa ragione dico: non date la colpa a BMW. Sicuramente BMW ha peccato in due diligence non assumendo un’azienda di consulenti che, da terza parte, facesse un auditing del sistema. E ripeto: da terza parte. Ma qui siamo nel mio mercato, quindi non voglio parlare pro domo mia, o almeno dare il sospetto di farlo.
Ma la mancata Due Diligence di BMW non spiega nulla. Per un motivo.
Supponiamo che la telco X si butti nel mondo M2M. Se vuole farlo IN MODO SERIO, avra’ cura di costruire una rete ad hoc – perlomeno, una rete capace, adeguata e dedicata  per un settore che ha esigenze diverse dal settore telco/consumer e telco/enterprise(1) – e di costruire un framework adeguato, del quale fornira’ le specifiche di interfaccia, se preferite delle API, anche se il termine non e’ del tutto corretto.
Ora, se io telco ho una rete che si propone di collegare N-mila entita’ M2M, devo fare protezione dell’endpoint. Devo cioe’ preoccuparmi del fatto che un endpoint bacato o vulnerabile non permetta ad enti ostili l’accesso alla mia rete.
I casi sono tre:
  • o compro una ditta che fa hardware e vendo una scatolina a chi vuole usare i miei servizi.
  • o sottopongo ad auditing eventuali scatoline che il mio cliente si costruisce in casa.
  • fornisco servizi di consulenza a chi vuole costruire scatoline in casa
that’s it.
Forse voi crederete che quell’articolo parli della vulnerabilita’ di Connect Drive di BMW. Palle.

Quell’articolo parla della vulnerabilita’ di una rete mobile, e di un backend M2M, al quale potrebbe essere connessa <qualsiasi cosa piu’ pericolosa di una BMW>, quale una fabbrica di prodotti chimici a due km da casa vostra: e’ sempre M2M.

Ok, ok. Siccome lavoro nel mondo telco forse sono piu’ critico verso la telco, perche’ non vedo la problematica dal lato <io faccio automobili>, mentre la vedo molto bene dal lato <io faccio telco>.
Ma rimane il fatto, e questo e’ un fatto, che la scatola bacata sia connessa ad una rete mobile. La quale non si e’ accorta di un ammasso di “bad practices” da far paura.(2) Quando io ho craccato la scatoletta di BMW, posso attaccare il sistema di BMW, e’ vero.
O no?
Se la rete M2M scade nella validazione dell’endpoint, come e’ possibile affermare con certezza che scada SOLO nel caso dell’endpoint di BMW, e non di <qualsiasi altra cosa ci sia attaccata>? Chi mi dice, cioe’ , che dopo aver smontato una BMW per avere accesso alla rete in questione, non si decida di attaccare qualsiasi altro bersaglio, compresa la “Cianuro Satanico Antipatico INC.”, a due km da casa vostra?
Parliamo di dispositivi di rete, come i GRX, che hanno latenze incredibilmente basse e velocita’ molto alte: un endpoint non validato che mi entra in rete puo’ fare sfaceli.
Certo, spegnere il motore a mezzo milione di automobili puo’ causare disastri. E’ un attentato terroristico non da poco. Ma far saltare in aria gli impianti di 1000 “Cianuro Satanico Antipatico INC” e’ una mezza apocalisse: se l’utente potrebbe in teoria togliere ConnectDrive la possibilita’ di spegnere il motore, e otterrebbe una comune auto che si spegne quando l’autosta fa qualcosa, la “Cianuro Satanico Antipatico INC” non puo’ esattamente rimuovere i dispositivi di controllo dall’impianto cosi’, da un giorno all’altro.
Che cosa intendo dire?
Se assumiamo che BMW, per avere copertura GSM ovunque le auto vadano, si sia accordata con una o piu’ dei grandi Tier 1 del mondo M2M, otteniamo che:

Almeno UNA  delle telco  Tier 1 del mondo M2M ha costruito una rete che NON valida l’integrita’ dell’endpoint, e la sta proponendo ad aziende come BMW, consentendo loro di attaccare qualsiasi scatola alla rete, senza offrire consulenza o almeno auditing.

Quante altre aziende sono connesse a questa rete M2M? Non lo sappiamo. Forse la “Cianuro Satanico Antipatico INC.”, a due km da casa vostra, ha gia’ connesso i suoi sistemi di controllo di processo con il suo helpdesk in Sarkazzistan.
Questo e’ il punto per il quale dico di non leggere l’articolo di Heise.de facendo caso a BMW. Perche” il problema e’ ENORME, e BMW e’ solo un tassello. Pericoloso, certo. Inaspettato, certo, visto il blasone della casa.
Ma il VERO problema  esposto in quell’articolo e’ una gigantesca rete dedicata ad M2M che non valida l’integrita’ dell’endpoint.
A quella rete potrebbe essere connessa la Cianuro Satanico Antipatico INC, cosi’ come il vostro ospedale. Cosi’ come un numero di emergenza. Certo, ci saranno anche i riscaldamenti domestici – il che trasforma il nostro hacker in un potenziale Nerone – e si, magari anche i distributori automatici di merendine.  E non valida l’integrita’ dell’endpoint.

Capite ora perche’ dico che il problema NON e’ di BMW, ma di chi consente di connettere quella scatoletta di BMW ad una rete che ospita anche la “Cianuro Satanico Antipatico INC”, a due km da casa vostra?

Basta un allarme artificiale per causare lo sversamento di <porcheria chimica verdegialla> nel vostro fiume preferito, per dirne una.
E allora la seconda domanda e’:

Passi che usiamo frequenze a 2.4Ghz, quelle del legame idrogeno-ossigeno, per le telco. Certo, se piove si accorcia la copertura, la nebbia ferma le onde, ma ok. Passi che ci mettiamo anche sopra le reti M2M , senza mettere in vendita altre frequenze meno schifose della 2.4Ghz. MA ALMENO UN POCHINO DI CONTROLLO GOVERNATIVO, UNO STRACCIO DI NORMATIVA SULLA SICUREZZA MINIMA, NON SI PUO’ AVERE?

O aspettiamo che la Cianuro Satanico Antipatico INC scarichi < porcheria chimica vedegialla> in qualche fiume, o peggio in aria, per agire?
(1) No, chi si illuda che “quelli di telco/enterprise si occupano gia’ di grandi clienti con SLA difficili quindi sono adatti ad M2M” e’ un illuso. Il problema e’ “chi termina il traffico”. E nel mondo telco/enterprise e’ comunque un umano. Nel M2M abbiamo una macchina da un lato ed una macchina dall’altro. Problema totalmente diverso, perche’ la macchina non ha “il piano B”.
(2) Per chi non legge i tedesco, passiamo da richieste GET / fatte in chiaro ad algoritmi di cifratura noti come algoritmi deboli, sino a chiavi salvate nel terminale anziche’ nel backend.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *