Piratage automobile

20 Août 2013

Si vous lisez assez régulièrement Kaspersky Daily, alors vous savez déjà probablement qu’il est tout à fait possible de pirater une voiture moderne. En effet, j’ai écrit un article s’appuyant sur des recherches menées en 2010 par l’Université du Wisconsin et de Californie à San Diego. Le seul problème – bien entendu – c’est que ces recherches ont été menées en 2010. Heureusement pour nous, le Dr. Charlie Miller, le célèbre pirate d’Apple et le très respecté chercheur en sécurité informatique, aidé de Chris Valasek, le directeur du renseignement de la sécurité chez IOActive, ont fait une présentation portant sur le piratage de voiture la semaine passée à la conférence sur la sécurité Def Con. Cette dernière s’est déroulée à l’hôtel Rio juste à côté de l’autoroute menant au Caesars Palace de Las Vegas, alors que la conférence Black Hat s’achevait.

car_title_FR

De plus,  les recherches de Valasek et Miller – expliquées dans un document de plus de 100 pages – sont  bien plus complètes que leurs travaux précédents. Les deux spécialistes y détaillent les modèles de voiture qu’ils utilisent : ce que les chercheurs des universités de Californie et du Wisconsin n’avaient pas fait. Valasek et Miller ont absolument tout publié : les données des exploits, les codes utilisés par les ordinateurs automobiles pour communiquer et comment les contourner ou les piéger, la disposition des ordinateurs de bord et comment ils sont connectés ensemble, et bien plus encore. Au cours de ces recherches,  les chercheurs ont utilisé une de leurs voitures piratées pour effectuer un test de conduite, et ils se sont bien amusés, assis sur la banquette arrière avec leur ordinateur portable, pendant que le journaliste de Forbes, Andy Greenberg,  se démenait pour conduire une voiture qui était manipulée de manière assez impressionnante.

Avant de passer aux choses plus amusantes, une leçon rapide sur les voitures et les ordinateurs qui les équipent s’impose : les voitures modernes contiennent de petits ordinateurs appelés « unités de commande électronique » (ECU). Le nombre d’ECU dans une voiture moderne peut varier selon le modèle, mais certaines voitures peuvent en contenir jusqu’à près de cinquante. Ces petits ordinateurs servent à contrôler, gérer et aider à la régulation de presque tous les éléments de la voiture. Du contrôle du moteur à la gestion de l’alimentation en passant par le contrôle anti-dérapage (système ABS) ou encore par le verrouillage des ceintures de sécurité, les airbags, les technologies d’aide au stationnement ainsi qu’un grand nombre de choses dont je n’avais jamais entendu parler avant. Presque tous ces ECU sont connectés ensemble sur le réseau d’un bus CAN (Controller Area Network). Le bus CAN et les ECU constituent le système nerveux central de la voiture moderne, en communicant ensemble afin de définir la vitesse et les tours par minute de la voiture ou pour informer le système anti-collision lorsqu’un accident est sur le point d’arriver afin qu’il puisse activer freins, couper le moteur, verrouiller les ceintures de sécurité et faire tout ce qu’il doit faire d’autre lorsqu’une voiture est sur le point d’avoir un accident. La plupart de ces signaux sont déclenchés par des capteurs intégrés dans les ECU.

Pour ce que ça vaut, Valasek et Miller travaillaient avec une Ford Escape de 2010 et une Toyota Prius de la même année, bien que leur recherche soit applicable – aussi bien en pratique qu’en théorie –  à n’importe quel autre modèle.

Les chercheurs ont acheté un câble ECOM bon marché qui fonctionne à travers un appareil ECOM qui peut être branché à un système Windows à travers un port USB. Après quelques modifications, ils ont pu insérer l’autre bout du câble ECOM dans les ports OBD II de la voiture (il s’agit de la chose qui se trouve sous le volant que les mécaniciens utilisent pour communiquer avec votre voiture lors de contrôles et dans lequel vous pouvez insérer un outil de diagnostic afin de réinitialiser les codes du moteur, d’éteindre le voyant de vérification du moteur, etc.). Une fois qu’il a été inséré, ils ont pu gérer la façon dont les ECU communiquent ensemble à travers le bus CAN et comment ces communications agissent sur le fonctionnement des deux voitures. Ils ont ainsi obtenu une bonne appréhension des protocoles de communication et ils étaient donc prêt à les manipuler (en injectant leurs propres signaux pour imiter ceux des ECU qui passent à travers les bus CAN des véhicules).

