Flipper Zero et codes tournants – Cette faille qui fait trembler le secteur de l'automobile
Vous êtes tranquillement garé au supermarché, et pendant que vous faites vos courses, quelqu’un avec un Flipper Zero capture discrètement le signal de votre clé de bagnole. Dans certains cas extrêmes, votre clé pourrait effectivement devenir inutile, mais la plupart du temps, c’est plus subtil et presque plus inquiétant puisque l’attaquant pourrait revenir ouvrir votre voiture plus tard, tandis que votre clé continue de fonctionner tout à fait normalement.
Cette nuance, personne ne la fait et pourtant elle change tout dans la compréhension de cette faille.
L’histoire commence donc avec un firmware mystérieux qui circule dans les cercles underground du Flipper Zero. Vendu jusqu’à 1000 dollars, ce firmware exploite une vulnérabilité découverte par des chercheurs et la transforme en arme redoutablement efficace. Les youtubeurs Talking Sasquatch et 0dayCTF ont publié des démonstrations qui ont fait l’effet d’une bombe dans la communauté et c’est d’ailleurs comme ça que je l’ai découvert.
Mais revenons aux bases. Les codes tournants (rolling codes), c’est une technologie censée protéger nos voitures depuis les années 90. À chaque pression sur votre télécommande, un nouveau code unique est généré. Impossible à copier, disaient-ils. Jusqu’à ce que des chercheurs trouvent LA faille.
En 2015, on a donc vu débouler RollJam, une attaque complexe qui nécessitait de brouiller le signal tout en l’enregistrant. Techniquement possible, mais franchement galère sur le terrain. Puis en 2022, tout a changé avec l’attaque RollBack présentée à la Black Hat. Cette fois, plus besoin de brouillage. Il suffit de capturer quelques signaux (parfois deux, parfois cinq selon les modèles) et de les rejouer dans le bon ordre pour “rembobiner” l’état du récepteur.
Le plus sournois, c’est que dans la majorité des cas documentés par la recherche, votre télécommande continue de fonctionner. L’attaquant exploite en effet le mécanisme de resynchronisation pour ramener le système à un état antérieur où des codes déjà utilisés redeviennent valides. C’est ce qu’on appelle une attaque “time-agnostic” cqr elle peut être réutilisée n’importe quand après la capture initiale.
Attention toutefois aux généralisations car contrairement à ce qu’on lit partout, une seule capture ne suffit pas toujours. La CVE-2022-37305 publiée pour certains modèles Honda documente par exemple la nécessité de capturer cinq signaux consécutifs. Les détails varient énormément selon les marques, modèles, années et puces utilisées.
Parlons maintenant des véhicules concernés. SAN cite une liste incluant Chrysler, Dodge, Fiat, Ford, Hyundai, Jeep, Kia, Mitsubishi et Subaru. Mais attention, ce n’est pas une liste officielle. Les chercheurs derrière RollBack indiquent qu’environ 70% des modèles asiatiques testés présentaient une vulnérabilité, tandis que certains systèmes (notamment plusieurs Toyota avec des transpondeurs Texas Instruments) se sont montrés plutôt résistants.
Il existe quand même des cas où la clé devient réellement inutile, mais c’est l’exception plutôt que la règle. Un chercheur indépendant a documenté comment certains modèles Subaru 2004-2011 pouvaient voir leur compteur poussé si loin que la clé originale se désynchronisait définitivement. Mais c’est un cas particulier d’implémentation mal conçue, et pas la norme.
L’histoire derrière ce firmware est également fascinante je trouve car elle implique un développeur controversé (surnommé “Mr. Silly Pants” par la communauté), créateur original du firmware Unleashed, qui après un séjour en prison a voulu récupérer son projet que MMX avait fait grandir en son absence. Face à son refus, il a alors créé son propre firmware avec ces fameuses fonctionnalités de rolling code et tenté de le monétiser. C’est là qu’interviennent Rocket God et les Pirates Plunder Crew qui ont réussi à cracker la protection par numéro de série mise en place sur le firmware et commencé à faire circuler le code dans des cercles restreints de hackers et chercheurs en sécurité.
Alors, comment fonctionne cette attaque ?
Déjà, il faut savoir que les systèmes RKE (Remote Keyless Entry) utilisent un compteur couplé à une clé secrète. Le récepteur tolère ainsi une “fenêtre” de resynchronisation, soit environ 16 codes pour l’exécution immédiate et jusqu’à 32 000 pour la resynchronisation en double opération selon les datasheets HCS320 et HCS500. C’est fait pour rattraper les appuis manqués quand vous êtes trop loin de la voiture.
RollBack exploite intelligemment ce mécanisme en rejouant des trames valides dans le bon ordre pour forcer une resynchronisation vers un état antérieur. Dans certains cas avec les anciens systèmes KeeLoq, si la clé constructeur a fuité (ce qui est d’ailleurs arrivé via des attaques documentées dès 2008 par Biham et al. et Courtois/Kasper), alors oui, une seule capture peut suffire pour dériver les prochaines trames.
Ce fameux firmware de Mr. Silly Pant, reste entouré de mystère. Code non publié, méthodologie non documentée, résultats non reproductibles publiquement. Les vidéos montrent un Flipper qui écoute une ou plusieurs trames et émule ensuite toutes les fonctions de la télécommande. C’est impressionnant, mais la littérature scientifique sur RollBack reste pour l’instant la meilleure base technique vérifiable.
Alors, comment se protéger ?
Vos options restent limitées. On peut utiliser le verrouillage interne du véhicule quand possible, éviter les appuis multiples loin de la voiture, ranger sa clé dans une pochette qui bloque les ondes (ça limite les captures opportunistes), et surtout désactiver le Keyless “mains libres” si votre modèle le permet (même si c’est surtout efficace contre les attaques de relais, pas forcément contre RollBack).
La vraie solution nécessiterait en fait des mises à jour de l’ECU et de la clé (irréalistes à grande échelle) ou une refonte complète avec des protocoles modernes basés sur des timestamps ou de l’authentification multifacteur. Les constructeurs sont donc dans une impasse car un rappel massif serait économiquement catastrophique, et ces systèmes hardware ne peuvent pas être patchés comme un logiciel.
Maintenant pour les passionnés qui veulent explorer le Flipper Zero légalement, trois firmwares customs publics dominent : Unleashed qui reste la référence stable, Momentum qui a repris le flambeau d’Xtreme avec des fonctionnalités plutôt riches, et RogueMaster qui offre le plus d’options mais avec une stabilité qui se discute…. Le comparatif Awesome Flipper vous détaillera toutes leurs différences.
Cette affaire révèle surtout les tensions croissantes dans la communauté Flipper Zero, entre la recherche éthique et la monétisation agressive. Elle rappelle surtout que comme d’habitude, la sécurité par l’obscurité a ses limites. Ces codes tournants semblaient invulnérables jusqu’à ce qu’on trouve comment exploiter leur mécanisme de resynchronisation.
Le Flipper Zero n’est d’ailleurs pas le seul coupable. D’autres dispositifs SDR peuvent théoriquement réaliser la même attaque mais le Flipper a démocratisé ces techniques, les rendant accessibles à tous. Heureusement, de nouveaux systèmes de sécurité émergeront bientôt, j’en suis sûr, probablement basés sur des protocoles plus robustes mais comme vous le savez chaque protection finit par tomber. C’est juste une question de temps, de motivation et d’ingéniosité.
Maintenant, si vous croisez quelqu’un qui traine avec un Flipper Zero dans un parking, pas de panique et inutile de lui casser la gueule, car la majorité de la communauté reste éthique. Donc peu de chance que ce soit un voleur de voiture. Mais restez quand même vigilant, on ne sait jamais…
Source : korben.info