Un peu dur pour les fabricants d’objets connectés, mais un bon appel à la vigilance. Au départ, Charlie Miller et Chris Valasek avaient piraté une Jeep Cherokee en 2015, en la contrôlant physiquement, avec à l’intérieur un journaliste plutôt nerveux qui roulait sur l’autoroute. FCA, l’entreprise qui fabrique le Cherokee, a rappelé 1,4 millions d’entre elles et a sorti un patch. En réponse, le duo a également piraté cette nouvelle version, en réussissant à obtenir encore plus de contrôle qu’auparavant. Plus tôt cette année, ils ont mis toutes leurs notes en ligne, qui sont d’ailleurs passées inaperçues jusqu’à ce que Valasek les tweete.
Anyone who wants to drop 1MM+ USD for car hacking research should save their money and hit up: https://t.co/9ChVoJ4DZH.
— Chris Valasek (@nudehaberdasher) 23 avril 2017
Cette dernière initiative fait apparaitre un changement de ton de la part de Charlie Miller, qui avait lancé en 2009 une campagne appelée “No More Free Bugs”. “Je ne baisse jamais les bras face aux bugs gratuits”, avait-il déclaré à l’époque. “Les vulnérabilités ont une valeur marchande, donc il est ridicule de travailler dur pour trouver un bug, de développer un exploit et de l’abandonner ainsi. Apple paie des gens pour faire le même travail, ainsi il est clair que ces efforts ont une réelle valeur. Plus de bugs gratuits”.
À l’époque, il parlait de vulnérabilités zero-day spécifiques associées à un code de type preuve de concept, qui avait une grande valeur marchande pour les cybercriminels et les agents de sécurité nationale. Le contenu que le duo a publié n’a rien à voir avec la mine d’or des failles zero-day de ShadowBroker, mais ressemble plutôt à une collection de notes de leurs recherches. Ces dernières sont tout de même très utiles, et offrent un compte rendu détaillé de la façon avec laquelle ils ont piraté la Jeep, parmi d’autres véhicules. Il existe également un fichier zip contenant des outils utiles, incluant les fichiers de piratage basés sur Python.
Peut-on la pirater ? OUI nous pouvons !
Il est à noter que les recherches effectuées inclus les notes complètes sur l’architecture des paquets réseau au niveau du Controller Area Network (CAN). Il s’agit du système de communication interne de la voiture, qui transmet des informations entre les différentes unités de commande électronique (ECU) d’un véhicule et son contrôleur central. Les ECU gèrent des fonctions comme le régulateur de vitesse adaptatif, les freins électroniques, l’assistance au stationnement et le contrôle de la colonne de direction. Par conséquent, si vous pouvez interférer avec tous ces systèmes, vous pouvez au moins surveiller ce que fait la voiture, sinon la contrôler.
Un document provenant de cette collection de notes met en évidence les détails de leurs recherches originales et le contenu de ces paquets, ainsi que la norme ISO-TP pour les envoyer au niveau du bus de communication. Le document examine les paquets de diagnostic et les identifiants de service que les cybercriminels peuvent utiliser pour comprendre et interférer avec les données envoyées au sein du véhicule. Il s’agit en effet du CAN 101 qui s’avère être une bonne introduction globale.
Ensuite, le document montre comment utiliser cette information pour réaliser le piratage automobile de deux véhicules. Cette information est assez ancienne, en focalisant sur un Ford Escape de 2010 et un Toyota Prius de 2010. Un document récent plus intéressant concerne les messages CAN relatifs à l’injection, datant du mois de juin dernier, et s’intéresse de nouveau aux fondamentaux du bus CAN, qui cette fois-ci incluent des informations sur le piratage d’une Jeep Cherokee de 2014.
À l’intérieur de la Jeep Cherokee 2014
Le document révèle des faits intéressants sur ce véhicule, incluant la capacité de contrôler sa vitesse. Les ECU n’émettent pas un seul message lorsqu’ils veulent faire quelque chose. Ils envoient des messages à intervalles réguliers pour mettre à jour leur statut. Si un cybercriminel injecte un faux message au niveau du bus CAN, et que ce dernier entre en conflit avec l’un de ces autres messages, de nombreuses voitures choisiront celui à ignorer et désactiveront les systèmes non critiques tels que le verrouillage ou le compteur de vitesse, jusqu’à ce que tout revienne en ordre.
La Jeep a fait cela sur chaque ECU non critique en dehors du régulateur de vitesse adaptatif. Le duo a pu contrôler la vitesse de la Jeep en envoyant de façon répétée de faux messages à partir de cette ECU (bien que le conducteur puisse augmenter et diminuer la vitesse en agissant sur les boutons lui-même pour corriger la vitesse, bien sûr).
Qu’en est-il de la direction ? Le duo voulait fausser les messages de contrôle du PAM (Parking Assist Module) vers le PSCM (Power Steering Control Module) afin de générer une action au niveau du volant. Le problème était que le PSCM n’acceptait ces messages que lors de déplacements à très faibles vitesses, typiquement ceux lorsque vous essayez de reculer avec précaution dans un parking minuscule à Londres.
Ils ont résolu ce problème avec une astuce qui permettait à la voiture d’ignorer les messages de ses propres ECU. Le piratage a falsifié les messages émanant de ces dernières en faisant échouer un test de vérification interne mal adapté. Cette astuce a permis au duo d’envoyer de faux messages qui mettaient le PAM en mode de diagnostic. De là, ils ont pu le mettre dans un mode bootrom et le court-circuiter efficacement, de sorte qu’il n’émettait plus aucun message.
Ensuite, ils ont envoyé des messages de fausse vitesse au PSCM pour le convaincre que le véhicule voyageait en dessous de 7 mph, même en se déplaçant sur l’autoroute. Ensuite il suffisait d’envoyer de faux messages du PAM vers le PSCM en lui demandant de tourner le volant, à la vitesse de votre choix. “C’est une attaque effrayante et dangereuse”, ont-ils gentiment souligné.
Ils ont pu faire d’autres choses en utilisant la même astuce, comme le remplacement des messages en provenance du frein de stationnement électronique de la jeep par leurs propres messages, et ce à grande vitesse. Il est également intéressant de souligner que le fait de forcer une ECU en mode bootrom peut effectivement être fatal, transformant votre nouveau véhicule flambant neuf en un presse-papier géant et fumant. Un frein de stationnement en mode “bootrom” reste actif, par exemple.
D’autres outils de piratage automobile
Le duo n’est pas le premier à donner leur astuce de piratage automobile au monde entier. Il existe plusieurs outils logiciels en open source et des conceptions matérielles qui facilitent le piratage automobile. Eric Evenchick a publié sa propre boite à outils en open source appelée CANtact, tandis que Travis Goodspeed a publié GoodThopter, un tableau de bord open-source avec une interface CAN intégrée, et EVTV a le sniffeur CAN EVTV Due en open source.
Caring Caribou est un autre outil open-source pour renifler l’information du bus CAN, tout comme l’outil d’empreintes digitales CAN of Fingers. Octane peut à la fois renifler et injecter des paquets CAN, et UDSim est même livré avec une interface graphique utilisateur.
Toute cette recherche, combinée avec les outils, ne peut pas rendre les vendeurs de voitures très heureux. Lorsque Miller et Valasek ont promis de mettre leurs outils en ligne, le fabricant de Jeep Fiat Chrysler Automobiles (FCA) a démarra au quart de tour en disant :
En aucun cas, FCA ne tolère ou ne croit qu’il soit approprié de divulguer des “informations pratiques” susceptibles d’encourager ou d’aider les pirates à obtenir un accès non autorisé et illégal aux systèmes des véhicules.
Cependant, l’information existe maintenant, et les constructeurs automobiles vont devoir améliorer la sécurité de leurs véhicules de manière significative afin de les protéger vis à vis du piratage automobile. Cela illustre l’importance de la sécurité au début de la phase de design. Il est beaucoup plus facile de mettre en place une sécurité de niveau militaire sur un véhicule lorsqu’il est encore dans le laboratoire, que de rappeler plus d’un million d’entre eux pour la mise en place d’un patch d’après commercialisation.
Il est intéressant de voir qu’Uber, l’entreprise technologique de transport, a embauché le duo dynamique de hackers après que toute cette histoire ait émergé. Nous aurions pu penser que FCA, Ford ou Chevy auraient essayé de les récupérer en priorité, compte tenu de l’enjeu crucial que représente la sécurité des véhicules pour les fabricants.
Billet inspiré de How to hack a Jeep Cherokee – but don’t try this at home, kids. sur Sophos nakedsecurity.