Avec la norme SecOC (Secure Onboard Communication) récemment introduite, les constructeurs automobiles cherchent à rendre plus sûrs les réseaux de bus CAN qui constituent l'épine dorsale des voitures modernes. Cette norme ajoute un MAC (code d'authentification de message) aux messages CAN, qui peut être utilisé pour valider que ces messages proviennent d'une pièce authentique de la voiture, et non d'un voleur de voiture ou d'un périphérique tiers.
Pour vérifier qu'il n'est pas possible de contourner le SecOC, [Willem Melching] et [Greg Hogan] a mis la main sur l'unité de direction assistée (EPS) d'un Toyota RAV4 Prime, l'une des premières voitures à mettre en œuvre cette nouvelle norme de sécurité.
Comme l'a noté [Willem]l'objectif ultime est de pouvoir exécuter le système open source d'aide à la conduite openpilot sur ces voitures compatibles SecOC, ce qui nécessiterait soit de rompre SecOC, soit de suivre la méthode officielle de « nouvelle saisie » de la passerelle SecOC.
Après avoir vidé le micrologiciel du microcontrôleur EPS Renesas RH850/P1M-E via une injection de défaut de tension, les routines de chiffrement basées sur AES ont été identifiées, mais aucun exploit facile n'a été trouvé dans l'application principale. Cela a laissé le chargeur de démarrage comme prochaine cible.
Finalement, ils ont réussi à procéder à une ingénierie inverse du chargeur de démarrage pour déterminer le fonctionnement de la procédure de mise à jour, ce qui leur a permis de télécharger le shellcode. Ce script leur a ensuite permis d'extraire les clés SecOC de la RAM et de les envoyer via le bus CAN. Avec ces clés, le chemin est ainsi ouvert pour permettre à n'importe quel appareil de générer des messages CAN avec des MAC SecOC valides, brisant ainsi efficacement le cryptage. Naturellement, cette découverte suscite de nombreuses réserves.
Comme indiqué dans le billet de blog, le MCU spécifique ciblé exécutait les routines de chiffrement dans le logiciel plutôt que d'utiliser un module matériel plus sécurisé, tout en omettant de valider la charge utile envoyée au chargeur de démarrage. Cela dit, il se pourrait que cette approche fonctionne même avec des implémentations SecOC beaucoup plus récentes. Certaines expérimentations sur une Corolla Cross 2023 ont démontré que son unité de direction assistée pouvait également être persuadée de permettre l'exécution de code via le chargeur de démarrage, mais d'autres tentatives pour vaincre SecOC n'ont pas encore été faites.
Un référentiel GitHub contenant les outils logiciels permettant d'extraire les clés, etc. a été mis à disposition.
Même si SecOC promet de rendre l'avenir du piratage CAN plus difficile, il y a encore des millions de véhicules sur la route qui sont trop heureux de vous laisser fouiller dans leurs réseaux de données – vous permettant de tout faire, de l'extraction d'informations sur la batterie du véhicule électrique à l'ajout d'une sauvegarde. appareil photo à condition que vous disposiez des outils appropriés.