Architettura1Al contrario, anche le auto di fascia bassa ora incorporano almeno una dozzina di microprocessori; le auto di fascia alta ne hanno più di cento. La Figura 1 mostra alcuni esempi di computer integrati in un'auto moderna. Con i sistemi di infotainment che utilizzano sistemi operativi sofisticati come Microsoft Windows e varie versioni di Linux, il contenuto software integrato totale può facilmente superare i 100 milioni di righe di codice.

 


La complessità è alimentata dalla costante richiesta di prestazioni sempre migliori, dalla digitalizzazione delle funzioni manuali e meccaniche e dall'interconnessione del mondo odierno. Se da un lato questa crescita dei contenuti elettronici ha portato benefici alla società, dall'altro è stata anche un fattore chiave nelle nostre preoccupazioni in termini di affidabilità, sicurezza, costi e tempi di commercializzazione. L'architettura dei sistemi di infotainment di nuova generazione deve aiutare gli sviluppatori a gestire questa complessità.


Consolidamento dell'elettronica nell'automobile
Un'altra importante tendenza nel settore automobilistico è il consolidamento della centralina di controllo del motore (ECU). Man mano che l'automobile si trasforma in un sistema di sistemi elettronici, il numero di componenti elettronici aumenta, con conseguente incremento del numero di cablaggi associati. Questa crescita dell'elettronica rappresenta una sfida importante per le case automobilistiche in termini di costi di produzione, dimensionamento e tempi di immissione sul mercato. La soluzione consiste nell'invertire questa tendenza al rialzo e nel combinare funzioni eterogenee in un numero inferiore di componenti elettronici.


Il consolidamento dei processori è strettamente legato alla tendenza verso sistemi a criticità mista, in cui i componenti critici per la protezione, la sicurezza o il funzionamento in tempo reale devono coesistere con componenti meno critici. Ad esempio, la combinazione dell'unità principale di infotainment con la telecamera posteriore in tempo reale, fondamentale per la sicurezza, e/o con i componenti del pannello informativo per il conducente, dà luogo a un sistema a criticità mista, come mostrato nella Figura 2.


Architettura2L'architettura di un sistema di infotainment di nuova generazione deve garantire che i componenti non interagiscano in modi imprevisti, che potrebbero compromettere l'affidabilità dei sistemi critici.


Sicurezza elettronica nel settore automobilistico:
nel 2010, alcuni ricercatori di due università che studiavano la sicurezza delle auto moderne sono riusciti a disabilitare il motore e i freni di un veicolo in movimento hackerando la porta diagnostica di bordo. Questo episodio rappresenta un esempio lampante delle formidabili sfide che ci attendono per garantire la sicurezza automobilistica, tra cui componenti preesistenti non progettati per la sicurezza e una catena di approvvigionamento che probabilmente ha raggiunto i suoi limiti di scalabilità.


Sempre nel 2010, le case automobilistiche statunitensi hanno introdotto una funzionalità che consente ai proprietari di auto di controllare le serrature e avviare il motore a distanza da qualsiasi parte del mondo utilizzando uno smartphone. Questa connettività si basa sul sistema telematico remoto dell'auto, di serie su molti modelli.
Il collegamento dell'auto alle reti geografiche (WAN) è il fattore che rappresenta la minaccia di attacchi sofisticati. Un singolo guasto potrebbe consentire a un attacco remoto di danneggiare un'intera flotta di veicoli. Queste comunicazioni includono quelle tra l'auto e un centro di assistenza o altre infrastrutture OEM, tra l'auto e un fornitore di servizi multimediali, tra auto e auto, tra l'auto e la rete elettrica (veicoli elettrici), tra l'auto e lo smartphone o persino tra l'auto e una banca. La Figura 3 fornisce alcuni esempi di connessioni radio a lunga distanza nei veicoli di nuova generazione.


A differenza dei data center di fascia alta, non ci si aspetta che le automobili integrino una suite completa di IDS, IPS, firewall e UTM. Ciononostante, le recenti intrusioni subite da Sony, Citigroup, Amazon, Google e RSA dimostrano chiaramente che questi meccanismi di difesa sono incapaci di resistere ad attacchi sofisticati.
Quando l'attacco Stuxnet venne alla luce nel 2010, il direttore del Cyber ​​Command del Dipartimento della Difesa degli Stati Uniti, il generale Keith Alexander, suggerì che le infrastrutture critiche statunitensi dovessero essere isolate su una rete sicura dedicata, separata da Internet. Sebbene questa possa sembrare una soluzione radicale, è proprio l'approccio necessario. I sistemi critici delle automobili devono essere rigorosamente isolati dalle centraline e dalle reti non critiche per garantirne il funzionamento sicuro.


