Ordinateur de bord Tesla Model 3 : De pièces récupérées à laboratoire de recherche en sécurité
Un passionné et chercheur en cybersécurité a réussi à recréer un ordinateur de bord fonctionnel de Tesla Model 3 en utilisant des pièces récupérées de véhicules accidentés. L'objectif de ce projet était d'établir un environnement de test pour découvrir des vulnérabilités et analyser le firmware dans le cadre du programme de primes aux bogues de Tesla. Cette étude de cas met en lumière les profondes complexités techniques et les solutions non conventionnelles requises pour faire fonctionner des systèmes électroniques automobiles sophistiqués en dehors de leur environnement natif, tout en soulignant le rôle crucial de la documentation dans les efforts de rétro-ingénierie.
Assemblage du banc d'essai : Des pièces à l'alimentation
Le projet a débuté par la nécessité d'acquérir du matériel Tesla Model 3 pour participer au programme Bug Bounty. Les composants principaux de l'ordinateur de bord sont l'unité de contrôle multimédia (MCU) et l'unité Autopilot (AP), généralement situées derrière la boîte à gants. Ces unités, de la taille d'une tablette et aussi épaisses qu'un livre de 500 pages, sont logées dans un boîtier métallique refroidi par eau. Pour obtenir ces composants, le chercheur s'est tourné vers eBay, où de nombreuses annonces de sociétés spécialisées dans le démantèlement de véhicules endommagés ont été trouvées. Les prix des MCU variaient de 200 à 300 dollars américains.
En plus de l'unité principale, les éléments suivants étaient nécessaires pour le démarrage :
- Une alimentation CC capable de délivrer 12V. Une unité réglable de 10A a été choisie, ce qui s'est avéré être la bonne décision, car le système pouvait consommer jusqu'à 8A en pointe.
- Un module d'écran tactile (affichage) d'une Model 3 endommagée. Les écrans se sont avérés étonnamment chers ; l'un a été acquis pour 175 $.
- Un câble spécialisé pour connecter le MCU et l'affichage.
Le dernier élément s'est avéré être le plus difficile. L'ordinateur et l'affichage étaient livrés avec des câbles coupés, rendant nécessaire la recherche du connecteur d'origine. Grâce aux « Schémas Électriques » de Tesla, disponibles publiquement sur leur site de service, il a été déterminé que l'affichage utilise un câble à 6 broches avec un connecteur spécial Rosenberger 99K10D-1D5A5-D. Les tentatives de trouver un tel câble sur le marché ont échoué. Les efforts pour utiliser un câble LVDS automobile similaire, courant chez BMW, ont également échoué en raison de l'incompatibilité des connecteurs.
Infrastructure réseau et interfaces logicielles de Tesla
Après avoir acquis le MCU et l'avoir connecté à l'alimentation, des LED rouges clignotantes ont été observées, indiquant le démarrage. Sans affichage, l'interaction avec le système était limitée, mais des recherches antérieures suggéraient un réseau interne avec des serveurs web sur certains composants. La connexion d'un câble Ethernet à un port du MCU a établi une connexion réseau avec un ordinateur portable.
Ce réseau interne est dépourvu de DHCP, de sorte que l'adresse IP a dû être configurée manuellement. La plage d'adresses IP recommandée est 192.168.90.X/24, avec X devant être supérieur à 105 pour éviter les conflits avec d'autres hôtes. L'étude d'anciens fichiers /etc/hosts de véhicules Tesla a permis d'identifier les attributions IP standard :
192.168.90.100 cid ice # mcu
192.168.90.100 ic # uniquement dans les Model X/S | IC = tableau de bord
192.168.90.102 gw # passerelle
192.168.90.103 ap ape # ap = pilote automatique
192.168.90.104 lb # aucune idée
192.168.90.105 ap-b ape-b # également pilote automatique
192.168.90.30 tuner # également aucune idée
192.168.90.60 modem # celui-ci a le serveur ftp
Sur le MCU (IP 192.168.90.100), deux services principaux ont été découverts : un serveur SSH sur le port 22 et une API de type REST sur le port 8080.
- Serveur SSH : La tentative de connexion a renvoyé le message « SSH allowed: vehicle parked. » L'accès nécessite des clés SSH spécialement signées générées par Tesla. Il est à noter que, dans le cadre du programme Bug Bounty, Tesla fournit un certificat SSH persistant pour l'accès root aux chercheurs qui découvrent une vulnérabilité valide permettant des privilèges root. Cela simplifie considérablement la recherche de vulnérabilités ultérieures.
- API ODIN : Une API de type REST sur le port
8080, connue sous le nom d'ODIN (On-Board Diagnostic Interface Network), renvoie un historique de « tâches » et est destinée à être utilisée par l'outil de diagnostic « Toolbox » de Tesla.
La structure interne du MCU comprend deux cartes empilées l'une sur l'autre, confirmant son architecture modulaire.
Surmonter les défis matériels : Du LVDS au faisceau de câbles
Les premières tentatives de connexion de l'affichage et du MCU à l'aide d'un câble LVDS BMW ont échoué en raison d'une incompatibilité physique des connecteurs. Des efforts désespérés pour épisser directement les fils coupés ont entraîné un court-circuit et la défaillance de l'une des puces du microcontrôleur d'alimentation sur la carte. Cela a rendu nécessaire la commande d'un nouveau MCU. Cependant, avec l'aide d'un ami expert, le composant brûlé a été identifié comme un contrôleur abaisseur « MAX16932CATIS/V+T ». La puce a été commandée et remplacée avec succès dans un atelier de réparation, permettant de restaurer le MCU endommagé, ce qui a abouti à deux unités fonctionnelles.
Réalisant l'impossibilité de trouver un câble Rosenberger autonome, le chercheur a conclu que les véhicules Tesla réels n'utilisent pas de câbles séparés pour l'affichage. Au lieu de cela, de grands faisceaux de câbles intégrés combinent de nombreux câbles provenant de zones adjacentes. En utilisant le schéma électrique de Tesla, le numéro de pièce du faisceau nécessaire (1067960-XX-E) a été trouvé. L'acquisition d'un tel faisceau, malgré son encombrement et son coût d'environ 80 dollars, s'est avérée être la seule solution viable.
Après l'installation du faisceau de câbles complet, le système a fonctionné correctement. L'écran tactile s'est allumé, et un ordinateur de bord Tesla Model 3 entièrement fonctionnel avec son système d'exploitation en marche était désormais opérationnel sur le banc d'essai. Cela a marqué une étape importante dans la création d'un environnement de test complet pour les recherches futures.
Perspectives de recherche et prochaines étapes
Faire fonctionner l'ordinateur de bord Tesla Model 3 sur un banc d'essai ouvre de vastes opportunités pour une recherche approfondie de ses fonctionnalités et de sa sécurité. Avec un système entièrement opérationnel, le chercheur prévoit de se concentrer sur les domaines suivants :
- Exploration de l'interface utilisateur (UI) : Analyse de l'interaction du système, identification des fonctionnalités cachées et des points d'entrée potentiels.
- Interaction avec l'interface réseau : Investigation plus détaillée des API SSH et ODIN découvertes, ainsi que la recherche d'autres ports et services ouverts.
- Recherche sur le bus CAN : Analyse des données transmises via le réseau CAN automobile interne pour comprendre la communication entre les différents composants du véhicule.
- Extraction du firmware : Tentatives d'accès au firmware du système d'exploitation pour une analyse statique et la découverte de vulnérabilités à un niveau inférieur.
Ces étapes permettront non seulement de fournir une compréhension plus approfondie de l'architecture et du fonctionnement du système de Tesla, mais aussi de potentiellement découvrir des vulnérabilités critiques, ce qui est l'objectif principal de la participation au programme de primes aux bogues.
Points clés à retenir
- Accès à la plateforme matérielle : Pour une recherche efficace en cybersécurité sur les véhicules Tesla, l'accès physique à l'ordinateur de bord est crucial, obtenu en acquérant des pièces de voitures accidentées.
- Valeur de la documentation ouverte : La publication par Tesla de schémas électriques détaillés simplifie considérablement le processus de rétro-ingénierie et l'assemblage des composants en dehors de l'environnement natif.
- Défis de l'équipement spécialisé : L'électronique automobile utilise des connecteurs et des faisceaux de câbles uniques qui peuvent être difficiles à trouver ou nécessitent des solutions non conventionnelles pour l'intégration.
- Architecture du réseau interne : L'ordinateur de bord Tesla dispose de son propre réseau isolé avec des adresses IP prédéfinies et des services spécialisés comme SSH et l'API ODIN.
- Incitatifs pour les chercheurs : Le programme de primes aux bogues de Tesla, qui inclut la fourniture d'un accès root pour les vulnérabilités découvertes, motive les experts à mener des analyses approfondies et à améliorer la sécurité des systèmes automobiles.
— Editorial Team
Aucun commentaire pour le moment.