Brevet FR3102269A1 — publié le 20210423

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 transmis périodiquement 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 durée d’initialisation du compteur est supérieure à la période des messages. 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 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 périodiques transmis sur le bus de données par un calculateur, les messages périodiques 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, une durée d’initialisation du compteur étant supérieure à une période des messages de l’ensemble ; - détection d’une intrusion sur le bus de données en fonction de la valeur prise par le compteur compris dans chaque message et en fonction d’une durée d’initialisation du compteur. 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 de l’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 encore une 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 une autre 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 pendant la durée d’initialisation est égale à la première valeur. Selon une variante additionnelle, 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 périodiques transmis sur le bus de données par un calculateur. Les messages périodiques 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 durée d’initialisation du compteur est avantageusement supérieure à la période des messages périodiques. 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, connaissant la durée d’initialisation du compteur. 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 périodiques sur le bus de données 100, ces messages périodiques comprenant un compteur et sont d’un type déterminé identifié par un identifiant déterminé et unique. Les messages sont dits périodiques en ce qu’ils sont transmis à intervalle régulier (une période) par le calculateur 11, par exemple toutes les 10, 20, 30 ms. 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 périodique. 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 ; - 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. La durée d’initialisation du compteur est avantageusement supérieure à la période des messages périodiques qui comprennent ce compteur, c’est-à-dire que la durée d’initialisation est supérieure à l’intervalle temporel compris entre la transmission de 2 messages périodiques identifiés par le même identifiant. Cette durée d’initialisation est avantageusement inférieure à 254 fois la période (selon l’exemple dans lequel le compteur est codé sur 8 bits). 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 la durée d’initialisation et 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 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 ; - 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). 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 (la durée entre la fin d’initialisation FF et le dernier début d’initialisation FE étant inférieure à la durée 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, en respectant pour chaque séquence une durée entre la fin d’initialisation FF et le dernier début d’initialisation FE étant inférieure à la durée d’initialisation ; - 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 périodique 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 t 0 , 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 message suivant (dit deuxième message) est transmis avec une valeur de compteur égale à FF, marquant la fin de l’initialisation du compteur. La durée comprise entre t0 et t1 correspond à la durée d’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 à t 2 , matérialisée par la transmission d’un message avec un compteur à FE. A t 3 , un autre message avec un compteur à FE est transmis, signifiant par exemple qu’une nouvelle initialisation du compteur est lancée. Enfin, à t 4 un message avec un compteur à FF est transmis signifiant la fin de l’initialisation, la durée entre t 3 et t 4 étant égale à la durée d’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 périodiques transmis sur le bus de données par un calculateur est déterminée. Les messages périodiques 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. La durée d’initialisation du compteur est avantageusement supérieure à une période des messages périodiques. 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 et en fonction d’une durée d’initialisation du compteur. 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. 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 périodiques transmis sur ledit bus de données (100) par un calculateur (11), les messages périodiques dudit ensemble étant identifiés par un même identifiant, la valeur dudit compteur é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), une durée d’initialisation dudit compteur (33) étant supérieure à une période desdits messages de l’ensemble ; - 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 et en fonction d’une durée d’initialisation dudit compteur (33). 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 de l’initialisation dudit compteur (33). 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. 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. 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 pendant ladite durée d’initialisation est égale à ladite première valeur. 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. 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. Bus de données comprenant le dispositif selon la revendication 7 et ledit calculateur. Véhicule comprenant le dispositif (5) selon la revendication 7 ou le bus de données selon la revendication 8. 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.