Rilevamento delle intrusioni su rete CAN-bus con TinyML

Le reti neurali e l'apprendimento automatico in generale, rappresentano oggi una delle maggiori aspettative per la realizzazione di modelli che possano determinare il comportamento e il funzionamento di diversi sistemi fisici. Indubbiamente le risorse di calcolo necessarie per l'addestramento e la realizzazione del modello sono elevate, soprattutto in funzione della grande quantità di dati necessari per rilevare i parametri salienti del modello. Allo stesso tempo, però, i modelli così ottenuti possono essere integrati su sistemi embedded, grazie alle tecnologie TinyML, permettendo di operare esattamente dove i fenomeni fisici avvengono. In questo articolo presentiamo un lavoro di ricerca in cui viene utilizzato un framework per l'implementazione di modelli di reti neurali su famiglie di microprocessori per l'automotive, dimostrando la loro efficienza nel rilevamento delle intrusioni su una rete di comunicazione CAN-bus.

Introduzione

Il Machine Learning (ML) sta rivoluzionando il modo in cui comprendiamo il mondo, permettendoci di ottenere informazioni da grandi quantità di dati che non possono essere analizzate dal cervello umano. I dati prodotti da noi o dai nostri dispositivi, vengono raccolti da sensori, e richiedono grandi quantità di risorse in termini di potenza di elaborazione per essere gestiti e analizzati. In questa direzione la ricerca negli ultimi anni ha indagato una vasta gamma di tecniche ML: reti neurali (NN), Deep Learning (DL), clustering, Reinforcement Learning (RL) e così via. Tuttavia, un segmento di ricerca sempre più importante riguarda la distribuzione di modelli ML su unità microcontrollore (MCU). Questi dispositivi vengono spesso utilizzati per elaborare le informazioni e prendere decisioni in loco senza ricorrere a potenti mainframe. Una delle caratteristiche principali del settore automotive è che la capacità di calcolo deve essere localizzata sui processori presenti nelle ECU e quindi i modelli ML devono essere facilmente discretizzati e codificati per queste unità di calcolo. Diventa quindi importante concentrarsi sul fatto che lo scopo delle architetture tinyML è analizzare i dati mentre vengono prodotti, mentre l'intera fase di addestramento e la realizzazione del modello sono delegate a sistemi con più alte prestazioni. Inoltre, occorre tenere a mente che i dispositivi elettronici di bordo devono svolgere anche le funzioni primarie per le quali sono progettati, dal controllo del motore alla gestione dei diversi dispositivi di bordo. In questo articolo presentiamo un lavoro di ricerca in cui, grazie ad un framework per l'implementazione di modelli NN su microprocessori della famiglia automotive, viene dimostrata la loro efficienza e prestazione per applicazioni come la stima del traffico dati su Controller Area Networks (CAN) all'interno del veicolo.

Concetti base

I veicoli moderni stanno diventando prodotti molto complessi e dozzine di unità di controllo elettronico (ECU) interagiscono tra loro per eseguire le più svariate funzioni. In un sistema di comunicazione a bordo di un veicolo le diverse sottoreti, divise per funzionalità, sono tutte interconnesse tramite un gateway. Per avere un quadro completo, ogni ECU è interconnessa tramite un bus, il CAN-bus: una soluzione semplice ma efficace al problema di interconnessione di ECU che soddisfa i requisiti di comunicazione in tempo reale e implementazione a basso costo. CAN-bus è lo standard di fatto per le interconnessioni di ECU di diverse sottoreti, divise per funzionalità, e interconnesse per mezzo di gateway (Figura 1).

Figura 1: Esempio di sistema di comunicazione a bordo

