Les plus beaux bugs sont des bugs de conception architecturale ou protocolaire (par définition impossibles à corriger sans devoir remettre à plat tout un projet). Parmi ceux-ci règne une aristocratie du défaut de conception : la faille de sécurité provoquée par un mécanisme de sécurité, sorte de « crème à la crème » de l’instabilité binaire.
C’est, tend à prouver un groupe de chercheurs Canadiano-Nippo-Italiens, ce qui frappe la quasi-totalité des automobiles commercialisées depuis plus de 17 ans et qui possèdent toutes une prise de diagnostic elle-même branchée sur un bus CAN (Controller Area Network) chargé de relier capteurs et actuateurs à l’ordinateur de bord.
Cette étude est le fruit d’un travail commun réunissant Polytechnique Milan et deux éditeurs, Linklayer lab et Trend Micro. De manière lapidaire, les chercheurs se sont rendus compte que des messages d’erreur mal formatés et envoyés de manière répétitive par les capteurs d’une voiture, sont considérés comme une preuve de mauvais fonctionnement et déclenchent, dans certains cas, un ordre d’isolation du périphérique « malade ». Isolation qui correspond à un blocage pur et simple de la fonction. Problème bénin s’il s’agit d’un témoin d’ampoule, légèrement plus préoccupant si l’erreur provient d’un élément de freinage ou de direction.
De là à imaginer les scénarii d’injection d’attaque en déni de service, il n’y a que l’épaisseur d’un tournevis et d’un fer à souder : N’importe où sur le bus, par le truchement d’un « faux périphérique » branché soit sur le port OBD (On Board Diagnostic), soit sur le bus de manière directe (un microcontrôleur possédant un firmware spécifique), soit sur le bus mais pouvant être contrôlé à distance. Les options sont nombreuses et le vecteur d’attaque « multiplateforme » par définition.
Dans tous les cas, une telle compromission nécessite un « accès direct à la console » à quatre roues ou au réseau… Ce genre d’intrusion s’appelle généralement « révision des 5000 » et personne ne vient vérifier les certifications des mécanos chargés de l’intervention. Parfois même, le port OBD se situe non pas dans l’habitacle mais sous le capot moteur, dont le système de fermeture est loin d’égaler la porte d’un coffre-fort. Ce qui permet à certains de nos confrères de titrer « Un bug létal qui affecte l’industrie automobile toute entière ». Probablement un oxymore au troisième degré.
Comment atténuer un tel risque ? en repensant le protocole de gestion d’erreur, donc en considérant la quasi-totalité des véhicules en services comme une génération sacrifiée. En supprimant éventuellement certaines fonctions d’isolation/blocage des périphériques « sensibles » comme cela était le cas sur les anciens bus VAN, plus lents mais considérablement plus souples. En attendant l’avènement d’un futur OBD3, les possesseurs de 2CV, Jeep Willis et fardiers de Cugnot vont faire figure d’experts en matière de sécurité automobile.