2.3 Attaques à distance
2.3.1 Accès physique indirect
2.3.3 Attaques de longue portée . . . . 44
2.3.4 Attaques indirectes à longue portée . . . . 44
2.4 Classification des attaques . . . . 45
2.5 Conclusion . . . . 47
Dans ce chapitre, nous analysons en détail les différents types d’attaques
sus-ceptibles de cibler les calculateurs embarqués dans une automobile moderne. Nous
nous intéressons ainsi à tous les éléments prenant part à de telles attaques pouvant
permettre de classifier les actions d’un attaquant.
Le chapitre s’agence comme suit. Dans la section 2.1, nous nous intéressons aux
différentes étapes d’une attaque, depuis les motivations de l’attaquant jusqu’aux
conséquences de l’attaque, souhaitées ou non, qui peuvent découler de leurs actions.
Dans la section 2.2, nous présentons et catégorisons les attaques que nous
qua-lifierons d’internes, c’est à dire des attaques réalisables contre le réseau embarqué
d’une voiture lorsqu’on est directement connecté à celui-ci.
La section 2.3 se concentre sur la description et la classification des attaques
lancées à distance contre le véhicule, illustrées lorsqu’il y en a par des exemples
tirés de la littérature.
30
Chapitre 2. Attaques ciblant les architectures automobiles embarquées
Finalement, dans la section 2.4, nous faisons la synthèse des différents scénarios
d’attaques présentés dans les sections précédentes en proposant une caractérisation
de ces attaques selon quatre axes principaux.
2.1 Décomposition d’une attaque
Les attaques contre les équipements embarqués par une automobile peuvent
prendre plusieurs formes. Il convient de distinguer :
1. Les attaques visant à altérer le comportement normal du véhicule sans pour
autant pénétrer son réseau, par exemple en émettant un signal pour perturber
un radar anti-collision. Ces attaques visent principalement les interfaces du
véhicule.
2. Les attaques informatiques, dont le but est de prendre le contrôle de tout
ou d’une partie du réseau embarqué dans le véhicule grâce à l’exécution par
des calculateurs du véhicule de commandes envoyées par l’attaquant, via du
code injecté ou des trames réseau malveillantes émises. Ces commandes sont
envoyées à un point d’entrée tel qu’une prise usb, le lecteur cd, la prise de
diagnostic, etc. Deux sous catégories peuvent être distinguées :
(a) Les attaques informatiques où l’attaquant ne cherche pas spécialement à
accéder au réseau embarqué mais est intéressé par les données qu’il peut
récupérer suite à la compromission d’un élément du réseau embarqué
(qui est par conséquent également la cible finale). Une attaque menée
contre le système télématique afin d’écouter les conversations ayant lieu
dans une voiture entre dans cette catégorie.
(b) Les attaques informatiques où l’attaquant va chercher à interagir avec le
reste du véhicule depuis son point d’entrée via le réseau embarqué.
Lors de nos recherches, nous nous sommes spécifiquement intéressés aux
at-taques informatiques, et plus particulièrement aux atat-taques se propageant via le
réseau embarqué. Nous ne considérons pas pour autant que les autres types
d’at-taques sont négligeables. Ceux-ci constituent également des sujets d’étude
intéres-sants mais sont hors du cadre de nos travaux.
2.1.1 Objectifs de l’attaquant
Avant de s’intéresser aux scénarios d’attaque potentiels, il faut tout d’abord se
demander quels sont les intérêts pouvant motiver une attaque informatique contre
le système embarqué dans un véhicule.
Vol
La motivation au premier abord la plus évidente est peut être le vol. Plusieurs
possibilités sont envisageables pour voler un véhicule (ou son contenu) en
s’ap-puyant sur l’électronique qu’il embarque. Tout d’abord, une attaque réussie contre
2.1. Décomposition d’une attaque 31
le système d’ouverture à distance peut permettre de déverrouiller la voiture, voire
de la démarrer dans le cas de véhicules ne nécessitant plus un contact pour
démar-rer (PKES Passive Keyless Entry and Start). Une autre possibilité est d’utiliser
une vulnérabilité d’un protocole de communication sans fil pour prendre le contrôle
du calculateur correspondant puis de s’en servir pour déverrouiller discrètement
la voiture et désactiver ses mécanismes d’antidémarrage ou une éventuelle alarme
en envoyant des instructions sur le bus. Dans de tels cas, le gain de l’attaquant
correspond à la valeur du véhicule volé ou celle des biens qu’il contient.
Modification des capacités du véhicule
Nous regroupons dans cette catégorie l’ensemble des cas où le propriétaire du
véhicule en est également « l’attaquant ». Celui-ci va alors chercher à effectuer des
modifications non autorisées sur le code ou les données contenus dans un ECU. Par
exemple, il peut vouloir en diminuer le kilométrage pour le revendre plus cher,
alté-rer le fonctionnement du moteur pour tenter d’obtenir plus de puissance ou encore
installer de nouveaux programmes illégalement obtenus sur son ordinateur de bord.
Un attaquant peut également tenter de contourner des mécanismes
d’authentifica-tion afin d’installer des ECUs différents de ceux approuvés par le constructeur afin
de réaliser des économies. Si, du point de vue du propriétaire, de tels actes peuvent
à première vue sembler sans danger immédiat pour la sécurité des passagers, ils
peuvent cependant avoir des conséquences néfastes à plus ou moins long terme
(aussi bien pour le véhicule et ses passagers que pour les finances du constructeur
dans le cas de l’installation de pièces de contrefaçon).
Sabotage du véhicule
Cette catégorie regroupe tout ce qui vise à dégrader le fonctionnement du
véhi-cule. Cela consiste à désactiver ou altérer le fonctionnement d’un ou plusieurs ECU,
en modifiant leur logiciel embarqué, en émettant des trames malveillantes ou en
pro-voquant un déni de service sur le bus. Les conséquences peuvent aller d’une simple
inconvenance (climatisation coupée par exemple) au déclenchement d’un accident
potentiellement mortel (freins qui ne répondent plus). Cependant, il est à noter
que même un léger dysfonctionnement survenant sur un grand nombre de véhicules
pourrait suffire à dégrader durablement l’image de marque d’un constructeur.
Vol de propriété intellectuelle
Un attaquant peut chercher à obtenir des informations confidentielles sur le
fonc-tionnement du véhicule ciblé, par exemple en écoutant et identifiant les trames qui
passent sur le bus, voire en récupérant le code source d’un ECU. Au delà d’une
uti-lisation possible de tels procédés par des concurrents (intelligence économique), ces
informations peuvent aussi permettre la fabrication et le commerce de contrefaçons
d’ECU ou dévoiler des vulnérabilités du matériel à un attaquant.
32
Chapitre 2. Attaques ciblant les architectures automobiles embarquées
Vol de données confidentielles
Les voitures embarquant de plus en plus d’équipements informatiques, elles
peuvent donc contenir des informations personnelles qu’un attaquant cherchera à
récupérer. Par exemple, nous pouvons citer la liste des contacts téléphoniques et
l’historique des appels, les coordonnées GPS des derniers trajets ou encore les
fré-quences radio favorites enregistrées dans l’interface multimédia. D’autres données,
circulant sur le réseau embarqué, peuvent aussi rentrer dans cette catégorie, comme
la vitesse actuelle du véhicule ou le kilométrage par exemple.
Défi intellectuel
Enfin, de nombreux exemples parsemant l’histoire de l’informatique nous
rap-pellent qu’il ne faut pas exclure l’attaquant motivé simplement par le défi que
représente la prise de contrôle d’un véhicule.
2.1.2 Interactions avec un réseau
Comme nous l’avons mentionné précédemment, les réseaux déployés dans les
automobiles à l’heure actuelle ont avant tout été pensés en termes de sûreté. En
faisant l’hypothèse qu’un attaquant a réussi à s’y connecter, nous nous intéressons
maintenant aux possibilités qui lui seraient offertes.
2.1.2.1 Vulnérabilités des bus
Des équipes ont cherché à savoir si des mécanismes de sécurité existaient sur
les automobiles actuellement commercialisées. Ces travaux [WWP04], [HKD09] se
sont tout d’abord intéressés aux potentielles vulnérabilités existant dans les réseaux
internes d’une voiture, en se concentrant majoritairement sur le plus répandu d’entre
eux, CAN. Ainsi il est apparu que de par sa conception, le réseau CAN ne permet
pas en l’état d’assurer les propriétés de sécurité définies en section 1.3.2.1.
Confidentialité Par construction, tout message envoyé sur le CAN est diffusé
(physiquement et logiquement) en clair à tous les nœuds. De fait, un nœud malicieux
peut écouter tout le trafic du bus auquel il est connecté.
Disponibilité Les règles d’arbitrage de CAN (voir 1.2.2) font qu’il est aisé pour
un attaquant de provoquer un déni de service sur le bus en envoyant en permanence
des trames prioritaires, forçant ainsi tous les autres ECU à arrêter leurs émissions.
Intégrité Comme nous l’avons vu précédemment, CAN permet de détecter des
altérations accidentelles survenues lors de la transmission d’un message grâce à un
CRC. Cependant, cela ne suffit pas en termes de sécurité puisqu’un attaquant peut
forger un CRC valide correspondant aux trames qu’il veut émettre. L’intégrité d’un
message n’est donc pas assurée.
2.1. Décomposition d’une attaque 33
Authenticité Une trame CAN (voir figure 1.5a) ne contient pas de champ pour
l’identification de son expéditeur. Par conséquent, n’importe quel nœud peut en
contrôler d’autres sur le même bus en émettant les messages appropriés.
Non répudiation Il n’est pas possible de prouver qu’un nœud a bel et bien émis
ou reçu un message, et donc s’il peut être à l’origine d’une attaque sur le réseau.
Ces propriétés de sécurité n’étant pas garanties par les réseaux automobiles
ac-tuels (des remarques similaires ont ainsi été émises à propos de FlexRay [NLPJ09]),
la prochaine étape est alors de savoir s’il est possible d’exploiter ces lacunes afin de
parvenir à prendre le contrôle d’un ECU, voire du réseau dans son ensemble.
2.1.2.2 Actions élémentaires
Comme définie en 1.3.2.2, une attaque est une action malveillante visant à violer
une ou plusieurs propriétés de sécurité. Quel que soit l’objectif final de l’attaquant,
cette action peut être décomposée en action élémentaires bien définies. Nous
consi-dérons que l’attaquant ne peut interagir avec sa cible qu’à travers le ou les réseaux
(filaires ou non) auxquels elle est connectée. Si les propriétés de sécurité ne sont
pas garanties, les actions élémentaires qu’il peut entreprendre pour arriver à ses fins
sont donc comprises dans la liste suivante.
Lecture L’attaquant a accès au trafic réseau et peut voir le contenu de chaque
trame.
Interruption L’attaquant empêche un message émis d’atteindre ses destinataires.
Ceux-ci ne reçoivent donc aucune information.Il s’agit du but d’une attaque par déni
de service.
Modification L’attaquant modifie le contenu d’un message légitimement émis, de
sorte que les destinataires ne reçoivent que la version modifiée alors que la source
croit avoir émis les bonnes informations.
Fabrication L’attaquant émet lui-même des messages, en les créant de toutes
pièces ou bien en rejouant des messages précédemment observés, se faisant alors
passer pour un autre nœud du réseau.
Une attaque est diteactive lorsqu’elle consiste en au moins une action de type
interruption, modification ou fabrication, et passive si elle ne contient que des
actions de type lecture.
2.1.3 Modélisation des attaques
Comme nous l’avons vu en 2.1.1, il existe bien des motivations pour mener
des attaques informatiques contre le réseau d’une voiture. Par la suite, nous avons
présenté des travaux qui ont montré que de telles attaques étaient réalisables sur des
34
Chapitre 2. Attaques ciblant les architectures automobiles embarquées
véhicules actuels. Par conséquent, il est légitime de faire l’hypothèse de l’existence
d’attaquants ciblant l’informatique embarquée dans l’automobile. À chacune de
ces motivations peut correspondre un ou plusieurs types d’attaquants, possédant
différentes ressources (niveau de connaissances, outils, ressources financières), qui
auront alors à leur disposition diverses méthodes pour parvenir à leurs fins. Les
combinaisons de ces paramètres mènent à une diversité de scénarios d’attaques
possibles. En s’inspirant de ce qui se fait dans l’informatique traditionnelle, des
travaux comme [BSDT09], [HD07] et [WWW07] ont ainsi cherché à caractériser de
telles attaques. Nous reproduisons en figure 2.1 le modèle adapté à l’automobile
proposé dans [HD07]. Ce modèle s’inspire, du modèle, défini dans [HL98] et utilisé
par les CERT (Computer Emergency Response Team) pour leur classification des
incidents. Cette classification opère une distinction entre événements, attaques et
incidents. Ainsi, un évènement consiste en l’application d’une action contre une
cible, ce qui correspond à la partie centrale de la figure. La description d’une attaque
prend également en compte les outils utilisés, les vulnérabilités exploitées ainsi que
le résultat de ces actions sur le système. Finalement, l’incident correspondant à une
attaque est classifié en identifiant l’attaquant ainsi que ses objectifs.
Hackers Spies Terrorists Corporate raiders Professional criminals Vandals Voyeurs Security scans Tuners Thieves Competing manufacturers
Attackers Tool Vulnerability Action Target UnauthorizedResult Objectives Malicious code Attached devices Wireless equipment Manipulated media Social engineering Design (protocol, specification, application) Implementation Configuration Misbehavior of a user Read Create/Spoof Copy Steal Delete Modify/ Reconfigure Probe Scan Flood Authenticate Bypass Automobile Bus system Control Unit Operating map Occupants/ Owner User data Manufac-turer data Road safety Increased access Disclosure of information Corruption of information / programs Blocking of resources (denial of service) Theft of resources Causing costs Violation of Confidentiality, Authenticity, Integrity, Availability, Non repudiation, Privacy Challenge, Status, Thrill Political gain Financial gain Damage Security evaluation Tuning