Sebbene l'isolamento fisico della rete sia auspicabile, alcuni punti di contatto esisteranno inevitabilmente. Ad esempio, in alcuni mercati, il sistema di navigazione di un'auto deve essere disconnesso mentre il veicolo è in movimento, il che implica la comunicazione tra sistemi con livelli di criticità per la sicurezza molto diversi. Queste connessioni aumentano il rischio di minacce legate al software, come livelli di privilegio derivanti da vulnerabilità del sistema operativo, attacchi laterali alla crittografia o guasti ai servizi.
L'architettura di un sistema di infotainment di nuova generazione deve superare fin dall'inizio queste significative minacce emergenti alla sicurezza. Le interazioni tra sistemi e reti critici e non critici devono essere giustificate ai massimi livelli dirigenziali, con un rigoroso monitoraggio in tempo reale e un'analisi e certificazione di assenza di vulnerabilità con i più elevati livelli di garanzia.


Architettura3Soluzione: Ambienti sicuri.
I sistemi operativi open source come MeeGo o Ubuntu sono adatti grazie alla loro conformità con i principali standard multimediali e alla disponibilità di applicazioni di terze parti. Tuttavia, non possiamo affidarci esclusivamente al sistema operativo multimediale per controllare tutti gli aspetti dei sistemi di infotainment integrati di nuova generazione. I sistemi operativi generici non si avviano abbastanza velocemente, non possono garantire una risposta in tempo reale per protocolli come CAN e non sono sufficientemente affidabili e sicuri per funzioni critiche per la sicurezza come la telecamera posteriore e il quadro strumenti. Pertanto, abbiamo bisogno di un'architettura di sistema in cui i sistemi operativi multimediali e le relative applicazioni possano coesistere armoniosamente con applicazioni in tempo reale altamente affidabili gestite da un sistema operativo dedicato in tempo reale specificamente progettato per la protezione.
Una possibile soluzione è l'utilizzo di più processori dedicati a compiti diversi. Tuttavia, ciò comporta gli stessi problemi delle più centraline elettroniche attualmente utilizzate: rallenta la comunicazione tra le applicazioni e aumenta la complessità ai margini.


L'esigenza di integrare queste funzioni in un unico processore è concreta, in quanto consente di ottimizzare costi, cicli di elaborazione, disponibilità dei dati e complessità. Per questi carichi di lavoro a criticità mista, sono necessari ambienti di esecuzione sicuri (sandbox). Ciascuno di questi ambienti sicuri può essere identificato con un profilo isolato.
Queste quattro tecniche multi-profilo sono state commercializzate in diverse forme:

• Multiboot
• Webtop
• Hypervisor di tipo 2
• Hypervisor di tipo 1
Multiboot
Il concetto di multiboot è implementato in alcuni laptop e computer di rete già da qualche anno. In un laptop dual-boot, un sistema operativo secondario, solitamente una versione semplificata di Linux, può essere attivato al posto del sistema operativo principale della piattaforma. Questo sistema semplificato viene in genere utilizzato solo per la navigazione web e il suo scopo principale è quello di consentire all'utente di navigare pochi secondi dopo l'avvio. Il sistema operativo secondario è memorizzato separatamente e non viene mai eseguito contemporaneamente al sistema operativo principale della piattaforma. In alcuni casi, questo ambiente più leggero viene eseguito su un microprocessore secondario (ad esempio, un SoC ARM separato dal processore Intel principale del computer).


Architettura4Il sistema operativo secondario si caratterizza per un buon isolamento dal punto di vista della sicurezza; tuttavia, lo svantaggio del riavvio e l'impossibilità di passare da un profilo all'altro ne hanno fortemente limitato l'adozione. L'opzione multi-boot risulta inoltre poco pratica nell'ambiente di infotainment integrato, che richiede l'esecuzione simultanea di diversi profili, ad esempio quello del sistema di infotainment multimediale, del quadro strumenti e delle comunicazioni in tempo reale.


di webtop
(desktop web con rete integrata) offre un ambiente di navigazione limitato e indipendente dal sistema operativo principale. Tuttavia, anziché utilizzare il dual-boot, webtop funziona come un'applicazione in esecuzione sopra il sistema operativo principale. Finché webtop esegue componenti di sistema non critici per la sicurezza e il sistema operativo principale è in grado di gestire le applicazioni critiche in modo isolato, questa opzione può soddisfare tutti i requisiti. Tuttavia, un ambiente basato su browser potrebbe non soddisfare le elevate esigenze funzionali dei moderni sistemi di infotainment.