I produttori automotive devono progettare attentamente le interconnessioni tra sottoreti per cercare di impedire un tentativo di aggressione volto ad acquisire il controllo da remoto di una ECU tramite una falla nella sicurezza, ad esempio nel sistema di infotainment (tramite Bluetooth, Wi-Fi). È stato dimostrato che è possibile attaccare la rete CAN disabilitando ad esempio l'impianto frenante utilizzando la connessione cellulare in più veicoli. I ricercatori hanno già riscontrato alcune vulnerabilità nel CAN-bus:

  • È un protocollo di messaggistica multicast con nessun meccanismo intrinseco di indirizzamento e autenticazione. In altre parole, una ECU hackerata può "ascoltare" ogni messaggio della sua sottorete e può inviare messaggi con un'identità falsa
  • È un protocollo con larghezza di banda limitata per i veicoli di oggi, il che rende difficile l'introduzione della crittografia del messaggio
  • La maggior parte dei nodi sono MCU di livello automotive con limitate capacità di memoria e calcolo e questo rende difficile l'implementazione di un protocollo di sicurezza complesso

L'introduzione di un IDS (Intrusion Detection System) può essere una contromisura adatta per la vulnerabilità del CAN-bus. Uno dei metodi di rilevamento delle intrusioni è l'approccio basato sull'anomalia. Una descrizione intuitiva di questo metodo consiste nel considerare un sistema di monitoraggio, una ECU, che ascolti il traffico del CAN-bus per apprendere il comportamento normale. Le attività dell'intruso generano traffico anomalo e questo mette in guardia l'IDS addestrato. Al giorno d'oggi una delle promesse più allettanti legate a DL è la capacità di addestrare le NN fornendo una quantità adeguata di dati con la giusta qualità. In questo articolo viene descritta una versione originale di questo approccio che può essere incorporato nelle MCU.

SPC5-Studio.AI

SPC5-Studio.AI è un componente plug-in dell'ambiente di sviluppo integrato SPC5-STUDIO che supporta la famiglia di MCU per applicazioni automotive SPC58 "Chorus". L'IDE fornisce la capacità di generare, eseguire e convalidare automaticamente modelli NN pre-addestrati su MCU di livello automobilistico. Esso produce un'efficiente libreria “ANSI C” che può essere compilata, installata ed eseguita su MCU SPC58. Framework DL, come Keras, TensorFlow Lite, ONNX, Lasagne, Caffe, ConvNetJS sono supportati. Le librerie possono essere integrate nei progetti grazie a un numero breve e ben definito di API pubbliche. Inoltre, fornisce strumenti di validazione e analisi delle prestazioni che consentono di validare e caratterizzare la rete neurale convertita, misurandone le metriche chiave come errore di validazione, requisiti di memoria (Flash e RAM), e tempo di esecuzione direttamente sull'MCU. Questo plug-in è integrato all'interno di SPC5-STUDIO. SPC5-Studio.AI è stato utilizzato, nella ricerca, per integrare e convalidare il modello di rete neurale su tre MCU di grado automobilistico, adatte per applicazioni che richiedono bassa potenza, connettività e sicurezza: SPC584B, SPC58EC e SPC58NH. Le caratteristiche tecniche principali delle MCU scelte vengono mostrate nella Tabella 1. Il consumo di energia è stato calcolato considerando ogni MCU operante alla sua massima frequenza e con tutti i core abilitati.

Tabella 1: Principali caratteristiche delle MCU appartenenti alla famiglia SPC58
Dispositivo Flash (Mb) RAM (Mb) Clock (MHz) I/D Cache FPU Consumo di potenza (mA)
SPC584B 2 192 120 si si 102.0
SPC58EC 4 512 180 si si 132.6
SPC58NH 10 1024 200 si si 239.6

IDS per CAN-bus

Andremo adesso a descrivere un Autoencoder Long Short-Term Memory (LSTM), utilizzato per riconoscere le anomalie sul CAN-bus generate dal traffico fuori norma, utilizzando il dataset SynCAN. L'Autoencoder pre-addestrato è stato incorporato nelle tre diverse MCU automobilistiche tramite SPC5-STUDIO-AI, ed è stato quindi convalidato per poi profilare la sua complessità.

Il dataset

Un pacchetto CAN è costituito da un timestamp, un ID identificativo e 8 byte di payload. Il pacchetto viene trasmesso sul bus e il campo di identificazione rappresenta il tipo di messaggio. Il payload può portare uno o più segnali significativi. Pertanto, il traffico del bus in una sottorete può essere rappresentato da serie temporali di segnali. La Figura 2 mostra la struttura di un data frame CAN. [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2210 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend