FR3102270A1 - Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule - Google Patents

Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule Download PDF

Info

Publication number
FR3102270A1
FR3102270A1 FR1911602A FR1911602A FR3102270A1 FR 3102270 A1 FR3102270 A1 FR 3102270A1 FR 1911602 A FR1911602 A FR 1911602A FR 1911602 A FR1911602 A FR 1911602A FR 3102270 A1 FR3102270 A1 FR 3102270A1
Authority
FR
France
Prior art keywords
counter
data bus
message
value
intrusion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1911602A
Other languages
English (en)
Other versions
FR3102270B1 (fr
Inventor
Ahmed Harrar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PSA Automobiles SA
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR1911602A priority Critical patent/FR3102270B1/fr
Publication of FR3102270A1 publication Critical patent/FR3102270A1/fr
Application granted granted Critical
Publication of FR3102270B1 publication Critical patent/FR3102270B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0044In digital systems
    • B60W2050/0045In digital systems using databus protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Burglar Alarm Systems (AREA)

Abstract

L’invention concerne un procédé et un dispositif de détection d’une intrusion sur un bus de données (100). A cet effet, une valeur prise par un compteur compris dans des messages évènementiels sur le bus de données (100) est déterminée par un calculateur (11). Les messages sont avantageusement identifiés via un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission d’un message. Le compteur prend une première valeur pour un premier message indiquant un début d’initialisation du compteur et le compteur prend une deuxième valeur pour un deuxième message indiquant la fin de l’initialisation du compteur. Une intrusion sur le bus de données est détectée par un dispositif (10) en surveillant les valeurs prises par le compteur compris dans les messages transmis sur le bus de données (100). Figure pour l’abrégé : Figure 1

Description

Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule
L’invention concerne les procédés et dispositifs de détection d’intrusion sur un bus de données d’un véhicule, notamment de type automobile. L’invention concerne également plus particulièrement un procédé et un dispositif de détection d’un ou plusieurs messages émis par un dispositif malveillant sur un bus de données d’un véhicule.
Arrière-plan technologique
Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion. Ces calculateurs sont reliés entre eux via un bus de données multiplexé de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), l’ensemble bus de données et calculateurs formant le système embarqué du véhicule. Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge.
L’émission de messages malveillants par un dispositif tel qu’un boîtier électronique ou par un logiciel de type malware introduit dans un des calculateurs du système embarqué est utilisé pour pirater ou perturber les échanges de données entre les calculateurs du système embarqué. Ce ou ces messages malveillants sont potentiellement dangereux pour la sécurité du véhicule, l’introduction de tels messages malveillants pouvant générer des dysfonctionnements des calculateurs exploitant les données contenues dans ces messages.
Un objet de la présente invention est de détecter l’introduction de messages malveillants sur un bus de données d’un véhicule, par exemple automobile.
Un autre objet de l’invention est d’améliorer la sécurité des échanges de données entre calculateurs reliés par un bus de données d’un véhicule.
Selon un premier aspect, l’invention concerne un procédé de détection d’une intrusion sur un bus de données d’un véhicule, le procédé comprenant les étapes suivantes :
- détermination d’une valeur prise par un compteur compris dans chaque message d’un ensemble de messages évènementiels transmis sur le bus de données par un calculateur, les messages évènementiels de l’ensemble étant identifiés par un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message de l’ensemble, le compteur ayant une première valeur déterminée pour un premier message de l’ensemble indiquant un début d’initialisation du compteur, le compteur ayant une deuxième valeur déterminée pour un deuxième message de l’ensemble indiquant une fin d’initialisation du compteur ;
- détection d’une intrusion sur le bus de données en fonction de la valeur prise par le compteur compris dans chaque message.
Selon une variante, une intrusion est détectée sur le bus de données lorsque la différence entre les valeurs prises par le compteur de deux messages successifs temporellement est différente de 1 en dehors d’une initialisation du compteur.
Selon une autre variante, une intrusion est détectée sur le bus de données lorsque l’intervalle temporel entre une réception du premier message et une réception du deuxième message est inférieur à la durée d’initialisation.
Selon une autre variante, une intrusion est détectée sur le bus de données lorsque la valeur prise par le compteur d’un message reçu immédiatement après le deuxième message est différente de la première valeur ou d’une troisième valeur déterminée.
Selon encore une variante, aucune intrusion n’est détectée sur le bus de données lorsque la valeur prise respectivement par le compteur de plusieurs messages reçus successivement est égale à la première valeur.
Selon une autre variante, aucune intrusion n’est détectée sur le bus de données lorsque la différence entre les valeurs prises par le compteur de deux messages successifs temporellement est égale à 1.
Selon un deuxième aspect, l’invention concerne un dispositif de détection d’une intrusion sur un bus de données d’un véhicule, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de l’invention.
Selon un troisième aspect, l’invention concerne un bus de données comprenant le dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention et un ou plusieurs calculateurs.
Selon un quatrième aspect, l’invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention ou un bus de données tel que décrit ci-dessus selon le troisième aspect de l’invention.
Selon un cinquième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 6 annexées, sur lesquelles :
illustre de façon schématique un bus de données d’un véhicule, selon un premier exemple de réalisation particulier de la présente invention ;
illustre de façon schématique un bus de données d’un véhicule, selon un deuxième exemple de réalisation particulier de la présente invention ;
illustre de façon schématique un message transmis sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention ;
illustre de façon schématique les valeurs prise par un compteur compris dans le message de la figure 3, selon un premier exemple de réalisation particulier de la présente invention ;
illustre schématiquement un dispositif configuré pour détecter une intrusion sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention ;
illustre un organigramme des différentes étapes d’un procédé de détection d’une intrusion sur le bus de données de la figure 1 et/ou de la figure 2, selon un exemple de réalisation particulier de la présente invention.
Un procédé et un dispositif de détection d’une intrusion sur un bus de données d’un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 6. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de l’invention, un procédé de détection d’une intrusion sur un bus de données, par exemple de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), d’un véhicule comprend la détermination d’une valeur prise par un compteur de chaque message d’un ensemble de messages évènementiels transmis sur le bus de données par un calculateur. Les messages évènementiels sont avantageusement identifiés via un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message ayant le même identifiant. Le compteur prend avantageusement une première valeur déterminée pour un premier message indiquant un début d’initialisation du compteur et le compteur prend avantageusement une deuxième valeur déterminée pour un deuxième message indiquant la fin de l’initialisation du compteur. Une intrusion sur le bus de données est finalement détectée en surveillant la ou les valeurs prises par le compteur compris dans les messages transmis sur le bus de données.
L’utilisation d’un compteur s’incrémentant de manière déterminée et prenant des valeurs particulières en début et fin d’initialisation permet à un dispositif configuré pour surveiller les messages transmis sur le bus de données de détecter un message introduit sur le bus de données par un dispositif malveillant.
illustre schématiquement un bus de données 100 d’un véhicule, selon un premier exemple de réalisation particulier et non limitatif de la présente invention.
Le bus de données 100 correspond avantageusement à un bus de données de type multiplexé reliant plusieurs calculateurs C1 11, C2 12 et C3 13. Un dispositif D 10 configuré pour détecter une ou plusieurs intrusions sur le bus de données 1 est également relié aux calculateur 11 à 13 via le bus de données 100. Le dispositif 10 correspond par exemple à un système de détection d’intrusion, dit IDS (de l’anglais « Intrusion Detection System »). L’ensemble formé par le bus de données 100, les calculateurs 11 à 13 et le dispositif 10 forment tout ou partie d’un système embarqué du véhicule, par exemple un véhicule automobile. Le nombre de calculateurs 11 à 13 n’est cependant pas limité à 3 et s’étend à tout nombre, par exemple 2, 5, 10, 100 ou plus de calculateurs.
Le bus de données est par exemple de type CAN tel que défini dans la norme ISO 11898 ou de type CAN FD tel que défini dans la norme ISO 11898-1. Le bus de données 100 met avantageusement en œuvre un multiplexage temporel permettant aux calculateurs 11 à 13 d’émettre des messages (aussi appelés trames de données) à tour de rôle. Les messages émis peuvent être de plusieurs types en fonctions des données qu’ils transportent, chaque type de message étant identifié par un identifiant déterminé et particulier. Comme cela sera décrit plus en détail de la figure 3, un compteur est compris dans les messages, ou pour le moins pour les messages d’un ou plusieurs types déterminés. Un compteur est alors associé à un premier type de message donné identifié via un identifiant unique, c’est-à-dire que la valeur du compteur associé à ce premier type de messages ne s’incrémente que lorsqu’un message de ce premier type est transmis avec succès sur le bus de données, par exemple par un calculateur particulier de ce bus de données. Si un compteur est compris dans des messages d’un deuxième type différent du premier type, alors le compteur de ces messages du deuxième type ne s’incrémente que lorsqu’un message du deuxième type est transmis avec succès sur le bus de données 100. Le compteur des messages du premier type et le compteur des messages du deuxième type sont donc indépendants l’un vis-à-vis de l’autre, notamment au regard de l’incrémentation de ces compteurs.
A titre d’illustration, il sera considéré que le calculateur 11 transmet des messages évènementiels sur le bus de données 100, ces messages évènementiels comprenant un compteur et sont d’un type déterminé identifié par un identifiant déterminé et unique. Les messages sont dits évènementiels en ce qu’ils sont transmis lorsqu’un évènement est détecté au niveau d’un calculateur, par exemple le calculateur 11, ou d’un capteur associé à un calculateur par exemple. Les messages évènementiels sont transmis à intervalles irréguliers qui dépendent de la survenue des évènements à signaler via ces messages. Par exemple, deux messages évènementiels consécutifs peuvent être transmis avec un intervalle temporel de 30 ms et les deux messages évènementiels consécutifs suivants peuvent être transmis sur le bus de données avec un intervalle temporel entre ces messages égal à 10 minutes. Un évènement correspond par exemple à une alerte, par exemple associée à un dépassement de seuil (vitesse de rotation de l’arbre moteur supérieure à un seuil, température moteur supérieure à un seuil, …).
Pour permettre au dispositif 10 de détecter une intrusion sur le bus de données, des règles d’incrémentation des valeurs prises par le compteur sont mises en place, ces règles étant connues du calculateur 11 et du dispositif 10, et éventuellement des autres calculateurs 12 et 13 du bus de données. Le compteur utilise par exemple 1 octet (c’est-à-dire 8 bits) de chaque message évènementiel. Le compteur peut ainsi prendre 255 valeurs, codées de 0 à 255 (ou de manière équivalente de 00 à FF en notation hexadécimale). Bien entendu, le compteur peut utiliser un nombre de bits différents, par exemple 10 bits ce qui permettrait au compteur de prendre 1024 valeurs. Les règles d’incrémentations du compteur associé aux messages identifiés par l’identifiant déterminé et unique comprennent les règles suivantes :
- la valeur du compteur s’incrémente de 1 à chaque transmission réussie d’un message du type déterminé sur le bus de données 100 ;
- en début d’initialisation du compteur (par exemple déclenchée par l’initialisation du calculateur émettant les messages, par exemple le calculateur 11), le calculateur 11 transmet un premier message comprenant une valeur de compteur égale à une première valeur déterminée, par exemple FE ; la transmission de ce message détermine le début de la phase d’initialisation du compteur ; étant donné le caractère évènementiel du message, l’instant d’émission de ce message ne peut être prédit ou déterminé ;
- pendant la phase d’initialisation du compteur, le calculateur 11 peut éventuellement transmettre un ou plusieurs premiers messages comprenant chacun une valeur de compteur égale à la première valeur déterminée, par exemple FE ;
- en fin d’initialisation du compteur (la durée d’initialisation étant déterminée et connu du calculateur 11 et du dispositif 10), le calculateur 11 transmet un deuxième message comprenant une valeur de compteur égale à une deuxième valeur déterminée, par exemple FF ; étant donné le caractère évènementiel du message, l’instant d’émission de ce message ne peut être prédit ou déterminé.
Dans une première opération, le dispositif 10 qui surveille la transmission des messages sur le bus de données 100 reçoit plusieurs messages identifiés par un même identifiant. Le dispositif 10 détermine la valeur prise par le compteur de chaque message reçu.
Dans une deuxième opération, le dispositif 10 détermine si une intrusion a eu lieu ou non à la réception de chaque message transmis sur le bus de données et identifiés via le même identifiant. Une intrusion est détectée à partir de la valeur prise par le compteur compris dans chaque message, connaissant les règles d’incrémentation du compteur.
Une intrusion est détectée par le dispositif 10 dans un ou plusieurs des cas suivants :
- lorsque, hors période d’initialisation du compteur détectée par la réception d’un premier message avec une valeur de compteur égale à la première valeur par exemple FE, la différence de la valeur prise par le compteur de 2 messages reçus successivement est différente de 1 ;
- lorsque la valeur du compteur d’un message reçu immédiatement après la réception d’un deuxième message ayant une valeur de compteur égale à la deuxième valeur (par exemple FF) est différente de la première valeur (par exemple FE) et d’une troisième valeur correspond à la valeur prise par le compteur lorsqu’il commence la série d’incrémentation (par exemple 00) ;
- lorsque la durée temporelle entre la réception d’un premier message ayant une valeur de compteur égale à la première valeur (par exemple FE) et la réception d’un deuxième message ayant une valeur de compteur égale à la deuxième valeur (par exemple FF) est inférieure à la durée d’initialisation du compteur (la durée d’initialisation étant déterminée et connue du calculateur 11 et du dispositif 10, l’initialisation du compteur étant par exemple déclenchée par l’initialisation du calculateur 11).
A contrario, aucune intrusion n’est détectée par le dispositif 10 dans un ou plusieurs des cas suivants :
- lorsque la différence de la valeur prise par le compteur de 2 messages reçus successivement est égale à 1 ;
- lorsque plusieurs messages reçus successivement ont un compteur ayant pour valeur la première valeur (par exemple FE), correspondant par exemple à plusieurs initialisations successives du compteur.
A titre d’exemple, les séquences de valeurs prises par le compteur suivantes ne génèrent pas de détection d’intrusion :
- FE … FE FF 00 : plusieurs initialisations suivies d’une fin d’initialisation et d’une nouvelle série d’incrémentations du compteur commençant par 00 ;
- FE … FE FF FE … FE FF 00 : correspondant au cas où une initialisation du compteur est effectuée juste après une fin d’initialisation marquée par FF ;
- XX FE … FE FF 00, où XX correspond à une valeur quelconque différente de FE ou FF, correspondant à une initialisation du compteur après un message comprenant un compteur à ‘XX’.
Un tel processus permet ainsi au dispositif 10 de détecter une intrusion malveillante d’un message copiant un message transmis précédemment par un calculateur, par exemple le calculateur 11, et comprenant en plus des données dangereuses pour un ou plusieurs des calculateurs 11 à 13 et le système embarqué du véhicule. Le dispositif malveillant ne connaissant par les règles d’incrémentation du compteur, celui-ci ne peut pas générer de message conforme aux règles décrites ci-dessus.
Selon une variante de réalisation, le bus de données 100 correspond par exemple à un bus de type FlexRay (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802-3).
illustre schématiquement un bus de données 100 d’un véhicule, selon un deuxième exemple de réalisation particulier et non limitatif de la présente invention.
La différence entre l’exemple de la figure 2 et celui de la figure 1 tient dans le fait que dans l’exemple de la figure 2, le système de détection des intrusions 231 est intégré à un des calculateurs, par exemple le calculateur C3 23. Selon cet exemple, le système de détection 231 correspond par exemple à un module logiciel intégré au calculateur 23.
Le processus de détection d’une intrusion ou d’une absence d’intrusion décrit en regard de la figure 1 est applicable à l’identique dans le cas d’un mode de réalisation correspondant à celui de la figure 2.
illustre schématiquement la structure 3 d’un message de type évènementiel transmis sur le bus de données 100 par un calculateur du système embarqué d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Selon l’exemple illustratif de la figure 3, seule une partie des champs du message (aussi appelée trame de données) sont décrits ou représentés, notamment ceux en relation avec l’objet de la présente invention.
Le message comprend ainsi :
- un premier champ 31 correspondant à un début de message ou début de trame, dit SOF (de l’anglais « Start Of Frame »), comprenant par exemple 1 bit ;
- un deuxième champ 32 correspondant par exemple à un champ d’arbitrage, aussi appelé champ identificateur, et comprenant l’identifiant du type de message, ce champ comprenant par exemple 12 ou 32 bits ; ce champ sert avantageusement d’identifiant pour les données ou types de données transportées dans le message, c’est-à-dire dans la partie appelée champ de données ;
- des troisièmes champs 33 à 36 formant le champ de données et comprenant notamment le compteur et les données utiles du messages ; ces champs 33 à 36 comprennent par exemple chacun 8 bits ; le compteur du message est par exemple compris dans le premier de ces champs, c’est-à-dire le champ 33, et les données utiles dans les autres champs, c’est-à-dire les champs 34, 35 et 36 ; selon un autre exemple, le compteur est compris dans le dernier de ces champs, c’est-à-dire le champ 36 ; selon une variante, il y a plus de 4 champs de données, par exemple 8 champs de données ;
- un quatrième champ 37 correspondant à une fin de message ou fin de trame, dit EOF (de l’anglais « End Of Frame »), comprenant par exemple 7 bits.
Le message comprend en outre éventuellement d’autre champs non décrits ou non représentés sur la figure 3, tels que par exemple un champ de commande (par exemple sur 6 bits), un champ de CRC (de l’anglais « Cyclic Redundancy Check » ou en français « Vérification de redondance cyclique ») et/ou un champ d’acquittement.
illustre schématiquement une séquence 4 de valeurs prises par un compteur associé à un ensemble de messages identifiés par un même identifiant, selon un exemple de réalisation particulier et non limitatif de la présente invention.
La figure 4 illustre les valeurs du compteur (en ordonnées) en fonction du temps (en abscisse). A t0, un premier message est transmis avec une valeur de compteur égale à FE. Cet évènement correspond par exemple à une initialisation du compteur ou à un démarrage du calculateur entrainant in fine un démarrage (ou une initialisation du compteur). A la fin de l’initialisation, c’est-à-dire à un instant t1, un deuxième message est transmis avec une valeur de compteur égale à FF, marquant la fin de l’initialisation du compteur. Le message suivant le message avec le compteur à FF a une valeur de compteur égale à 00, qui correspond au début de la séquence d’incrémentation du compteur. Le compteur s’incrémente à chaque message transmis avec succès sur le bus de données jusqu’à atteindre la valeur FD puis reprend à 00. Le compteur atteint ensuite par exemple une valeur ‘XX’ comprise entre 00 et FD avant qu’une initialisation du compteur ne commence à t2, matérialisée par la transmission d’un message avec un compteur à FE. A t3, un autre message avec un compteur à FE est transmis, signifiant par exemple qu’une nouvelle initialisation du compteur est lancée. Enfin, à t4un message avec un compteur à FF est transmis signifiant la fin de l’initialisation.
Bien entendu, les valeurs des compteurs sont fournies à titre illustratif seulement, le compteur pouvant prendre d’autre valeurs (par exemple 00 pour un début d’initialisation, 01 pour une fin d’initialisation et entre 02 et FF pour une des messages hors initialisation).
illustre schématiquement un dispositif 5 configuré pour détection une intrusion sur le bus de données 100, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 5 correspond par exemple au dispositif 10 ou au système 231.
Le dispositif 5 est par exemple configuré pour la mise en œuvre des opérations décrites en regard de la figure 1 et/ou des étapes du procédé décrit en regard de la figure 6. Les éléments du dispositif 5, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 5 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le dispositif 5 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.
Le dispositif 5 comprend un (ou plusieurs) processeur(s) 50 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 5. Le processeur 50 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 5 comprend en outre au moins une mémoire 51 correspondant par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la première mémoire 51.
Selon un mode de réalisation particulier, le dispositif 5 comprend une interface de communication 53 qui permet d’établir une communication avec d’autres dispositifs (tels que les calculateurs du système embarqué et connectés au bus de données) via un canal de communication 530. L’interface de communication 53 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 530. L’interface de communication 53 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs ») ou CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »).
Selon un mode de réalisation particulier supplémentaire, le dispositif 5 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées.
illustre un organigramme des différentes étapes d’un procédé de détection d’une intrusion sur un bus de données d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par le dispositif 10, le système 231 ou par le dispositif 5 de la figure 5.
Dans une première étape 61, la une valeur prise par un compteur compris dans chaque message d’un ensemble de messages évènementiels transmis sur le bus de données par un calculateur est déterminée. Les messages évènementiels de l’ensemble sont avantageusement identifiés par un même identifiant, la valeur du compteur étant incrémentée de 1 à chaque transmission réussie d’un message sur le bus de données. Le compteur prend avantageusement une première valeur déterminée pour un premier message de l’ensemble indiquant un début d’initialisation du compteur. Le compteur prend avantageusement une deuxième valeur déterminée pour un deuxième message de l’ensemble indiquant une fin d’initialisation du compteur.
Dans une deuxième étape 62, une intrusion sur le bus de données est détectée en fonction de la valeur prise par le compteur compris dans chaque message.
Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à un procédé de surveillance et/ou de contrôle d’un bus de données et au dispositif configuré pour la mise en œuvre du procédé.
L’invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant le dispositif 5 de la figure 5.