Un'opzione simile prevede l'utilizzo del webtop o dell'interfaccia di riproduzione da uno smartphone collegato a una docking station. Anche questo metodo potrebbe soddisfare i requisiti (il processore dello smartphone viene utilizzato per le applicazioni multimediali al posto del computer di infotainment del veicolo). Questa tecnica di controllo remoto tramite smartphone è già stata commercializzata per alcuni veicoli e rimane un'opzione interessante. Una delle sfide consiste nel garantire che lo smartphone possa offrire un'esperienza personalizzata per l'auto.


Architettura5Hypervisor di tipo 2
: Gli hypervisor di tipo 2 sono simili ai webtop in quanto un profilo secondario esegue un'applicazione al di sopra del sistema operativo primario. Tuttavia, invece di integrare semplicemente un browser, il profilo secondario è un sistema operativo guest completamente funzionale in esecuzione in una macchina virtuale creata dall'applicazione hypervisor (Figura 4). Questo sistema operativo guest potrebbe essere un sistema operativo in tempo reale adatto a ospitare applicazioni critiche come la telecamera posteriore o il quadro strumenti. L'hypervisor utilizza il sistema operativo primario per gestire l'I/O. La tecnica basata sulla virtualizzazione soddisfa il requisito di fornire ambienti funzionali completi sia per i profili critici che per quelli non critici.


Tuttavia, il modello di tipo 2 non garantisce un isolamento robusto. Eventuali falle di sicurezza o vulnerabilità nel sistema operativo primario possono compromettere le funzioni critiche in tempo reale eseguite nella macchina virtuale. Inoltre, è stato riscontrato che anche le applicazioni hypervisor di tipo 2 installate nell'ambiente aziendale presentano vulnerabilità in grado di compromettere l'ambiente di esecuzione sicuro.


Hypervisor di tipo 1:
Anche gli hypervisor di tipo 1 offrono funzionalità complete ed esecuzione simultanea di più profili. Tuttavia, poiché l'hypervisor viene eseguito in ambiente aperto, l'isolamento dei profili non può essere compromesso da vulnerabilità nel sistema operativo del profilo stesso. Pertanto, un hypervisor di tipo 1 rappresenta una soluzione promettente sia dal punto di vista funzionale che della sicurezza. Ciononostante, la minaccia di vulnerabilità dell'hypervisor rimane, e non tutti gli hypervisor di tipo 1 sono progettati per raggiungere elevati livelli di protezione e sicurezza.


Una versione in particolare, l'hypervisor di tipo 1 basato su microkernel, è specificamente progettata per soddisfare i rigorosi requisiti di tempo reale, avvio rapido e sicurezza dei moderni ambienti di infotainment. I microkernel offrono un'architettura superiore in termini di protezione e sicurezza rispetto ai grandi sistemi operativi generici come Linux, MeeGo, Android e Windows. Un microkernel esegue in modalità supervisore solo un numero minimo di servizi critici per il sistema, come la gestione dei processi, la gestione delle eccezioni e la comunicazione tra processi. Fornisce un'architettura che consente al software di essere eseguito su sistemi complessi in modalità utente, quando gli viene concesso l'accesso solo alle risorse che il progettista del sistema ritiene appropriate. Una vulnerabilità o un difetto in un componente non può danneggiare un componente critico perché il sottosistema infetto semplicemente non può accedere a quella risorsa. Poiché il microkernel è relativamente semplice, può essere formalmente verificato e certificato da enti regolatori indipendenti ai massimi livelli di protezione e sicurezza.


In un hypervisor di tipo 1 con microkernel, la virtualizzazione del sistema viene aggiunta come servizio all'interno del microkernel stesso. Pertanto, oltre alle macchine virtuali isolate, il microkernel fornisce un'interfaccia aperta e standard per applicazioni leggere e mission-critical come le informazioni sui driver, i sottosistemi crittografici e i controller del bus CAN, che non possono essere affidati a un host generico. La Figura 5 illustra l'architettura del microkernel di tipo 1.