En fonction de la voiture qu’ils utilisaient, les chercheurs ont pu leur faire faire des choses différentes. Je ne mentionnerai ici que les aspects les plus intéressants, si vous voulez en savoir plus, vous pouvez lire leur rapport.

Ils ont trouvé comment manipuler le compteur de vitesse, le compteur kilométrique (l’instrument qui mesure le nombre de kilomètres qu’une voiture a fait) et la jauge d’essence. En ce qui concerne le compteur de vitesse, ils ont trouvé que l’ECU qui gère la vitesse du véhicule envoie de manière répétitive des signaux à travers le bus CAN à l’ECU qui contrôle le tableau de bord. Afin de piéger le compteur de vitesse en lui faisant prendre en compte leurs faux signaux de vitesse, les chercheurs ont dû envoyer un nombre plus important de faux signaux au tableau de bord que ce qu’envoie habituellement l’ECU qui gère la vitesse. Une fois qu’ils ont atteint le bon taux d’envoi de signal, ils pouvaient afficher la vitesse qu’ils voulaient sur le compteur de vitesse.

Les portes de la Prius pouvaient être verrouillées ou déverrouillées à souhait. Le verrouillage pouvait être désactivé physiquement, ce qui veut dire qu’ils ne pouvaient pas enfermer quelqu’un à l’intérieur de la voiture mais qu’ils pouvaient accéder à la voiture depuis l’extérieur en la déverrouillant.

Sur la Ford, ils ont lancé une attaque par déni de service, en submergeant  l’ECU responsable de surveiller la direction assistée avec du trafic provenant du bus CAN, provoquant  l’arrêt du système de direction assistée et limitant le rayon de braquage à 45% de ces capacités. Ils  ont aussi trouvé qu’ils pouvaient manipuler le module d’aide au stationnement (l’ECU qui contrôle les fonctions de stationnement automatique). Ils admettent, cependant, que le système d’aide au stationnement se déclenchera seulement à une vitesse basse et le pire qu’ils puissent faire c’est de faire rentrer la voiture dans le véhicule d’à côté.

Les chercheurs ont également semé la pagaille au niveau de la direction assistée de la Prius. Les ECU de la Prius ont été réglés de façon à ce que l’aide au stationnement fonctionne seulement si la voiture roulait en marche arrière et à moins de 6 km/h. Valasek et Miller ont donc piégé la voiture afin qu’elle croit aller en marche arrière alors qu’elle circulait en marche avant et pour qu’elle croit circuler à moins de 6km/h  alors qu’elle circulait à une vitesse plus élevée. Ils n’ont pas été capables de tourner le volant aussi précisément que l’aurait fait l’aide au stationnement, mais ils ont pu le contrôler grâce à des soubresauts sporadiques dans un direction ou l’autre.

La Prius est également dotée de la fonction d’assistance au maintien de la trajectoire qui a la capacité d’orienter une voiture légèrement plus à droite si elle détecte que le conducteur se déporte trop sur la route. L’ECU (unité de contrôle moteur) responsable de cette fonction permet une rotation de 5 degrés du volant. Les chercheurs pourraient avec certitude pirater cette fonction, et alors que 5 degrés peut paraître être un changement de direction moindre, ils affirment qu’il s’agit d’un changement conséquent si la voiture roule à une vitesse élevée dans une circulation importante ou sur une route étroite.

Sur une Ford, il est possible d’envoyer un ordre au bus CAN qui forcera la voiture à purger les freins. Alors que les freins sont purgés, ils n’arrêterons pas la voiture. Cette attaque fonctionnera seulement si la voiture roule à moins de 8km/h, ce qui est très lent, mais assez rapide pour que l’un des chercheurs envoie sa Ford Escape dans le mur de son garage alors qu’il testait le procédé.

Il existe également un message que le bus CAN de la Ford peut envoyer pour bloquer un des pistons. Valasek et Miller ont modifié ce code pour ensuite l’envoyer encore et encore. La voiture ne s’est pas arrêtée jusqu’à ce qu’ils arrêtent d’envoyer ce code. La Prius est également vulnérable au niveau de l’arrêt de son moteur.