Claims (10)

  1. Procédé de détection d’une intrusion sur un bus de données (100) d’un véhicule, ledit procédé comprenant les étapes suivantes :
    - détermination (61) d’une valeur prise par un compteur (33) compris dans chaque message d’un ensemble de messages évènementiels transmis sur ledit bus de données (100) par un calculateur (11), les messages évènementiels dudit ensemble étant identifiés par un même identifiant, la valeur dudit compteur (33) étant incrémentée de 1 à chaque transmission réussie d’un message dudit ensemble, ledit compteur (33) ayant une première valeur déterminée pour un premier message dudit ensemble indiquant un début d’initialisation dudit compteur (33), ledit compteur (33) ayant une deuxième valeur déterminée pour un deuxième message dudit ensemble indiquant une fin d’initialisation dudit compteur (33) ;
    - détection (62) d’une intrusion sur ledit bus de données (100) en fonction de ladite valeur prise par le compteur (33) compris dans ledit chaque message.
  2. Procédé selon la revendication 1, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque la différence entre les valeurs prises par ledit compteur (33) de deux messages successifs temporellement est différente de 1 en dehors d’une initialisation dudit compteur (33).
  3. Procédé selon la revendication 1 ou 2, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque l’intervalle temporel entre une réception dudit premier message et une réception dudit deuxième message est inférieur à ladite durée d’initialisation.
  4. Procédé selon l’une des revendications 1 à 3, pour lequel une intrusion est détectée sur ledit bus de données (100) lorsque la valeur prise par le compteur (33) d’un message reçu immédiatement après le deuxième message est différente de la première valeur ou d’une troisième valeur déterminée.
  5. Procédé selon l’une des revendications 1 à 4, pour lequel aucune intrusion n’est détectée sur ledit bus de données (100) lorsque la valeur prise respectivement par le compteur (33) de plusieurs messages reçus successivement est égale à ladite première valeur.
  6. Procédé selon l’une des revendications 1 à 5, pour lequel aucune intrusion n’est détectée sur ledit bus de données (100) lorsque la différence entre les valeurs prises par le compteur (33) de deux messages successifs temporellement est égale à 1.
  7. Dispositif (5) comprenant une mémoire (51) associée à au moins un processeur (50) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 6.
  8. Bus de données (100) comprenant le dispositif selon la revendication 7 et le calculateur (11).
  9. Véhicule comprenant le dispositif (5) selon la revendication 7 ou le bus de données (100) selon la revendication 8.
  10. Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 6, lorsque le programme d’ordinateur est exécuté par au moins un processeur.
