Hacking du véhicule connecté

Introduction : vers le véhicule autonome

À partir de la fin du XIXe et du début du XXe siècle et la création des premières automobiles « modernes » que l’on connaît, le secteur automobile a été une source continue de recherches et d’innovations constantes : amélioration des performances de vitesse et de consommation, développement de nouveaux systèmes de sécurité embarqués (ceintures de sécurité, ABS...), nouvelles motorisations (diesel, essence, GPL, bioéthanol, flex-fuel, hybride, 100 % électrique)...

À la fin du XXe siècle, une tendance (une mode ?) dénommée le « tuning » est apparue ayant pour but de personnaliser (avec plus ou moins de succès) et/ou de rendre plus performante son automobile en la modifiant mécaniquement (retirer le « bridage » du constructeur). Nous reviendrons sur ce point plus loin dans ce chapitre, car elle est l’une des deux motivations du hacking de l’automobile.

Au début du XXIe siècle, l’ère des véhicules connectés débute et celle des véhicules autonomes devient envisageable grâce au développement de nombreuses technologies :

  • Les aides à la conduite telles que : régulateur...

Véhicule connecté et véhicule autonome

Un véhicule connecté est un véhicule doté de systèmes de communication embarqués sans fil capables d’échanger avec leur environnement, mais pas seulement.

Ainsi, la figure ci-dessous illustre le concept de base du véhicule connecté comprenant, entre autres, les éléments suivants :

  • Des capteurs de sécurité.

  • Une caméra sur le bouclier avant.

  • Des systèmes embarqués informatisés pour le diagnostic et le divertissement (ce dernier est nommé « infotainment »).

  • Un système de connexion avec les appareils nomades (portables, smartphones, tablettes). 

images/Figure1.png

Présentation du véhicule connecté (source : Broadcom 2013)

Le véhicule autonome, quant à lui, est un véhicule conçu de manière à pouvoir rouler partiellement ou entièrement sans l’intervention d’un conducteur.

On distingue, pour le moment, cinq niveaux d’autonomie :

  • Niveau 1 : le conducteur ne reçoit qu’une aide partielle (amplification d’une manœuvre d’urgence, alerte sur la présence d’un danger...) et est responsable de son véhicule.

  • Niveau 2 : le véhicule gère automatiquement les distances et son centrage sur la voie. Le conducteur supervise...

Services d’un véhicule connecté/autonome

Que ce soit pour un véhicule connecté ou un véhicule autonome, on distingue trois nouveaux concepts de services rendus par ces véhicules :

  • Concept du « Save Time and Save Money ». Comme son nom l’indique, il s’agit de gagner du temps (et donc de réduire le temps passé à conduire son véhicule) à l’aide des nombreux services embarqués au sein du véhicule via son système d’infotainment. Par exemple, avec la recherche des parkings ayant des places disponibles et des stations services à proximité.

  • Concept du « Be Safe » qui repose sur le système automatique d’appel d’urgence (eCall ou emergency-call, obligatoire sur les véhicules neufs en Europe depuis 2018 avec le règlement 305/2013) ou d’assistance (b-call ou breakdown call), mais également, en cas de vol du véhicule, pour sa géolocalisation.

  • Concept du « Enjoy Life » pendant un trajet via le système de divertissement qui affiche et/ou joue le contenu des appareils nomades (musique, réseaux sociaux favoris...). Ce concept se développera progressivement avec les futurs véhicules autonomes de niveau 3, 4 et 5.

Le véhicule connecté, une vaste surface d’attaque

Quand un attaquant étudie un véhicule connecté (ou autonome de niveau 1 et 2) au niveau de sa surface d’attaque, il va d’abord regarder quels échanges de données le véhicule ciblé effectue avec son environnement et se documenter au maximum sur ces systèmes (d’une façon similaire à la phase de l’information gathering) :

  • Quels signaux sont reçus/envoyés ?

  • Quelle est la technologie utilisée ?

  • Est-ce de la courte, moyenne ou longue portée ?

  • Si le véhicule est hybride/électrique, utilise-t-il une borne de recharge ?

Puis l’attaquant va examiner l’habitacle :

  • Y a-t-il une prise USB ?

  • Où se situe la prise de diagnostic ?

  • ...

images/Figure2.png

Principaux vecteurs d’attaque d’un véhicule connecté

