Come si può verificare la cybersecurity delle auto?

Avatar photo
Technology


Come si può verificare la cybersecurity delle auto?

Cosa sono e come funzionano i Penetration Test che garantiscono che grazie a metodologie avanzate e soluzioni di sicurezza efficaci proteggono i veicoli dalle minacce informatiche.

In Changes abbiamo già parlato della cybersecurity sulle auto e delle diverse oggi pienamente in vigore per tutti i veicoli di nuova immatricolazione, per garantire che non esistano rischi eccessivi per azioni da parte di hacker, come ad esempio furto del veicolo, perdita di dati o danni materiali al veicolo stesso. I veicoli sono quindi progettati, sviluppati e costruiti nel pieno rispetto di queste normative. Ma questo ci garantisce di essere assolutamente protetti? Sono comunque necessarie verifiche e queste avvengono con i Penetration Test.

Si tratta di una componente essenziale per valutare l’efficacia delle misure di sicurezza implementate nei veicoli. Simulando attacchi reali, i Penetration Test aiutano a identificare eventuali vulnerabilità, valutarne i rischi e definire strategie di mitigazione, o, meglio, di eliminazione di tali debolezze.

Cos’è un Penetration Test

Un Penetration test, o Pentest, è un attacco simulato ai sistemi del veicolo per identificarne le vulnerabilità e valutare la loro sicurezza. In pratica, esperti di sicurezza (“ethical hacker”) tentano di “penetrare” i sistemi usando le stesse tecniche che userebbero dei veri attaccanti, al fine di scoprire debolezze sfruttabili e fornire quindi indicazioni per risolverle o mitigarle.
Viene quindi “anticipata” l’azione da parte di hacker criminali e le eventuali “debolezze” (cioè vulnerabilità) scoperte possono essere corrette, prima che possano essere sfruttate da criminali informatici.

Obiettivi

  • Identificare le vulnerabilità: scoprire debolezze nel software, nell’hardware e nelle linee di comunicazione dei veicoli che potrebbero essere sfruttate da malintenzionati.
  • Valutare i rischi: determinare il potenziale impatto nel caso una debolezza venisse sfruttata. Se i danni fossero minimi o impercettibili, si possono evitare contromisure.
  • Verificare l’efficacia dei controlli di sicurezza: testare la capacità delle misure di sicurezza esistenti (firewall, sistemi di rilevamento delle intrusioni, crittografia, ecc.) di prevenire, rilevare e rispondere agli attacchi.
  • Garantire la conformità normativa: assicurarsi che i sistemi siano conformi agli standard e alle normative di cybersecurity pertinenti. Queste, infatti, elencano tipologie di attacchi che vanno verificati attraverso i pentest.
  • Migliorare la sicurezza complessiva: fornire raccomandazioni concrete per rafforzare il livello di sicurezza dei veicoli e ridurre il rischio di incidenti informatici.

Metodologie

I penetration test possono essere eseguiti utilizzando diverse metodologie, a seconda dell’ambito del test, delle risorse disponibili e degli obiettivi specifici.

La prima distinzione è in base alle informazioni di cui dispone chi esegue i test (tester):

  • Black-box testing: il tester non ha alcuna conoscenza preliminare del veicolo. Si simula un attacco esterno da parte di un attaccante generico. Le debolezze identificate, se sono impattanti, vanno sicuramente corrette.
  • White-box testing: il tester ha accesso completo alla documentazione del veicolo, al codice sorgente e all’architettura di rete. Questo approccio consente un’analisi più approfondita e l’identificazione di vulnerabilità complesse, forse di non facile sfruttamento da parte di un hacker, ma che vanno comunque analizzate.
  • Gray-box testing: il tester ha una conoscenza parziale del veicolo. Questo approccio rappresenta un compromesso tra il black-box e il white-box testing e rappresenta la situazione reale più comune dell’attaccante.

Poi esistono una serie di tecniche per eseguire i Pentest, come:

  • Fuzzing: invio di segnali casuali o anomali per sollecitare i sistemi, e scoprire combinazioni che producono errori o danni.
  • Reverse engineering: analisi del software e dell’hardware del veicolo per comprendere il suo funzionamento interno e identificare potenziali vulnerabilità.
  • Network analysis: monitoraggio e analisi del traffico di rete del veicolo per identificare protocolli vulnerabili, potenziali punti di ingresso per gli attacchi, possibilità di inserirsi con comunicazioni non autorizzate.
  • Hardware hacking: manipolazione dell’hardware del veicolo per bypassare i controlli di sicurezza o iniettare codice dannoso.

Debolezze