Les deux chercheurs ont également trouvé une commande qui permet d’éteindre toutes les lumières à l’intérieur et à l’extérieur de la Ford. L’ECU responsable de l’éclairage obéit seulement à la commande si la voiture n’est pas en mouvement, mais lorsque les chercheurs envoyaient la commande alors que la voiture était à l’arrêt, celle-ci obéissait même après avoir repris son mouvement. Toutes les lumières étaient coupées ce qui signifie que la voiture aurait pu se retrouver sur l’autoroute sans lumière de freins. De plus, une fois la voiture garée, il était impossible de la bouger – probablement parce que l’ECU en question contrôlait également le commutateur de frein qui permet de déplacer la voiture une fois qu’elle est garée. Les chercheurs pouvaient également s’amuser avec les phares avant de la Prius – en les allumant et les éteignant – mais seulement si le conducteur avait au préalable réglé les phares avant sur l’option « auto » qui permet d’éteindre et d’allumer les phares suivant le degré de luminosité à l’extérieur de la voiture.

Alors qu’ils s’amusaient avec le régulateur de vitesse de la Prius, les chercheurs n’ont pas réussi à faire accélérer la voiture ce qui est une bonne chose. Cela étant dit, ils ont réussi à faire ralentir la voiture et même à l’immobiliser complètement en convainquant le système anti-collision que la voiture était sur le point de rentrer dans un objet situé devant elle. Même si le conducteur appuyait sur l’accélérateur, la voiture continuait à freiner. Dans le but de faire accélérer la Prius, alors que le régulateur de vitesse n’était pas activé, les chercheurs ont dû modifier le câble ECOM et se connecter directement à la console de gestion d’alimentation (l’ECU qui contrôle l’accélération des voitures), car cet ECU n’était pas connecté au bus CAN. Ils ont seulement réussi à faire accélérer la voiture pendant quelques secondes après que le conducteur ne soit plus en train d’accélérer. Une telle accélération pourrait néanmoins être dangereuse.

Une autre fonction du système anti-collision est d’activer le moteur de la ceinture de sécurité afin qu’il bloque la ceinture avant la collision. Valasek et Miller pouvaient l’activer chaque fois qu’ils le souhaitaient.

Les chercheurs ont également beaucoup parlé de la possibilité d’injecter un code dans les ECU et le bus CAN (c’est à dire de les infecter avec un malware). Je ne rentrerai pas dans les détails ici mais il est relativement possible d’y injecter un code et de l’exécuter sur ces machines (tellement possible que les 20 ou 30 dernières pages de leur rapport y sont dédiées).

Il existe bien sûr une mesure de défense pour assurer que votre voiture ne puisse pas être piratée : acheter un voiture très ancienne. Cette méthode marche mais franchement votre nouvelle Nissan Maxima de 2013, bien qu’elle puisse être piratée, est bien plus sûre qu’une Honda Accord de 1998. Votre nouvelle voiture dispose de toutes sortes de fonctionnalités et de capteurs de sécurité qui vous informent si quelque chose ne fonctionne pas bien avant même que vous ne soyez sur la route. Avec ma vielle voiture, c’est une question de chance à chaque fois que je l’emmène sur l’autoroute.

La réalité est que Miller et Valasek sont deux des personnes les plus qualifiées dans l’industrie de la sécurité. Leur travail consiste à pirater des objets et ils les piratent car ils souhaitent réellement faire du monde des objets connectés un monde plus sûr. En plus de cela et malgré le fait que leur recherche inclut tous les codes et les techniques nécessaires pour faire ce qu’ils ont fait, ils font partie des seuls êtres humains au monde disposant du savoir technique pour réaliser des attaques si complexes. Si cela n’apaise pas vos craintes, vous devriez également savoir que les fabricants automobiles – tout comme les entreprises de technologie – regarde ce type de recherche et améliorent leurs véhicules grâce à ces études.

Si vous ne l’avez pas encore vue, rendez-vous sur le site du magasine Forbes pour regarder la vidéo d’Andy Greenberg en train de conduire alors que Valasek et Miller piratent sa Toyota Prius. Ça en vaut le coup, je vous le promets.