La figure ci-dessus présente les principaux vecteurs d’attaque. Du point de vue « externe » au véhicule, on peut noter le système Wi-Fi, le Bluetooth, le système 2G/3G/4G/5G, le système de verrouillage/déverrouillage centralisé actif (RKE - Remote Keyless Entry) ou passif (PKES - Passive Keyless Entry and Start) ou encore le système de surveillance de pression des pneus (TPMS - Tire Pressure Monitoring System, obligatoire sur tous...

Motivations du hacking du véhicule connecté

Les attaques ont deux motivations principales :

  • L’activation et/ou la modification d’options du véhicule : cette motivation se rapproche du tuning de la fin du XXe siècle, mais ici uniquement du point de vue informatique. Ainsi, on peut citer par exemple la modification du fond d’écran de la console de navigation, l’installation de nouvelles applications (ou d’applications malveillantes) au niveau du système d’infotainment (cf. figure suivante) ou encore la modification des paramètres du calculateur moteur pour améliorer ses performances (encore dénommée chiptuning ou remapping).

images/Figure3.png

Exemple de hacking de l’infotainment issu de la société israélienne Argus Cyber Security

  • Le vol : cette motivation englobe le vol du contenu du véhicule (GPS indépendant, smartphones, biens de valeurs...) ou le vol du véhicule. Ainsi, les attaques concerneront le détournement du système de verrouillage (via une attaque de type jamming, via une attaque de type rolljam...) puis le contournement du système de démarrage (via des injections dans le réseau CAN ou attaque « backdoor », via une attaque à relais...) et du système de localisation ou bien encore en obligeant le conducteur à s’arrêter...

Les systèmes internes du véhicule connecté

Un véhicule connecté (ou autonome), du point de vue informatique, c’est un ensemble d’ordinateurs/calculateurs connectés ensemble et qui communiquent via plusieurs réseaux embarqués.

images/Figure4.png

Exemple de fonctions et donc d’ECU dans un véhicule connecté

Les ordinateurs/calculateurs seront nommés ici ECU, acronyme de Electronic Control Unit (on trouve également le terme de ECM - Electronic Control Module). Ils servent à contrôler tous les équipements du véhicule, du moteur aux lumières. Les ECU sont mis en place dans les véhicules à partir de la fin des années 1970 - début 1980.

Un véhicule connecté est composé d’un grand nombre de fonctions et donc d’ECU, comme le montre la figure ci-dessus. Leur nombre dépend directement du nombre de fonctions embarquées par le constructeur et donc de la gamme du véhicule (haut de gamme ou bas de gamme). En 2016, on parlait d’un minimum de 70-80 ECU au sein d’un véhicule bas de gamme et de plus de 150 ECU pour un véhicule haut de gamme ou pour un véhicule hybride.

Chaque constructeur possède ses propres architectures de véhicules, et au sein d’une même gamme d’un constructeur, suivant, par exemple la motorisation (essence, diesel...

Attaque physique de l’ECU : le chiptuning ou le remapping

Le « chiptuning » ou « remapping » correspond à l’évolution informatique du tuning apparu à la fin du XXe siècle et vise à modifier les paramètres du véhicule. Cette modification concerne principalement le changement de la cartographie d’origine de l’ECM, via un port spécifique, afin d’améliorer les performances et le rendement moteur mais elle peut être également utilisée pour la réinitialisation des clés de démarrage dont les données sont enregistrées dans la mémoire de l’ECU.

Ce hacking se déroule en plusieurs étapes :

  • Extraction physique, ouverture et branchement de l’alimentation et du port de l’ECU au matériel adéquat.

  • Extraction complète (dump) des données d’une mémoire ou de l’ensemble des mémoires de l’ECU dans un unique fichier.

  • Lecture, analyse et interprétation, modification des données puis calcul de l’intégrité du fichier.

  • Réimplantation des données dans l’ECU puis réimplantation « physique ».

  • Tests de bon fonctionnement.

1. ECU et ports de communication du MCU

Les ECU utilisent un microcontrôleur (MCU) pour le traitement de leurs tâches en temps réel. Les MCU, à la différence des CPU (microprocesseurs), ont une mémoire flash embarquée dans la puce, pour stocker et exécuter son programme. Ce mode de stockage du programme signifie que le MCU a une période de démarrage très courte et exécute du code très rapidement. La seule limite pratique à l’utilisation d’une mémoire embarquée est que la mémoire totale disponible est finie.

Les CPU n’ont pas les mêmes contraintes de mémoire. Ils utilisent une mémoire externe pour stocker le programme et les données. Ils démarrent donc plus lentement et sont moins adaptés au secteur automobile. Les constructeurs d’ECU (Bosch, Siemens, Continental, Delphi, Magneti Marelli...) utilisent de nombreuses familles de microcontrôleurs 32 bits et ajoutent de la mémoire...

Attaque backdoor : l’injection dans le réseau CAN

À la différence de l’attaque physique qui nécessite l’extraction et l’ouverture de l’ECU et l’extraction de l’EEPROM, l’attaque backdoor utilise le réseau embarqué du véhicule et son connecteur de diagnostic sans avoir à démonter de pièces importantes (sauf éventuellement quelques caches plastiques).

L’attaque backdoor reprend les objectifs du chiptuning (c’est-à-dire l’optimisation moteur et le remapping), mais va au-delà en permettant, théoriquement, d’accéder à tous les systèmes du véhicule : allumage de voyants divers, déverrouillage des portes en roulant, altération du tachymètre, démarrage du moteur, récupération de données GPS, développement de nouvelles fonctionnalités...

Cette attaque se déroule en plusieurs étapes :

  • Connexion au système de diagnostic du véhicule à l’aide d’un matériel adapté via le connecteur OBD2.

  • Sniffing des trames du bus CAN et enregistrement sous forme de fichiers de logs (dump) à l’aide d’outils logiciels adéquats.

  • Suivant l’objectif, analyse des logs et rejeu (reverse engineering) afin de déterminer les signaux intéressants et leur encodage.

  • Génération d’une à plusieurs trames (le payload) puis injection de ces trames sur le bus CAN du véhicule ciblé.

1. Présentation de l’OBD

L’OBD est l’acronyme anglais pour On-Board Diagnostics, ou diagnostics embarqués en français. L’OBD est un système obligatoire d’auto-diagnostic du véhicule et de signalement de ses défauts auprès des constructeurs et des garagistes. L’OBD apparaît dans les années 1980. Le premier constructeur à l’utiliser est Volkswagen avec un calculateur embarqué pour le monitoring et la maintenance des systèmes de réduction des émissions polluantes. L’OBD a évolué dans les années 1990 (OBD1.5) pour arriver au standard actuel (OBD2) qui décrit le connecteur utilisé, les protocoles embarqués et les codes de défaut....