I pentest possono rivelare un’ampia gamma di debolezze nei sistemi del veicolo, tra cui:

  • Vulnerabilità software: errori nel codice che possono permettere di scrivere e fare eseguire del codice. Esempio tipico è il buffer overflow: si inviano più dati di quanti il sistema si aspetta, i dati in eccesso possono essere scritti in aree di memoria che poi vengono utilizzate come codice da eseguire.
  • Vulnerabilità hardware: porte di debug non protette, interfacce di comunicazione vulnerabili, manipolazione di centraline elettroniche (ECU).
  • Vulnerabilità di rete: comunicazioni non crittografate, protocolli di rete insicuri, mancanza di segmentazione della rete.
  • Vulnerabilità di comunicazione: attacchi alla chiave veicolo, vulnerabilità Bluetooth e delle connessioni via cellulare.
  • Vulnerabilità dell’interfaccia diagnostica (OBD-II): accesso non autorizzato ai sistemi critici del veicolo.

Soluzioni

Per mitigare o risolvere queste debolezze esistono diverse soluzioni e contromisure, tra cui:

  • Secure coding practices: seguire principi di sviluppo software sicuro per prevenire l’introduzione di vulnerabilità nel codice.
  • Strong authentication and authorization: implementare meccanismi robusti per verificare l’identità degli utenti e controllare l’accesso alle risorse del sistema.
  • Encryption: utilizzare la crittografia per proteggere i dati sensibili sia in transito che memorizzati nei sistemi.
  • Firewalls and intrusion detection/prevention systems: implementare soluzioni di sicurezza per monitorare e controllare il traffico di rete e rilevare eventuali attacchi.
  • Secure communication protocols: utilizzare protocolli di comunicazione sicuri per proteggere le comunicazioni tra i componenti del veicolo e i sistemi esterni ad esso.
  • Hardware Security Modules (HSM): utilizzare HSM, intrinsecamente non vulnerabili, per proteggere le chiavi crittografiche e le operazioni sensibili.
  • Over-the-air (OTA) updates: implementare meccanismi sicuri per aggiornare il software del veicolo per via remota e correggere le vulnerabilità scoperte durante la vita del veicolo stesso.

Il ruolo dell’Intelligenza Artificiale

L’intelligenza artificiale (IA) sta emergendo come uno strumento potente per migliorare l’efficacia e l’efficienza dei pentest. Le tecniche di IA possono essere utilizzate per:

  • Automatizzare le attività di penetration testing: l’IA può automatizzare attività ripetitive e dispendiose in termini di tempo, come la scansione delle vulnerabilità, il fuzzing e l’analisi dei log, consentendo ai tester di concentrarsi su attività più complesse e creative.
  • Migliorare il rilevamento delle vulnerabilità: gli algoritmi di IA possono analizzare grandi quantità di dati e identificare anomalie che potrebbero indicare la presenza di vulnerabilità.
  • Simulare attacchi avanzati: l’IA può essere utilizzata per simulare attacchi informatici complessi e realistici, aiutando a valutare la resilienza dei sistemi veicolo a scenari di minaccia avanzati.
  • Adattarsi a nuovi scenari di minaccia: i sistemi di IA possono apprendere continuamente da nuovi dati e adattarsi rapidamente all’evoluzione delle minacce informatiche, permettendo un tempestivo adeguamento delle soluzioni affinché queste rimangano efficaci nel tempo.
  • Analisi predittiva: l’IA può essere utilizzata per prevedere potenziali vulnerabilità e attacchi futuri, consentendo alle case automobilistiche di adottare misure di sicurezza preventive.

L’intelligenza artificiale offre un grande potenziale per migliorare l’efficacia e l’efficienza dei Pentest, automatizzando le attività, migliorando il rilevamento delle vulnerabilità e simulando attacchi avanzati. Sfruttando la potenza dell’IA, l’industria automobilistica può rafforzare la propria resilienza agli attacchi e garantire che i veicoli del futuro continuino ad essere sicuri e protetti dalle minacce informatiche.

Avatar photo

Nato a Carmagnola il 14 Settembre 1956. Si laurea nel 1980 in Ingegneria Elettrica, con la votazione finale di 110/110 e lode. Specializzazione in Automazione Industriale. Dopo un paio di anni di esperienza come sistemista software entra nel 1982 al Centro Ricerche FIAT. Fino al 1990 si occupa di automazione industriale e robotica, realizzando sistemi innovativi per il montaggio e l’ispezione, utilizzando sistemi di visione artificiale. Nel 1990 la tecnologia della visione artificiale diventa matura per essere utilizzata anche sul prodotto, veicolo, e quindi inizia a sviluppare sistemi di ausilio alla guida (radar anticollisione, mantenimento corsia, sensore angolo cieco). Diventa dirigente nel 1995, e gestisce i team di sviluppo di sistemi di informativa di bordo, assistenza alla guida, telematica e interfaccia con il guidatore. Coordinatore di numerosi progetti a finanziamento Europeo. Nel 2003 coordina per Fiat il progetto regionale Torino Wireless. Nel 2012 assume l’incarico di direttore della sicurezza presso l’ACEA, l’associazione Europea dei costruttori di veicoli, a Bruxelles. Rientrato in Fiat Chrysler Automotive nel 2017, lascia l’azienda nel novembre del 2017, per avviare una attività in proprio di consulenza industriale.