CAN è progettato per essere relativamente semplice e viene spesso implementato tra microcontrollori con pochissima potenza di elaborazione (che sono occupati a fare cose in cui i tempi sono importanti) e viene utilizzato per ritrasmettere i messaggi in tempo reale. Aggiungendo un po 'di crittografia e protezione DoS introdurrebbe troppa complessità e dato che sono solo due fili condivisi da tutti i controller, non penso che la protezione DoS sia nemmeno possibile in questo caso (cosa farai se un dispositivo canaglia decide di allagare il bus con spazzatura o tenere continuamente le linee dati "alto"?).
Una soluzione parziale sarebbe quella di separare la rete in più bus, come avviene nella maggior parte delle auto (tutte?), dove viene utilizzato un bus separato per elementi critici, ei gateway vengono utilizzati per trasmettere messaggi specifici tra di loro. DoS su un singolo bus non influenza l'altro.
È infatti possibile riprogrammare il firmware di qualsiasi controller:
Ci sono anche software e hardware facili da usare per questo. Questo particolare screenshot mostra un programma in grado di aggiornare il firmware dei controller motore e dei cluster di strumenti, ma sono sicuro che lo stesso vale per tutti i controller, è solo che la richiesta di software in grado di manomettere i cluster motore / strumento è più alta (per ovvi ragioni) rispetto a quelli in grado di interagire con l'airbag o con gli ABS. Sono sicuro che i criminali stanno sfruttando questi difetti e dimostra ancora una volta che la sicurezza dell'oscurità non funziona.
Se hai il tempo di decodificare il firmware originale, puoi facilmente creare la tua versione dannosa e tutto ciò di cui hai bisogno è 30 secondi di accesso al CAN bus della macchina (tramite la porta diagnostica) per installare il nuovo firmware. Ovviamente, è possibile utilizzare la radio come punto di ingresso (ad esempio, sfruttando le vulnerabilità nelle sue funzioni di decodifica MP3) per accedere al bus CAN e installare il firmware dannoso su altri controller. L'unica sicurezza è l'oscurità del protocollo che decade nel tempo.
Infine, non credo che ci sia un modo efficiente per proteggere il bus CAN - la crittografia e l'autenticazione non faranno molto - in effetti impedirà le intrusioni sul bus (come un dispositivo canaglia collegato alla porta diagnostica) ma non impedirà di compromettere un dispositivo che dovrebbe avere accesso al bus (come la radio) che sarebbe il punto di ingresso principale di un utente malintenzionato.
Informazioni sull'installazione del firmware, che richiedono una passphrase unica stampata nei documenti dell'auto prima che possa essere installato qualsiasi firmware è una buona soluzione, impedirà a un dispositivo compromesso sul bus di compromettere altri dispositivi, consentendo comunque al legittimo proprietario dell'auto per manomettere il firmware se lo desiderano (perché pagare 300 € e spesso di più al rivenditore per sostituire una chiave persa o riprogrammare un controller usato è quello che chiamerei derubare).