Comprendre et contrer les attaques clés de voitures
Le vol de voitures modernes à l’aide de la radio logicielle
À l’achat d’un véhicule récent, l’option “sans contact” permet à la fois d’ouvrir, de fermer et de démarrer un véhicule sans se préoccuper d’avoir en main les clés. Cependant, la généralisation de cette option d’ouverture entraîne une multiplication des vols de véhicule du fait de l’émergence des enjeux de cybersécurité concernant les radios logicielles, permettant ainsi l’analyse et la manipulation d’ondes radiofréquences et de rejouer ou de mettre en avant les signaux responsables de l’intégrité du véhicule. Mais avant d’auditer la sécurité du système d’ouverture « sans contact » d’une voiture, il convient en premier lieu de s’intéresser au fonctionnement de ce système.
Comment fonctionne une clé de voiture ?
Les clés de voitures permettent de télécommander le véhicule via la transmission d’ondes radiofréquences aux calculateurs ECU (Electronic Control Units) de la voiture. Ce système, portant le nom de Remote Keyless System, se décline en deux fonctionnalités :
- Le déverrouillage des portières, on parle alors de RKE (Remote Keyless Entry)
- Le démarrage du véhicule, soit RKI (Remote Keyless Ignition)
Il existe trois différentes catégories de RKE, comme le montre ce schéma :
- RKE à sens unique : la clé de voiture envoie la commande pour verrouiller ou déverrouiller la voiture, celle-ci vérifie si le code envoyé doit être accepté.
- RKE à double sens : la clé envoie la commande, la voiture renvoie un challenge à la clé, la clé répond au challenge.
- RKE passif aussi appelé Passive Key Entry (PKE) : c’est le système moderne d’ouverture sans appui du propriétaire du véhicule. En effet, le véhicule interroge la clé avec un challenge quand l’utilisateur s’approche de la poignée. La clé répond ensuite au véhicule qui s’ouvre alors.
Remarque : une même clé peut avoir à la fois le fonctionnement PKE et celui d’un autre RKE.
Comment les trames radio sont-elles formées ?
Chaque constructeur utilise une technologie qui définit le chiffrement utilisé ainsi que le format des trames radios. Les premières technologies des années 1990-2000 (HITAG2, Megamos, DST40) couvrent encore une majorité de véhicules malgré l’existence d’attaque par cryptanalyse pour chacun d’entre eux.
Le tableau ci-dessous, obtenu par reverse-engineering, a permis d’identifier le format des paquets utilisés par un transpondeur HITAG2 :
Nom | Longueur (bits) | Description |
SYNC | 16 | Synchronisation (0x0001) |
UID | 32 | Identifiant unique de la clé |
BTN | 4 | Identifiant du bouton pressé par l’utilisateur |
CNTRL | 10 | Bits de poids faibles du compteur RKE |
KS | 32 | Keystream |
CHK | 8 | checksum |
Nous pouvons distinguer trois différentes parties pour un paquet radio :
- Un préambule pour s’assurer de la synchronisation lors de la réception
- Les données : des ID (voiture, clé), commande appuyée (ouverture, fermeture, etc.), compteur (pour le code tournant), et le code (contenant une partie de la clé de chiffrement comme pour le schéma ci-dessus ou dans le cas du PKE, un champ contenant la réponse chiffrée au challenge envoyé par la voiture)
- Une somme de contrôle
La transmission ou la réception des trames radios est ensuite assurée par la radio logicielle en suivant cette chaîne :
Quelles attaques permettent d’ouvrir une voiture ?
L’attaque par brouillage et rejeu
Du fait que la plupart des clés de voitures émettent des codes tournants (qui sont modifiés à chaque appui de la clé), le simple rejeu d’un ancien code ne peut en général pas se montrer efficace. Il est cependant possible de contourner le mécanisme de code tournant en empêchant la bonne réception du signal par la voiture. Les attaques par brouillage et rejeu ont alors fait leurs preuves contre les systèmes utilisant le RKE à sens unique.
- Un attaquant va émettre en continu des ondes radio à une fréquence suffisamment proche de celle utilisée par la clé de voiture dans le but de perturber son fonctionnement. En parallèle, il faut enregistrer le signal émis par la clé.
- L’utilisateur appuie une première fois sur le bouton de déverrouillage, la voiture ne s’ouvre pas puisque l’attaquant a brouillé ce premier signal.
- L’attaquant continue de brouiller, l’utilisateur appuie à nouveau en générant le second signal. L’attaquant rejoue le signal n°1 et garde le signal n°2 qui reste valide pour déverrouiller ultérieurement. Ce scénario, nécessitant peu de matériel (~30€) a été mis en avant par Samy Kamkar1.
La fréquence du signal émis par les clés de voiture se trouve généralement autour de 433 MHz pour le RKE à sens unique. Les constructeurs automobiles en voulant assurer en priorité le fonctionnement du déverrouillage à l’intégrité du véhicule, ont laissé une plage de fréquences de réception assez grande pour qu’un signal, délivrant la bonne information, soit accepté s’il est dans la fenêtre. L’attaque par brouillage et rejeu exploite cette fenêtre de réception comme le montre ce spectre FFT2 :
On peut alors filtrer l’enregistrement pour soustraire le signal brouillant du signal de la voiture afin d’obtenir le code de la victime. Cette opération peut être réalisée facilement grâce aux traitements numériques des radios logicielles.
L’attaque par relais de signal
Dans le cas du PKE, il est possible de duper la voiture en utilisant un dispositif radio émetteur/récepteur qui peut relayer les échanges successifs entre la clé et la voiture. On se place dans un scénario où l’attaquant peut relayer les signaux d’une clé qui se situe dans l’entrée de maison ou dans le sac du propriétaire qui s’éloigne. Ce schéma3 illustre le fonctionnement de cette attaque :
PKE_relay_attack
L’attaque par cryptanalyse
Enfin, des agents de l’ANSSI4 ont montré qu’il était possible de forger une nouvelle clé HITAG2 après avoir capturé 7 à 8 trames radio de la clé et plus simplement d’ouvrir/fermer la voiture avec 2 à 3 trames capturées.
Quelles précautions faut-il adopter ?
Lors d’un appui sur la clé :
- S’assurer que le véhicule soit correctement fermé ou ouvert
- Si l’appui n’a pas abouti, (dé)verrouiller manuellement la voiture
Pour les systèmes modernes sans appui, il existe diverses contre-mesures à l’attaque relais :
- Acheter un étui anti-RFID pour clé de voiture pour isoler la clé des radiofréquences relayées (cela risque d’empêcher l’ouverture sans clé).
- Activer le mode sommeil de la clé (s’il est disponible) afin d’activer la fonctionnalité “sans-contact” seulement en cas de mouvement de la clé.
- Désactiver le (dé)verrouillage via le mode “sans-contact”.
Sources :
1 : https://samy.pl/defcon2015/2015-defcon.pdf
2 : https://samy.pl/defcon2015/2015-defcon.pdf
3 : https://web.stanford.edu/class/ee26n/Assignments/Assignment5.html
Focus sur la cybersécurité à Kereval
Chez Kereval, la cybersécurité est une expertise que nous mettons au service de nos clients sur divers projets et thématiques. Nos équipes de spécialistes travaillent sans relâche pour anticiper et contrer les nouvelles menaces, en appliquant des méthodes rigoureuses d’analyse des vulnérabilités et de test des dispositifs de sécurité.
Nos services incluent :
- Audit de sécurité : Identification des failles potentielles.
- Tests d’intrusion sur mesure : Simulations d’attaques réelles pour évaluer la robustesse des dispositifs de sécurité.
- Formation et sensibilisation : Sessions de formation pour les professionnels du secteur afin de renforcer la sécurité dès la conception des systèmes.
Découvrir nos offres d’emploi :
https://www.kereval.com/carriere/