FR1911602A 2019-10-17 2019-10-17 Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule Expired - Fee Related FR3102270B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1911602A FR3102270B1 (fr) 2019-10-17 2019-10-17 Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911602 2019-10-17
FR1911602A FR3102270B1 (fr) 2019-10-17 2019-10-17 Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule

Publications (2)

Publication Number Publication Date
FR3102270A1 true FR3102270A1 (fr) 2021-04-23
FR3102270B1 FR3102270B1 (fr) 2022-01-21

Family

ID=69104768

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1911602A Expired - Fee Related FR3102270B1 (fr) 2019-10-17 2019-10-17 Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule

Country Status (1)

Country Link
FR (1) FR3102270B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220174073A1 (en) * 2020-11-27 2022-06-02 Robert Bosch Gmbh Method for checking a message in a communication system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082380A1 (en) * 2013-09-13 2015-03-19 GM Global Technology Operations LLC Methods and apparatus for secure communication in a vehicle-based data communication system
EP3113529A1 (fr) * 2015-06-29 2017-01-04 Argus Cyber Security Ltd Système et procédé de détection d'anomalie sur la base de durée dans un réseau de communication embarqué
US10243732B1 (en) * 2018-06-27 2019-03-26 Karamba Security Cryptographic key management for end-to-end communication security

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082380A1 (en) * 2013-09-13 2015-03-19 GM Global Technology Operations LLC Methods and apparatus for secure communication in a vehicle-based data communication system
EP3113529A1 (fr) * 2015-06-29 2017-01-04 Argus Cyber Security Ltd Système et procédé de détection d'anomalie sur la base de durée dans un réseau de communication embarqué
US10243732B1 (en) * 2018-06-27 2019-03-26 Karamba Security Cryptographic key management for end-to-end communication security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220174073A1 (en) * 2020-11-27 2022-06-02 Robert Bosch Gmbh Method for checking a message in a communication system

