Les virus RFID
Date : 03 Avril 2006
Les commentaires à propos
de cette découverte sont mitigés : catastrophe annoncée pour les uns (parce que
la technologie RFID est appelée à prendre une place majeure dans la société de
l'information), ou "non événement" pour les autres (car la technique
d'attaque utilisée n'a rien d'innovant). Nous profitons de cette occasion pour
faire un point sur technologie RFID et nous présentons notre analyse sur les travaux
de l'équipe néerlandaise.
La RFID ("Radio
Frequency Identification", ou "radio-identification" en
français) est une technologie qui permet d'identifier à distance tous les
objets porteurs d'un "marqueur RFID". Le marqueur (on parle de
"tag" en anglais) peut se présenter sous la forme d'une étiquette
adhésive (apposée sur un colis) ou même d'un implant (placé sous la peau d'un
animal). Il est constitué d'un circuit électronique (une "puce"), qui
a la caractéristique de ne pas être alimenté, et d'une antenne. Lorsque le
marqueur passe dans un champ radio approprié, ce champ lui apporte l'énergie
nécessaire à l'alimentation du circuit électronique. Ce dernier génère alors un
signal détecté par le lecteur RFID qui a émis le champ radio.
La RFID est donc une
technologie d'identification sans contact (par opposition aux systèmes où un
badge doit être apposé sur un lecteur). La distance entre le lecteur et le
marqueur RFID dépend de l'onde radio utilisée : dans le cas le plus courant cette
distance est de quelques centimètres, mais elle peut atteindre jusqu'à 6 mètres
si l'onde est un signal UHF ("Ultra-Haute Fréquence").
Nota : Dans cet article,
nous ne parlons que des marqueurs RFID "passifs". Il existe aussi des
marqueurs plus évolués ("semi-actifs" ou "actifs") qui
décuplent les possibilités du dispositif "passif" en équipant les
marqueurs de batteries autonomes.
L'utilisation principale
de la RFID est l'identification simple des objets. Elle se positionne ici
typiquement comme un successeur du code barre, et l'on pourrait imaginer que si
tous les articles d'un supermarché étaient porteurs d'un marqueur RFID, le
passage en caisse pourrait se résumer à faire passer le chariot devant un
lecteur RFID .... Cette image illustre bien le potentiel qu'a cette technologie
(mais malheureusement cette approche simpliste n'est pas réaliste car les
marqueurs RFID entassés dans le chariot vont se brouiller mutuellement).
La RFID a de multiples
autres usages. En voici quelques exemples :
- La traçabilité des équipements tout au long de la chaîne de production,
- Le contrôle d'accès par badge "main libre",
- Le marquage et la localisation des bagages aéroportuaires,
- La gestion automatisée des emprunts dans une bibliothèque,
- Le marquage d'animaux, ou même dans certains cas d'humains (l'encyclopédie wikipédia indique que la ville de Mexico a implanté 170 de ces tags RFID sur ses officiers de police afin de contrôler l'accès aux bases de données et aussi dans le but de mettre en œuvre des moyens de localisation en cas de kidnapping)
- Etc…
Enfin, le passeport
biométrique (imposé par les USA à partir d'octobre 2006 à tous les visiteurs
voulant être exemptés de visa, et en cours de déploiement en France) utilise la
technologie RFID. Bien évidemment, les apports de la RFID en terme de
taçabilité soulève aussi de nombreuses questions par rapport aux abus possibles
(cyber-surveillance). La CNIL a d'ailleurs émis
en février 2004 des recommandations vis-à-vis des systèmes RFID.
2/ Les enjeux
mondiaux de la RFID
La technologie RFID
existe depuis longtemps (les principes utilisés remontent à la seconde guerre
mondiale), mais elle a connu un véritable "boom" ces dernières
années. Le fait que des géants tels que le "DoD" (Département de la
Défense des USA) ou "Wal-mart" (géant de la distribution) aient rendu
obligatoire pour leurs sous-traitants le marquage RFID des fournitures a
probablement dopé ce marché. On estime qu'il pourrait y avoir 10 à 20 milliards
d'objets "RFIDéisés" à l'horizon 2008.
Aujourd'hui cependant la
normalisation de cette technologie est encore balbutiante. Les protocoles de
dialogue entre lecteurs et marqueurs, les longueurs des ondes radio utilisées,
ou les informations portées par les marqueurs sont trois sujets sur lesquels l'offre
est très variable, et pas vraiment normalisée. En fait aujourd'hui, si le
nombre d'applications RFID se multiplie, les applications déployées restent
encore fortement basées sur des solutions propriétaires.
Une solution semble
cependant vouloir s'imposer sur ce marché : elle est défendue par le consortium
"EPCglobal Inc" (http://www.epcglobalinc.org/).
Ce consortium propose en effet une solution pour :
- Attribuer un numéro RFID unique à tous les objets du monde (un EPC : "Electronic Product Code", qui est un numéro de série stocké sur 96 bits)
- Mettre en place les infrastructures mondiales permettant le suivi des objets porteurs d'un code EPC : le "EPCglobal Network"
Ce réseau
"EPCglobal" (actuellement en phase pilote) se matérialisera par la
mise en place sur Internet d'un service appelé "ONS" (Object
Numbering System) qui reproduit dans le monde RFID le système hiérarchique de
nommage DNS qui existe pour les noms de domaines Internet.
"EPCglobal" a d'ailleurs confié la gestion de "EPCglobal
Network" à la société américaine VeriSign (qui est aussi un acteur majeur
du monde DNS).
Il est clair que les
enjeux économiques sont ici colossaux. Les enjeux stratégiques sous-jacents le
sont également. La forte implication des USA dans ce schéma est bien sûr
manifeste.
3/ Les virus RFID
Aujourd'hui, les
applications RFID peuvent être modélisées de la façon suivante :
- Lorsqu'un marqueur RFID passe devant un lecteur RFID, un identifiant RFID est lu sur ce marqueur, et est injecté dans l'application RFID.
- L'application utilise l'identifiant RFID pour retrouver dans une base de données l'objet concerné.
- Un traitement est déclenché sur cet objet.
C'est la seconde étape
qui intéresse les chercheurs néerlandais. En effet, si aucun contrôle n'est
fait sur l'identifiant RFID avant que celui-ci soit injecté dans l'application,
toute une série d'attaques classiques sont possibles :
- Débordement mémoire : Un identifiant de type EPC fait typiquement 96 bits, mais un marqueur RFID classique peut contenir jusqu'à 1000 bits. Si l'on fabrique des marqueurs RFID malicieux (le matériel nécessaire n'est pas très difficile à trouver), on peut donc tenter d'envoyer des données plus longues que ce que l'application attend. Si aucune précaution n'est prise par l'application, un débordement mémoire peut alors se produire est permettre l'exécution de code arbitraire.
- Injection SQL : Les données RFID sont quasiment toujours utilisées pour interroger une base de données. Si aucun contrôle n'est fait sur ces données, des commandes SQL malicieuses peuvent y être insérées. Ici encore, le fait qu'un marqueur RFID puisse contenir jusqu'à 1000 bits (c'est-à-dire plus d'une centaine de caractères) rend tout à fait faisable ce genre d'attaque.
- Attaque
"XSS" (Cross-Site
Scripting). Si les données RFID sont stockées en base de données, puis
réutilisées dans une interface web, alors l'injection de code HTML dans ces
données rend possibles les attaques de type "XSS" (exécution de code
HTML au moment où ces données sont consultées par l'administrateur de
l'application RFID).
On le voit, les
techniques d'attaques utilisées par les chercheurs néerlandais sur les
applications RFID sont extrêmement classiques, et résultent toutes d'un manque
de contrôle et de filtrage des données lues sur le marqueur RFID. Néanmoins,
l'application de ces techniques au monde RFID nous paraît une nouveauté, et est
un signal d'alarme salutaire, qui montre que dans ce monde là aussi, les
principes de sécurisation connus ailleurs sont applicables : les données reçues
de l'extérieur doivent être systématiquement considérées comme potentiellement
hostiles, et doivent être contrôlées avant d'être utilisées. On pourrait en
effet considérer un marqueur RFID comme inoffensif, parce que :
- il est petit,
- et qu'il s'agit d'un équipement passif.
De plus, ce secteur
technologique évolue très rapidement, et le besoin de sécurité n'est pas
forcement identifié comme un besoin significatif. Tous ces éléments font que la
menace identifiée par cette étude nous semble crédible, et que la mise en garde
sera probablement salutaire pour la communauté RFID.
Le dernier aspect de
l'étude est l'utilisation de ce type de vulnérabilité pour réaliser un virus ou
un ver informatique. Sur cet aspect l'étude nous paraît plus discutable. Si
l'on considère qu'un virus est un code maléfique qui infecte une application,
alors "oui", le virus RFID peut exister. Par contre ce virus est loin
d'être universel : il sera capable de s'attaquer simplement à une application
RFID particulière (car sa mise en œuvre est très liée à l'application
considérée). Sur l'aspect "ver", l'étude explique qu'une fois un
système RFID infecté, il pourrait être possible d'inoculer l'infection sur les
marqueurs que ce système génère. A partir d'un marqueur RFID infecté unique, il
se produirait alors une multiplication des marqueurs infectés pouvant propager
l'infection sur tous les systèmes RFID du système d'information considéré. Un
des exemples pris est celui d'un système de gestion des bagages aéroportuaires
pour lequel l'infection se répandrait d'aéroport en aéroport. Il s'agit ici
d'un risque théorique, car les systèmes RFID actuels sont très hétérogènes et
le risque qu'une anomalie "universelle" existe (touchant des
applications RFID aéroportuaires dans le monde) est très faible. Par contre, la
multiplication en chaîne des marqueurs RFID infectés est tout à fait possible,
et elle provoquerait alors un effet "boule de neige" immobilisant
rapidement tous les bagages de l'aéroport infecté (jusqu'à ce que toutes les
étiquettes RFID infectées aient été remplaçées).
Pour plus
d'information :
- Article "Wikipédia" sur la RFID : http://fr.wikipedia.org/wiki/RFID
- "Virus et vers RFID" : travaux néerlandais : http://www.rfidvirus.org/
- Rapport du CGTI (Conseil Général des Technologies de l'Information) : Les technologies de Radio-Identification (RFID) Enjeux industriels et questions sociétales. http://www.cgti.org/rapports/II-B.9-2004(RFID).doc