Architettura6Un esempio di hypervisor di Tipo 1 con microkernel è INTEGRITY Multivisor di Green Hills Software, basato sul
microkernel INTEGRITY, ampiamente utilizzato nell'infotainment automobilistico e in altre applicazioni critiche di protezione in tempo reale.
L'applicazione dell'architettura hypervisor di Tipo 1 con microkernel al suddetto sistema di infotainment a criticità mista, costituito dal sistema operativo principale dell'infotainment e da applicazioni di protezione critiche per la telecamera posteriore e le informazioni per il conducente, si traduce nell'architettura mostrata in Figura 6.


Transazioni di rete sicure
La Figura 6 illustra anche un'applicazione di gestibilità. Un'altra utile applicazione dell'architettura di Tipo 1 con un microkernel è l'hosting di sottosistemi di comunicazione remota sicuri nativi del microkernel. Esempi di transazioni di rete sicure di nuova generazione nei sistemi di infotainment includono la trasmissione di contenuti multimediali protetti e diritti digitali, nonché la gestione remota del sistema (ad esempio, aggiornamenti del firmware e istruzioni di diagnostica remota) da parte di tecnici e OEM.


A questo proposito, un'idea chiave è che questa soluzione crei una connessione sicura, logicamente al di fuori della portata del sistema host. Poiché le chiavi di crittografia, i certificati del server e il software di protocollo sono gestiti in processi nativi, questi dati critici non possono essere rubati o corrotti dal sistema operativo host, indipendentemente dall'infiltrazione di malware. Inoltre, il sottosistema di sicurezza nativo può sfruttare le sue funzionalità TPM (o equivalenti), se presenti, per l'archiviazione delle chiavi basata su hardware e l'autenticazione della piattaforma. La connessione sicura respinge gli attacchi man-in-the-middle e gli attacchi malware che tentano di rubare le chiavi crittografiche utilizzate per le comunicazioni sicure.


GENIVI

GENIVI è un'alleanza industriale che promuove piattaforme di riferimento per l'infotainment a bordo veicolo, con l'obiettivo di ridurre i tempi di commercializzazione e i costi di sviluppo. Queste piattaforme di riferimento integrano funzionalità pre-competitive ritenute essenziali in qualsiasi sistema, consentendo alle aziende di concentrarsi su funzionalità innovative che generano un vantaggio competitivo. Un principio chiave per raggiungere questi obiettivi è l'utilizzo di standard aperti e la relativa certificazione di conformità. Dato che i sistemi di infotainment tradizionali si basano su potenti sistemi operativi generici, non sorprende che le prime piattaforme di riferimento di GENIVI siano basate su distribuzioni Linux che soddisfano i requisiti della Dichiarazione di Conformità GENIVI.


Guardando al futuro, gli stakeholder del settore dell'infotainment automobilistico, inclusi i produttori di apparecchiature originali (OEM) e i loro fornitori, gli enti regolatori governativi e i passeggeri, devono guardare oltre il sistema multimediale in sé e considerare un nuovo mondo di requisiti a criticità mista. Sono necessarie architetture software di sistema di nuova generazione per garantire che i futuri sistemi di infotainment, caratterizzati dalla loro complessità e dalle numerose funzionalità, offrano l'affidabilità, la sicurezza, il funzionamento in tempo reale e le dimensioni gestibili richiesti dall'industria automobilistica e dai consumatori. I sistemi integrati nelle auto del futuro vedranno una convergenza di funzionalità critiche per la sicurezza con le tradizionali applicazioni telematiche e di intrattenimento digitale. Fornire queste funzionalità su un'unica piattaforma di elaborazione è fondamentale per ridurre al minimo le dimensioni, il peso, il consumo energetico, i costi di produzione e la complessità dell'elettronica. Tuttavia, raggiungere questo obiettivo in modo sicuro richiede un nuovo approccio all'architettura di sistema.


Una soluzione promettente per ambienti di esecuzione sicuri è la virtualizzazione di sistema di Tipo 1, in grado di isolare e gestire applicazioni critiche per la sicurezza, garantendo una protezione in tempo reale, nonché potenti sistemi operativi multimediali open source. Inoltre, la disponibilità della tecnologia di virtualizzazione per un'ampia varietà di piattaforme informatiche offre a sviluppatori e tecnici la piattaforma aperta per eccellenza: la possibilità di eseguire qualsiasi tipo di sistema operativo in qualsiasi combinazione, creando una flessibilità senza precedenti in termini di installazione e utilizzo. Questa flessibilità è particolarmente apprezzata in applicazioni per il settore automobilistico, computer desktop e server.

Autore: David Kleidermacher, Direttore Tecnologico, Green Hills Software

Matt Jones, Vicepresidente di GENIVI Alliance

Maggiori informazioni o un preventivo