Brevet FR3121527A1 — publié le 20221007

L’invention concerne un procédé et un dispositif de détection d’intrusion sur un bus de données (100). A cet effet, un dispositif (10) relié au bus de données (100) reçoit un message circulant sur le bus de données (100). Le dispositif (10) récupère un premier identifiant contenu dans ce message et identifiant ce message. Le dispositif (10) compare le premier identifiant à un ensemble de deuxièmes identifiants compris dans une table de données stockée en mémoire du dispositif (10). Chaque deuxième identifiant identifie avantageusement un message autorisé à circuler sur le bus de données (10). Le résultat de la comparaison permet au dispositif (10) de détecter si la circulation de ce message sur le bus de données (100) constitue une intrusion malveillante ou non 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. Certaines méthodes sont connues pour détecter l’introduction ou l’intrusion de tels messages malveillants sur un bus de données, ces méthodes étant par exemple basées sur des approches statistiques sur un enregistrement long de messages, sur des techniques dites d’apprentissage machine (de l’anglais « machine learning »), sur la détection d’anomalie par rapport à un comportement observé durant une phase d’apprentissage. Le problème de ces méthodes connues est qu’elles requièrent une charge de calcul importante avec une fiabilité limitée. Un objet de la présente invention est de résoudre au moins un des problèmes de l’art antérieur, par exemple de détecter l’introduction de messages malveillants sur un bus de données d’un véhicule, par exemple automobile et/ou d’améliorer la détection d’intrusion de message malveillant sur un bus de données d’un véhicule. 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é étant mis en œuvre par au moins un processeur embarqué dans le véhicule, le procédé comprenant les étapes suivantes : - réception d’un message transmis sur le bus de données ; - détermination d’un premier identifiant du message, le premier identifiant étant compris dans le message ; - comparaison du premier identifiant avec une pluralité de deuxièmes identifiants compris dans une table stockée dans une mémoire associée à le au moins un processeur, chaque deuxième identifiant de la pluralité identifiant un message autorisé à circuler sur le bus de données ; - détection d’une intrusion sur le bus de donnée en fonction d’un résultat de la comparaison. Selon une variante, une intrusion est détectée lorsque le résultat indique que le premier identifiant ne correspond à aucun deuxième identifiant de la pluralité de deuxièmes identifiants. Selon une autre variante, le procédé comprend en outre une étape de transmission d’une alerte à destination d’un dispositif distant via une liaison sans fil lorsqu’une intrusion est détectée. Selon une variante supplémentaire, le premier identifiant est codé sur 11 bits et la pluralité de deuxièmes identifiants est codée de manière déterminée dans la table, la table comprenant 256 éléments chacun codé sur 8 bits. Selon une autre variante, le premier identifiant comprend une première partie formé des 3 bits de poids les plus faibles et d’une deuxième partie formée des 8 bits de poids les plus forts, la première partie étant utilisée pour identifier une colonne de la table, la deuxième partie étant utilisée pour identifier une ligne de la table, un traitement déterminé étant appliqué au premier identifiant pour mettre en œuvre la comparaison en utilisant la ligne identifiée dans la table et la colonne identifiée dans la table. Selon encore une variante, une intrusion est détectée lorsque le premier identifiant est codé sur 29 bits et identifie un message de type étendu. Selon une variante additionnelle, le bus de données est un bus de type réseau de contrôleurs, dit bus CAN. 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 à 5 annexées, sur lesquelles : illustre de façon schématique un bus de données d’un véhicule, selon un exemple de réalisation particulier de la présente invention ; illustre un organigramme des différentes opérations d’un processus de détection d’une intrusion sur le bus de données de la , selon un exemple de réalisation particulier de la présente invention. illustre de façon schématique un premier identifiant d’un message transmis sur le bus de données de la , selon un 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 , 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 , 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 le bus de données vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 5. 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 message circulant 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 est reçu par un dispositif connecté à ce bus, par exemple un calculateur du système embarqué du véhicule relié à d’autres calculateurs du système embarqué via le bus de données. Le dispositif récupère un premier identifiant contenu dans ce message et identifiant ce message, un tel identifiant étant par exemple codé sur 11 bits. Le dispositif compare le premier identifiant à un ensemble de deuxièmes identifiants compris dans une table de données stockée en mémoire du dispositif. Chaque deuxième identifiant identifie avantageusement un message autorisé à circuler sur le bus de données. Le résultat de la comparaison permet ainsi au dispositif de détecter si la circulation de ce message sur le bus de données constitue une intrusion malveillante ou non sur le bus de données. Une telle méthode présente l’avantage d’être simple à mettre en œuvre en ne requérant que le stockage en mémoire d’une table comprenant les identifiants des messages dont la circulation sur le bus de données est admise ou autorisée. Ainsi, aucune phase d’apprentissage n’est nécessaire pour mettre en œuvre la méthode. Les ressources en termes de calcul et d’empreinte mémoire nécessaires à la mise en œuvre de cette méthode sont peu élevées, l’architecture matérielle d’un calculateur standard d’un système embarqué d’un véhicule étant adaptée à une telle mise en œuvre. Une telle méthode est par exemple adaptée pour détecter des messages inconnus circulant sur un bus de données, permettant de contrer une attaque de type DOS (de l’anglais « Deny Of Service » ou en français « Déni de service »). Dans une telle attaque, un calculateur corrompu ou un équipement pirate relié au bus de données tente de perturber le bus de données en émettant des messages inconnus sur le bus de données. Une telle attaque perturbe l’acheminement de messages légitimes (ou autorisés) ayant une priorité par exemple moins importante que celle des messages inconnus. Les messages légitimes n’étant pas acheminés correctement au(x) calculateur(s) destinataire(s), un fonctionnement en mode dégradé voire un défaut de ce ou ces calculateurs peut apparaître entrainant un dysfonctionnement du véhicule avec les problèmes de sécurité associés pour le véhicule et ses passagers. 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 11, 12 et 13. Un dispositif 10 configuré pour détecter une ou plusieurs intrusions sur le bus de données 100 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 dispositif ou module IDS (de l’anglais « Intrusion Detection System »). Un tel module IDS correspond par exemple à un dispositif configuré pour recevoir et traiter des données et est par exemple hébergé dans un calculateur sous la forme d’un module logiciel. Un tel module IDS est avantageusement hébergé dans un environnement ou une zone sécurisée (de l’anglais « Trusted zone ») d’un calculateur pour le protéger d’une éventuelle attaque. 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 système embarqué comprend par exemple également une unité de contrôle télématique, dite TCU (de l’anglais « Telematic Control Unit »), reliée en communication avec les calculateurs 11 à 13 via le bus de données 100. La TCU est reliée à une ou plusieurs antennes du véhicule pour la communication de données entre le véhicule et un ou plusieurs dispositifs distants, par exemple via une liaison sans fil basée sur un réseau cellulaire de type LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé), aussi appelé réseau 4G ou 5G. 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 en regard des figures 2 et 3, les messages légitimes, c’est-à-dire les messages connus et autorisés à circuler sur le bus de données, sont identifiés via un identifiant dont la valeur est connue, cette valeur étant par exemple codé sur un nombre de bits déterminé, par exemple 11 bits. Les messages légitimes correspondent par exemple à des messages dit évènementiels 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, …). Selon un autre exemple, les messages légitimes correspondent à des messages périodiques émis sur le bus de données 100, ces messages périodiques étant 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 un calculateur, par exemple toutes les 10, 20, 30 ms. 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 un organigramme des différentes opérations d’un processus de détection d’une intrusion sur le bus de données 100 de la , selon un premier exemple de réalisation particulier et non limitatif de la présente invention. Un tel processus est avantageusement mis en œuvre par le dispositif 10 relié ou connecté au bus de données 100. Les opérations du processus ci-dessous seront décrites en référence à la réception et au traitement d’un message. Bien entendu, les mêmes opérations s’appliquent à la réception et au traitement de plusieurs messages de manière identiques à ce qui est décrit en prenant un message en exemple. Dans une première opération 21, un message émis sur le bus de données 100 est reçu par le dispositif 10. Le message (ou la trame de données) est par exemple émis sur le bus de données par un des calculateurs 11 à 13 et correspond à un message légitime (aussi appelé message connu ou message autorisé). Selon un autre exemple, le message est émis sur le bus de données 100 par un dispositif malveillant connecté au bus de données ou à un calculateur corrompu du système embarqué du véhicule et correspond alors à un message illégitime (aussi appelé message inconnu ou message non autorisé). Dans une deuxième opération 22, le dispositif 10 récupère ou détermine l’identifiant du message reçu, appelé premier identifiant. Le premier identifiant est par exemple contenu dans un champ du message appelé champ d’arbitrage ou champ identificateur, lequel comprend le premier identifiant. Ce champ comprend par exemple entre 10 et 32 bits, par exemple 11 bits ou 29 bits. Si le premier identifiant correspond à un identifiant de 29 bits, le message reçu correspond à un message de type étendu et le processus passe alors directement à l’opération 24. Une potentielle intrusion malveillante sur le bus de données 100 est ainsi détectée et le processus se poursuit avec l’opération 24. Si le premier identifiant correspond à un identifiant de 11 bits, le message reçu n’est pas de type étendu et le processus passe alors directement à l’opération 23. Dans cette deuxième opération 22, seule la longueur du premier identifiant est déterminée pour déclencher le passage à l’opération 24 ou à l’opération 23. Selon une variante de réalisation, le premier identifiant est déterminé au cours de l’opération 22 en décodant tout ou partie du message reçu, par exemple en décodant l’en-tête (de l’anglais « header ») du message reçu. Dans une troisième opération 23, le premier identifiant est déterminé par décodage du message ou de la partie de message comprenant le premier identifiant si le décodage n’a pas été mis en œuvre à la deuxième opération 22. Le premier identifiant correspond à un code binaire, le premier identifiant correspondant à une chaine binaire de longueur égale à 11 bits, chaque bit de la chaine prenant la valeur 0 ou 1. Le premier identifiant est comparé à une liste de deuxièmes identifiants stockés dans une table à deux dimensions, telle que la table illustrée en regard de la . Cette table est avantageusement stockée en mémoire du dispositif 10, ou, selon une variante particulière, en mémoire d’un autre dispositif (par exemple un des calculateurs 11 à 13) accessible par le dispositif 10, par exemple via le bus de données 100. Chaque deuxième identifiant compris dans la table correspond à un identifiant d’un message dont le type est connu du dispositif 10, ce type de message étant légitime et autorisé à circuler sur le bus de données 100. Les deuxièmes identifiants sont avantageusement codés dans la table de manière à minimiser l’empreinte mémoire de la table. Par exemple, la table est une table à 2 dimensions, avec par exemple 256 lignes et 8 colonnes. Le codage associé à cette table permet de stocker 8*256 deuxièmes identifiants, soit 2048 deuxièmes identifiants en n’utilisant que 256 octets d’espace mémoire. Un tel codage sera expliqué avec plus de détail en regard de la . La chaine binaire formant le premier identifiant est par exemple décomposée en deux parties, une première partie étant par exemple formée des 3 bits de poids les plus faibles, dit bits LSB (de l’anglais « Least Significant Bit » ou en français « bit de poids faible »), et la deuxième partie étant par exemple formée des 8 bits de poids les plus forts, dits bits MSB (de l’anglais « Most Significant Bit » ou en français « bit de poids fort »). Selon le codage particulier utilisé dans la table, les 8 bits MSB permettent d’identifier une ligne de la table et les 3 bits LSB permettent d’identifier une colonne de la table. La valeur (0 ou 1) comprise dans la cellule de la table correspondant au croisement de la ligne et de la colonne identifiées permet de déterminer si le premier identifiant correspond à un deuxième identifiant de la table, en effectuant un nombre réduit d’opérations logiques sur la chaine binaire, par exemple 5 opérations, selon le codage utilisé. Selon le résultat de la comparaison entre le premier identifiant et la pluralité de deuxièmes identifiants compris dans la table, le message identifié avec le premier identifié est déterminé comme étant : - un message non autorisé à circuler sur le bus de données (message inconnu ou illégitime), lorsque le premier identifiant ne correspond à aucun deuxième identifiant de la table ; et - un message autorisé à circuler sur le bus de données (message connu ou légitime), lorsque le premier identifiant correspond à un des deuxièmes identifiants de la table. Lorsque le résultat de la comparaison indique que le premier identifiant ne correspond à aucun deuxième identifiant de la table, alors une intrusion malveillante sur le bus de données 100 est détectée et le processus se poursuit avec l’opération 24. Lorsque le résultat de la comparaison indique que le premier identifiant correspond à un des deuxièmes identifiants de la table, alors aucune intrusion malveillante n’est détectée et le processus prend fin avec l’étape 25. Dans une quatrième opération 24, une alerte est émise à destination d’un dispositif distant, par exemple via une liaison sans fil de type LTE ou LTE-Advanced. L’alerte correspond par exemple à un message ou une trame de données destinée à un serveur d’un centre de sécurité (par exemple un SOC (de l’anglais « Security Operation Center » ou en français « Centre d’opération de sécurité ») du constructeur du véhicule) indiquant qu’une intrusion malveillante a été détectée sur le bus de données 100. La cinquième opération 25 correspond à la fin du processus de détermination de la qualité ou du type d’une intrusion (autorisée ou non autorisée / malveillante ou non malveillante). illustre de façon schématique un premier identifiant d’un message transmis sur le bus de données 100 de la , selon un premier exemple de réalisation particulier et non limitatif de la présente invention. La illustre le premier identifiant 31 codé sur 11 bits et la table 32 stockée en mémoire du dispositif 10 par exemple et comprenant la pluralité de deuxièmes identifiants, chaque deuxième identifiant étant associé à un message connu (légitime ou autorisé à circuler sur le bus de données 100). La table 32 est une table à 2 dimensions, avec 256 lignes et 8 colonnes. Le codage associé à cette table permet de stocker 8*256 deuxièmes identifiants, soit 2048 deuxièmes identifiants en n’utilisant que 256 octets d’espace mémoire. Lors du décodage du premier identifiant 32, ce dernier est découpé en 2 parties, une première partie 311 comprenant les 3 bits LSB (bits de rang ‘0’, ‘1’ et ‘2’) et une deuxième partie 312 comprenant les 8 bits MSB (bits de rang ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’ et ‘11’). La première partie 311 peut prendre 8 valeurs et est utilisée pour identifier une des colonnes ‘0’ à ‘7’ de la table 32. La deuxième partie 312 peut prendre 256 valeurs et est utilisée pour identifier une des lignes ‘0’ à ‘255’ de la table 32. Selon l’exemple particulier de la , la première partie 311 identifie la colonne ‘4’ et la deuxième partie 312 identifie la ligne ‘3’, tel qu’illustré par les flèches ayant pour origine la première partie 311 (respectivement la deuxième partie 312) et pour fin la colonne ‘4’ (respectivement la ligne ‘3’). Cette table 32 est particulière et dépend du bus de données 100. Ainsi, une table est établie en fonction du bus de données auquel elle s’applique, en fonction des messages légitimes ou autorisés à circuler sur ce bus de données. Un traitement particulier est effectué sur le premier identifiant pour déterminer si le message associé est connu ou légitime, c’est-à-dire pour déterminer si le premier identifiant 31 correspond à un deuxième identifiant de la table 32. Selon un exemple particulier, le traitement correspond à : [ID >> 3] & [1 Avec ID correspondant au premier identifiant, ‘>>’ correspondant à un décalage à droite, & correspondant à l’opération logique ET (de l’anglais « AND »), ‘ Un tel traitement comprend ainsi 5 opérations élémentaires En prenant pour exemple un premier identifiant égal à « 00000011100 », on obtient : [ID >> 3] & [1 Lorsque le résultat du traitement ci-dessus est différent de 0, alors le premier identifiant correspond à un deuxième identifiant de la table et le message identifié par le premier identifiant est légitime, c’est-à-dire autorisé à circuler sur le bus de données 100. Aucune intrusion malveillante sur le bus de données n’est alors détectée. Lorsque le résultat du traitement ci-dessus est égal à 0, alors le premier identifiant ne correspond pas à un deuxième identifiant de la table et le message identifié par le premier identifiant est illégitime, c’est-à-dire non autorisé à circuler sur le bus de données 100. Une intrusion malveillante sur le bus de données 100 est alors détectée. Une 6 ème opération est effectuée sur le premier identifiant 31 pour vérifier si le premier identifiant est un identifiant d’un message de type étendu. Ainsi, au total, le dispositif 10 réalise 6 opérations pour déterminer si un message reçu correspond à un message légitime ou illégitime, c’est-à-dire pour déterminer s’il y a intrusion malveillante sur le bus de données 100 ou non. En prenant pour exemple un bus CAN communicant avec un débit de 500 Kbits/s chargé à 50% (une charge de bus à 50% correspond à un débit de 250 Kbits/s) avec un message constitué de 110 bits brut, on obtient : 250000 / 110 = 2272, c’est-à-dire 2272 messages / seconde. Le dispositif 10 devra donc effectuer le traitement de 2272 messages toutes les secondes, c’est-à-dire 2272 x 6 opérations élémentaires par seconde. Avec un processeur 16 bits pouvant effectuer 20 MIPS (Millions d’instructions par secondes), la charge processeur obtenue pour le traitement réalisé par le dispositif 10 pour détecter des intrusions sur le bus CAN est de 0,07%, ce qui représente une charge très faible du processeur pour cette tâche particulière. Le processus de détection d’intrusion décrit ci-dessus requiert peu de charge processeur. Une telle solution est ainsi parfaitement avantageuse et est adapté à tout calculateur embarqué dans un véhicule car elle ne requiert que peu d’espace mémoire (pour la table 32) et elle ne charge que très peu le processeur du calculateur. illustre schématiquement un dispositif 4 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 4 correspond par exemple au dispositif 10. Le dispositif 4 est par exemple configuré pour la mise en œuvre des opérations décrites en regard des figures 1 à 3 et/ou des étapes du procédé décrit en regard de la . Les éléments du dispositif 4, 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 4 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 4 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 4 comprend un (ou plusieurs) processeur(s) 40 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 4. Le processeur 40 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 4 comprend en outre au moins une mémoire 41 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 41. Selon un mode de réalisation particulier, le dispositif 4 comprend une interface de communication 43 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 430. L’interface de communication 43 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 430. L’interface de communication 43 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 4 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 un ou plusieurs processeurs, par exemple un processeur embarqué dans le dispositif 10 de la et/ou par un processeur embarqué dans le dispositif 4 de la . Dans une première étape 51, un message transmis sur le bus de données est reçu. Dans une deuxième étape 52, un premier identifiant du message est déterminé, le premier identifiant étant compris dans le message reçu à la première étape 51. Dans une troisième étape 53, le premier identifiant est comparé avec une pluralité de deuxièmes identifiants compris dans une table stockée dans une mémoire du dispositif, chaque deuxième identifiant de la pluralité identifiant un message autorisé à circuler sur le bus de données. Dans une quatrième étape 54, une intrusion est détectée sur le bus de donnée en fonction d’un résultat de la comparaison de la troisième étape 53. Les étapes décrites ci-dessus sont avantageusement réitérées à chaque réception d’un nouveau message. Selon une variante de réalisation, les variantes et exemples des opérations décrits en relation avec la , 2 ou 3 s’appliquent aux étapes du procédé de la . 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 4 de la ou le bus de données 100 de la . Procédé de détection d’une intrusion sur un bus de données (100) d’un véhicule, ledit procédé étant mis en œuvre par au moins un processeur embarqué dans ledit véhicule, ledit procédé comprenant les étapes suivantes : - réception (51) d’un message transmis sur ledit bus de données (100) ; - détermination (52) d’un premier identifiant (31) dudit message, ledit premier identifiant (31) étant compris dans ledit message ; - comparaison (53) dudit premier identifiant (31) avec une pluralité de deuxièmes identifiants compris dans une table (32) stockée dans une mémoire associée audit au moins un processeur, chaque deuxième identifiant de ladite pluralité identifiant un message autorisé à circuler sur ledit bus de données (100) ; - détection (54) d’une intrusion sur ledit bus de données (100) en fonction d’un résultat de ladite comparaison (53). Procédé selon la revendication 1, pour lequel une intrusion est détectée lorsque ledit résultat indique que ledit premier identifiant (31) ne correspond à aucun deuxième identifiant de ladite pluralité de deuxièmes identifiants. Procédé selon la revendication 2, comprenant en outre une étape de transmission d’une alerte à destination d’un dispositif distant via une liaison sans fil lorsqu’une intrusion est détectée. Procédé selon l’une des revendications 1 à 3, pour lequel ledit premier identifiant (31) est codé sur 11 bits et ladite pluralité de deuxièmes identifiants est codée de manière déterminée dans ladite table (32), ladite table comprenant 256 éléments chacun codé sur 8 bits. Procédé selon la revendication 4, pour lequel ledit premier identifiant (31) comprend une première partie (311) formé des 3 bits de poids les plus faibles et d’une deuxième partie (312) formée des 8 bits de poids les plus forts, ladite première partie (311) étant utilisée pour identifier une colonne de ladite table (32), ladite deuxième partie (312) étant utilisée pour identifier une ligne de ladite table (32), un traitement déterminé étant appliqué audit premier identifiant (31) pour mettre en œuvre ladite comparaison (53) en utilisant ladite ligne identifiée dans ladite table (32) et ladite colonne identifiée dans ladite table (32). Procédé selon l’une des revendications 1 à 5, pour lequel une intrusion est détectée lorsque ledit premier identifiant (31) est codé sur 29 bits et identifie un message de type étendu. Procédé selon l’une des revendications 1 à 6, pour lequel ledit bus de données (100) est un bus de type réseau de contrôleurs, dit bus CAN. Dispositif (4) configuré pour détecter une intrusion sur un bus de données (100) d’un véhicule, ledit dispositif (4) comprenant une mémoire (41) associée à au moins un processeur (40) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 7. Véhicule comprenant le dispositif (4) selon la revendication 8. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 7, lorsque ces instructions sont exécutées par un processeur.