Post on 04-Jun-2015
Analisi di sicurezza sperimentali di una moderna automobile
Sicurezza nelle moderne autovetture
Sito di riferimento:http://www.autosec.org/
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 autovettureIl nostro obiettivo:
Fare una sintesi dei test e dei risultati da loro ottenuti
Le moderne autovetture
Non più solo meccanicaPresenza 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
Pro e Contro
Pro:
Aumentano la sicurezza durante la guida del veicoloCapacità 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
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?
...
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.
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?
Ambiente sperimentale
Ambiente sperimentale
ECM: modulo di gestione del motoreEBCM: modulo di controllo dei freniTCM: controllo di trasmissione elettronica per la gestione del cambio delle marceBCM: controlla diverse funzioni del veicolo e agisce da firewall tra le due sotto retiTelematics: consente la comunicazione dati con il veicolo via connessione cellulare.RCDLR: sistema di apertura/chiusura porte via telecomandoHVAC: controllo condizionatoreSDM: controllo dell'airbag e cinture di sicurezzaIPC/DIC: display per mostrare al conducente informazioni sulla velocità, carburante e stato del veicolo Radio: radioTDM: modulo antifurto; impedisce l'avvio della macchina senza chiavelegittima
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
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)
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 nodiNessun 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)
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”
Sicurezza dei componenti
Metodologie di attacco e comprensione del funzionamento:Sniffing:utilizzo di CarShark per osservare il traffico sul CAN
busFuzzing: utilizzato per attacchi significativi e per aiutare nel
reverse-engineerigReverse-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
Risultati dei test condotti in condizioni stazionarie
Radio: primo attacco effettuato; completo controllo della radio e del suo display.Pannello del cruscotto: completo controllo
Risultati dei test condotti in condizioni stazionarie
Altri attacchi effettuati:
Risultati dei test condotti in condizioni stazionarie
Body Controller: controllo ripartito su L-S B e H-S B; controllo di tutte le funzioni
Risultati dei test condotti in condizioni stazionarie
Motore: controllo dell'accellerazione e dei cilindri (Fuzzing)Freni: controllo individuale e non (Fuzzing)
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!!!
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
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
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
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?
GRAZIE!