Analisi sulla sicurezza di una autovettura moderna
1. Analisi di sicurezza sperimentali di una moderna
automobile
Sicurezza nelle moderne autovetture
Sito di riferimento:
http://www.autosec.org/
2. Introduzione
Due gruppi di ricerca:
Università di Washington
Università della California
Un unico obiettivo:
Testare e mettere alla prova i sistemi di sicurezza delle
moderne autovetture
Il nostro obiettivo:
Fare una sintesi dei test e dei risultati da loro ottenuti
3. Le moderne autovetture
Non più solo meccanica
Presenza di molti dispositivi computerizzati
Comunicazioni attraverso una o più reti interne al veicolo
Recenti stime riportano la presenza di 50-70 computer
indipendenti presenti sulle tipiche berline di lusso (in
gergo automobilistico ECU: Electronic Control Unit)
Più di 100MB di codice eseguibile spalmati su questi
dispositivi
4. Pro e Contro
Pro:
Aumentano la sicurezza durante la guida del veicolo
Capacità di diagnostica dei guasti più rapida
Contro:
Quanto più un'autovettura offre sofisticati servizi e
caratteristiche di comunicazione, tanto più aumentano i
rischi dovuti alla variata gamma di attacchi che possono
essere condotti contro l'autovettura
5. Premessa
Implicazioni derivanti da una comunicazione malevole sulla
rete interna al veicolo
E' lecito chiedersi: come può un attaccante infiltrarsi e
prendere il controllo delle funzionalità offerte da veicolo?
...
6. Modelli di minaccia
Accesso fisico:l'attaccante ha accesso fisico alla macchina e
inserisce un componente malevolo attraverso l'OnBoard
Dignostic (scheda situata di solito sotto il cruscotto).
Presenza permanente oppure temporanea del componete
all'interno della rete.
Accesso tramite interfaccia wireless: le moderne autovetture
sono dotate di molteplici interfacce wireless (almeno 5
quelle individuate sulle macchine utilizzate per i test).
Vulnerabilità introdotte da questo tipo servizi.
7. Ambiente sperimentale
Due autovetture della stessa marca e modello anno 2009
Presenza di un gran numero di componenti controllati
elettronicamente e sofisticati sistemi telematici
Marca e modello?
9. Ambiente sperimentale
ECM: modulo di gestione del motore
EBCM: modulo di controllo dei freni
TCM: controllo di trasmissione elettronica per la gestione del cambio
delle marce
BCM: controlla diverse funzioni del veicolo e agisce da firewall tra le
due sotto reti
Telematics: consente la comunicazione dati con il veicolo via
connessione cellulare.
RCDLR: sistema di apertura/chiusura porte via telecomando
HVAC: controllo condizionatore
SDM: controllo dell'airbag e cinture di sicurezza
IPC/DIC: display per mostrare al conducente informazioni sulla
velocità, carburante e stato del veicolo
Radio: radio
TDM: modulo antifurto; impedisce l'avvio della macchina senza chiave
legittima
10. Ambiente sperimentale
CAN: Controller Area Network. Protocollo per la
comunicazione tra i vari componenti; due varianti disponibili
(L-S B e H-S B); accesso e interrogazione componenti.
Al banco: analisi dell'hardware
Sul cric: sicurezza e convenienza; portatile connesso
all'OBD- II; cavo specifico per la comunicazione con L-S B e
H-S B; utilizzo di CarShark
Su strada: in strada isolata, macchina “sotto attacco” e
macchina “inseguitrice”
CarShark: analizzatore del CAN bus; packet injection;
possibilità di effettuare più tipi di attacchi
11. Sicurezza nella rete interna del veicolo
CAN bus: dal 2008 standard secondo determinate
specifiche per effettuare delle diagnosi. Protocollo di data-
link più utilizzato per le comunicazioni nelle reti interne ai
veicoli
No sistema d'indirizzi, modello pubblish-subscriber,
pacchetto inviato a tutti i nodi, presenza di due livelli fisici
separati (L-S B e H-S B)
12. Sicurezza nella rete interna del veicolo
Debolezze chiave:
Natura broadcast del protocollo: un componente malevolo
può curiosare in tutte le comunicazioni o inviare pacchetti a
qualsiasi nodo;
Sensibilità ai DoS: lo schema basato sulle priorità permette
ad un nodo di definire uno stato “dominante” sul bus in
maniera indefinita, ed estromettere gli altri nodi
Nessun campo per l'autenticazione:ogni componente può
inviare indistintamente un pacchetto a qualsiasi altro
componente. Pericolosità dei componenti compromessi!
Controllo d'accesso debole: prevista una sequenza
challage-response per proteggere le ECUs contro certe
certe azioni senza autorizzazione (Reflashing e protezione
memoria)
13. Sicurezza nella rete interna del veicolo
Deviazione dallo standard:
Semplifica il lavoro di un attaccante
Sequenze challenge-response insufficienti al fine di
proteggersi da aggiornamenti malevoli del firmware
Possibilità di:
Disabilitare le comunicazioni: “disabilita le comunicazioni
CAN”
Reflashing delle ECUs durante la guida: “il modulo del
controllo del motore dovrebbe rifiutare richieste di inizio
programmazione mentre il motore è avviato”
Caricare codice proprio sull'unità telematica: “ECUs con
funzionalità di sicurezza, sistemi antifurto devono essere protetti
da sequenze di tipo challege-response”
14. Sicurezza dei componenti
Metodologie di attacco e comprensione del funzionamento:
Sniffing:utilizzo di CarShark per osservare il traffico sul CAN
bus
Fuzzing: utilizzato per attacchi significativi e per aiutare nel
reverse-engineerig
Reverse-engineering: scaricamento dei codici di alcune
ECU tramite servizio di ReadMemory ed utilizzo di un
debugger di terze parti per comprendere alcune
collaborazioni di tipo hardware. Essenziale per gli attacchi
che richiedono l'aggiunta di nuove funzionalità, manipolando
il software già esistente
15. Risultati dei test condotti in condizioni stazionarie
Radio: primo attacco effettuato; completo controllo della
radio e del suo display.
Pannello del cruscotto: completo controllo
16. Risultati dei test condotti in condizioni stazionarie
Altri attacchi effettuati:
17. Risultati dei test condotti in condizioni stazionarie
Body Controller: controllo ripartito su L-S B e H-S B;
controllo di tutte le funzioni
18. Risultati dei test condotti in condizioni stazionarie
Motore: controllo dell'accellerazione e dei cilindri (Fuzzing)
Freni: controllo individuale e non (Fuzzing)
19. Risultati dei test condotti su strada
Effettuati in condizioni sicure
Gran parte dei risultati identici a quelli effettuati in condizioni
stazionaria, tranne per l'EBCM!!!
20. Interazione multicomponente
Sicurezza dei singoli componenti e dell'interazione tra di
essi
Contachilometri: velocità reale intercettata sul L-S B e
trasmissione dei pacchetti malevoli contenenti la falsa
velocità
Luci: pacchetti per disabilitare luci interne ed esterne.
Autodistruzione: ottenuto combinando i controlli che
avevano su determinati componenti del BCM
Condotti sia in condizioni stazionarie che su strada
21. Interazione multicomponente
Bridging: componenti connessi al L-S B e componenti
connessi al H-S B; utilizzo dell'unità telematica
Hosting code;Wiping code: coesistenza tra vecchio codice
e nuovo codice; aumenta le problematiche
22. Riassunto vulnerabilità riscontrate
Manipolazione ECUs testate e anche altre
Elevata fragilità dei sistemi: semplicità nel condurre
l'attacco
Assenza del controllo d'accesso: il protocollo CAN descrive
metodi contro aggiornamenti del firmware non autorizzati,
ma...
Possibilità di bridging tra i due bus
Possibilità di caricare nuovo codice e cancellarne le tracce
23. Considerazioni e conclusioni
Servizi di diagnostica e reflashing: mancanza dei controlli
d'accesso a questi servizi → ECUs arbitrarie non
dovrebbero fornire questi tipi di comandi ed
implementazione di sistemi di autenticazione
Componenti di terze parti: componenti non fidati possono
creare problemi di sicurezza → Filtro tra i componenti e
bus per far passare solo pacchetti convalidati
Individuazione o prevenzione?