Also Published As

Publication number Publication date
FR3102270B1 (fr) 2022-01-21

Similar Documents

Publication Publication Date Title
EP2494489B1 (fr) Procédé et agent client pour contrôler l'utilisation d'un contenu protégé
EP2082574B1 (fr) Procédé de détection d'une utilisation anormale d'un processeur de sécurité
EP3381207A1 (fr) Procédé et terminal pour commander l'établissement d'un rapport d'accident d'un véhicule
FR3102270A1 (fr) Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule
FR3102269A1 (fr) Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule
FR3122748A1 (fr) Procédé et dispositif de protection contre une intrusion sur un bus de données d’un véhicule
WO2016055750A1 (fr) Procede d'ajustement dynamique d'un niveau de verbosite d'un composant d'un reseau de communications
FR3121527A1 (fr) Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule
CA2747375C (fr) Serveur passerelle a micronoyau
WO2021023694A1 (fr) Procédé d'écriture dans une zone de données sécurisée d'un calculateur sur bus embarqué de véhicule
FR3121528A1 (fr) Procédé et dispositif de détection d’une intrusion sur un bus de données d’un véhicule
EP3641268B1 (fr) Procédé de communication d'un objet avec un réseau d'objets connectés pour signaler qu'un clone se fait potentiellement passer pour l'objet dans le réseau
FR3008267A1 (fr) Dispositif, systeme et procede de securisation de transfert de donnees entre un dispositif de stockage de donnees portable source et un systeme informatique destinataire
FR3094105A1 (fr) Procédé et dispositif de dimensionnement d’une mémoire d’un calculateur
EP4182907B1 (fr) Aspects temporels d'une gestion centralisée de l'exécution de services connectés d'un véhicule
EP4288854A1 (fr) Procédé et dispositif de validation de synchronisation temporelle entre calculateurs embarqués de véhicule
FR3082960A1 (fr) Architecture electronique de vehicule automobile avec redondance des reseaux d’alimentation electrique et de communication inter-calculateurs.
FR3065604B1 (fr) Procede et dispositif de controle des transmissions et receptions de trames dans un reseau video bidirectionnel
US11847254B2 (en) Voltage override device for physical intrusion prevention on a data bus
FR3104769A1 (fr) Procédé et dispositif de contrôle de mise à jour logicielle de calculateur de véhicule
WO2020174137A1 (fr) Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule
WO2016181053A1 (fr) Procédé et dispositif de contrôle de la transmission de trames dans un réseau vidéo bidirectionnel.
EP4232904A1 (fr) Gestion de la supervision d'un composant électronique d'un véhicule terrestre à moteur
FR3124004A1 (fr) Gestion distante de l’exécution d’un service sur un véhicule fondée sur un échange de données
EP4142262A1 (fr) Procédé de transmission de données métrologiques et dispositif mettant en oeuvre le procédé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210423

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20230606