Concernant BMW, les modèles de voitures suivants ont été testés :
D’autres modèles embarquant les mêmes composants pourraient être aussi vulnérables. Les détails techniques n’ont pas été dévoilés entièrement pour éviter que les vulnérabilités soient exploitées avant que toutes les corrections aient été appliquées.
USB
Le premier composant qui a été étudié est le système d' « infotainment ». C’est le composant qui gère tout l’aspect multimédia du véhicule. Il propose, selon les fonctionnalités, des connectivités USB, Bluetooth et GSM. Ce sont donc des interfaces intéressantes à attaquer, car elles fourniraient un point d’entrée facile d’accès vers le système.
Il a été remarqué que l’OS embarqué dans ce composant configure un réseau Ethernet accessible depuis le port USB via un adaptateur USB/Ethernet, fournissant une IP statique. Une fois connecté, il est ainsi possible de dialoguer avec tous les services réseaux tournant sur le composant, sans aucune restriction. Et ils sont nombreux, 30 services sont accessibles en TCP. Sans donner de détails, le rapport décrit qu’à partir de cette connexion il a été possible de prendre le contrôle du système multimédia et de devenir root.
Écran du système multimédia affichant le logo Keen Security Lab après compromission
Le système de mise à jour via le port USB s’est aussi révélé faillible. Le système de mise à jour implémente une vérification des fichiers de mises à jour, comme il est recommandé dans les systèmes récents. Pour cela, le composant vérifie que les fichiers fournis ont été signés par le constructeur. Il a été cependant remarqué que certains fichiers échappaient à cette vérification, rendant ainsi possible d’injecter n’importe quel binaire sur le système.
Bluetooth
Le système multimédia inclut une connectivité Bluetooth afin de pouvoir relier un téléphone. Le driver gérant le Bluetooth a été analysé. Il a été remarqué que certains paquets mal formés peuvent faire crasher la pile Bluetooth. Ainsi, si le système est en attente d’appareillage, quelqu’un peut émettre des paquets Bluetooth mal formés et faire crasher tout le système multimédia. Cela peut être réussi même si l’appareillage est protégé par un code pin. Il n’est pas précisé si une exécution de code a pu être effectuée avec cette méthode.
Connexion GSM
Le composant embarque aussi une carte SIM permettant de se connecter au réseau GSM. Cela permet de profiter de diverses fonctionnalités comme émettre un appel d’urgence, avoir l’état du trafic en direct, la météo, des actualités…
En laboratoire, les chercheurs ont réussi à monter un petit réseau GSM, et en brouillant le signal GSM légitime, à faire en sorte que la voiture s’y connecte. Se trouvant ainsi dans une position de man in the middle, il leur a été possible d’injecter des données et d’exploiter une série de failles et obtenir un accès root à distance sur le système.
Menu des fonctionnalités utilisant le réseau GSM
Mise en danger du conducteur et des passagers
Une fois la voiture connectée au relai GSM malveillant, il a aussi été possible d’injecter divers autres messages, forçant l’exécution de diverses fonctionnalités. La plus dangereuse est l’injection de messages de diagnostic.
Les messages de diagnostic peuvent être envoyés à divers composants électroniques du véhicule afin d’obtenir des informations sur leur état ou de les redémarrer. Ces messages sont censés être envoyés à l’arrêt, par exemple quand la voiture est au garage pour réparation.
Il a cependant été remarqué que, en plus de pouvoir injecter ces messages de diagnostic, aucune protection n’est en place pour ignorer ces messages quand la voiture roule. Des composants peuvent donc être redémarrés lorsque la voiture roule à grande vitesse. Les composants mécaniques des voitures étant étroitement liés à des contrôleurs électroniques, on peut facilement imaginer un scénario catastrophe.
L'équipe de Keen Security Lab
La réponse de BMW
Après la communication des vulnérabilités aux équipes de BMW, ces dernières ont vérifié et validé leur existence. Des patchs ont déjà été mis à disposition et d'autres sont encore à venir. Pour leur travail, BMW les a récompensés d'un prix nouvellement créé, le BMW Group Digitalization and IT Research Award et a affirmé leur volonté de continuer à travailler en coopération avec l'équipe afin d'améliorer la sécurité de leurs véhicules.
La sécurité dans l'embarqué
Ce cas est assez symptomatique de ce qui peut être vu dans l'électronique embarquée. Les mécanismes de sécurité, tant dans la conception de l'architecture que dans l'hardenning des systèmes et des applications, restent souvent sommaires. Par manque de moyens, de puissances des composants ou par simple pression hiérarchique, de plus en plus de fonctionnalités d’interactions avec l’extérieur sont intégrées sans réellement s'interroger sur leur sécurité. L'analyse elle-même de la sécurité des systèmes embarqués est difficile. Sur de tels systèmes, on retrouve de nombreuses puces différentes (certaines non documentées), de nombreux firmwares et OS qu’il faut réussir à extraire et à comprendre, ainsi que de nombreux protocoles propres à l'automobile et à l'embarqué. L'audit de tels systèmes demande donc de fortes compétences et un temps important, et donc un budget à la hauteur.
Sources
- Rapport complet de Tencent Keen Security Lab : https://keenlab.tencent.com/en/Exper...by_KeenLab.pdf
- Blog de Tencent Keen Security Lab : https://keenlab.tencent.com/en/
- Communication de BMW : https://www.press.bmwgroup.com/globa...ail/T0281245EN
Et vous ?
Seriez-vous réticent à acheter une voiture possédant ce type de connectivités ?
Comment la sécurité des systèmes embarqués pourrait-elle être améliorée ?