Les cartes MIFARE Classic sont connues comme vulnérables depuis plus de dix ans et, quand on travaille dans l’industrie des cartes, on doit généralement recommander de passer à des puces plus sûres comme DESFire.
L’introduction de l’article dit elle-même qu’« en 2024, tout le monde sait que MIFARE Classic est gravement cassé » ; donc si l’on déploie encore du MIFARE Classic, on l’a un peu cherché.
Les distributeurs automatiques de mon université utilisaient eux aussi, vers 2014, un système où le solde était stocké sur un jeton MIFARE Classic.
À la mi-juillet, je n’avais plus d’argent et même de quoi acheter un billet de train pour rentrer chez moi pendant les vacances devenait limite, mais grâce à MIFARE j’ai pu tenir environ deux semaines avec des sandwichs de distributeur. C’était le bon temps, la jeunesse.
MIFARE Classic est bon marché et fiable ; ce qui est cassé, c’est uniquement le chiffrement.
Si on l’utilise comme simple stockage et que l’on gère le chiffrement et l’authentification des données autrement, il n’y a pas de problème. Les signatures ECC sont assez petites pour tenir sur des cartes 2K/4K ; je l’ai déjà fait ainsi.
Plus généralement, je ne comprends pas pourquoi les fabricants qui ajoutent à des SoC ARM des fonctions similaires à SecureBoot placent leur documentation de sécurité sous NDA.
Il s’agit de spécifications PDF avec copie-coller désactivé et filigrane « confidential », comme s’ils pensaient encore que la sécurité par l’obscurité fonctionne.
À Londres, TFL a commencé à retirer MIFARE Classic dès 2010 à cause de ce problème.
C’est surprenant que ce soit encore un sujet aujourd’hui.
Ces cartes ont des backdoors matérielles, donc la génération ou le type précis importe assez peu.
Je me demande si quelqu’un pourrait expliquer très simplement ce vecteur d’attaque.
Si c’est une backdoor, cela donne l’impression que quelqu’un peut « entrer » dans mon RFID, mais un RFID est hors tension la plupart du temps. Quand le RFID est alimenté, faut-il que l’hôte qui fournit l’alimentation soit lui aussi vulnérable ou sur un réseau compromis ?
Je ne comprends pas non plus très bien quelles capacités cela donne ensuite. La porte s’ouvre déjà, la carte bancaire est déjà prête à payer. Ou bien est-ce simplement que quelqu’un qui me frôle dans la rue pourrait cloner ma carte ?
Une grande partie des systèmes de cartes RFID dans le monde utilisent MIFARE Classic, à cause de son coût et de sa longue histoire.
MIFARE ne se résume pas à Classic : il y a un UID 32 bits et plusieurs blocs de données chiffrés, chacun protégé par une clé A et une clé B.
Les premiers systèmes de cartes utilisaient uniquement l’UID pour l’authentification : si l’UID correspondait, l’accès était accordé. Évidemment, n’importe qui pouvait créer une carte avec le même UID ; les systèmes suivants ont donc commencé à authentifier 12 champs chiffrés. Le lecteur demande à la carte de chiffrer un nombre aléatoire et des informations d’identification stockées, et seule une carte possédant la bonne clé peut renvoyer le bon texte chiffré et le nonce.
L’authentification utilise un chiffrement à clé symétrique. Selon la configuration, la clé A peut servir en lecture seule ou en lecture-écriture, A peut servir à la lecture et B à l’écriture, ou bien A et B peuvent toutes deux être nécessaires pour lire et écrire.
À l’origine, MIFARE Classic utilisait un chiffrement propriétaire, crypto-1, et les clés MIFARE Classic traditionnelles peuvent être cassées facilement à cause d’un générateur de nombres aléatoires faible, de collisions, etc. Il existe toutefois des clés renforcées qui n’ont pas encore été cassées grâce à diverses contre-mesures.
L’article semble avoir trouvé, dans une marque précise de cartes RFID, une clé A/B codée en dur : A396EFA4E24F. Je n’ai fait que parcourir l’article et cela fait longtemps que je n’ai pas manipulé de RFID, donc certains détails peuvent être inexacts.
L’essentiel est que si quelqu’un met la main sur ta carte pendant seulement quelques minutes, il peut la cloner et se faire passer pour toi.
Bien sûr, il pourrait aussi te voler la carte, mais tu t’en rendrais compte. En revanche, si tu laisses quelques minutes sur un bureau une carte restée dans ton portefeuille, si le service IT te l’« emprunte » pour la réencoder, ou par mille autres moyens d’obtenir brièvement une carte RFID, elle peut être dumpée et clonée.
Si c’est une carte RFID affectée parmi les chipsets listés sur l’avant-dernière page, un accès root via backdoor permet de la cloner immédiatement.
« Faut-il acheter des copies chinoises de MIFARE Classic ? » ressemble à une question dont la réponse est déjà toute trouvée, mais c’est peut-être pour ça que je n’ai pas encore été promu CISO.
Les utilisateurs finaux de ce type de cartes ne connaissent souvent pas leur provenance, et elles sont généralement fournies par un revendeur qui cherche à économiser le moindre centime.
Nous avons des clients qui utilisent des cartes à puce, que nous devons parfois lire ou écrire, et au moment de l’onboarding ils ne savent souvent pas quelle version ou quelle spécification ils utilisent. Ils nous envoient quelques cartes presque sans marquage, puis on doit le découvrir par essais et erreurs.
D’après l’article, la même backdoor semble aussi exister dans certains SKU NXP et Infineon, y compris des produits fabriqués en Europe.
Si tu peux proposer une manière créative de quantifier le risque, tu pourrais peut-être être promu CISO.
Les cadres de gestion du risque permettent d’exprimer en montants financiers l’impact, la probabilité et les mesures de réponse. Si tu présentes quelques options montrant comment différentes mesures d’atténuation modifient le risque résiduel final, les non-techniciens peuvent accepter l’orientation de la sécurité de l’entreprise.
Bien sûr, il faut aussi dire des choses de base comme « la sécurité est importante », « les vulnérabilités sont mauvaises » et « les risques de supply chain doivent être traités ». Plus on en sait, plus ce travail devient pénible ; en tout cas, c’est mon expérience. Cela dit, je ne suis pas CISO.
La vraie question est souvent plus compliquée, du genre : « Faut-il arracher des milliers de lecteurs et de portiques dans les bâtiments, ou peut-on tenir encore quelques années avec des cartes renforcées utilisant le même protocole ? »
Je ne le recommande pas, mais dans la plupart des entreprises, la sécurité physique n’a pas non plus un budget illimité, comme les autres domaines.
Je ne sais pas si ce sont vraiment les CISO qui prennent ce genre de décision.
Il me semble plus probable qu’elle soit prise par un prestataire engagé par le gestionnaire d’immeuble d’une société immobilière commerciale anonyme.
Lien vers le résumé, hors PDF : https://eprint.iacr.org/2024/1275
MIFARE Classic: exposing the static encrypted nonce variant
Cryptology ePrint Archive, Paper 2024/1275
Auteur : Philippe Teuwen
Je me demande quel rapport cela a avec les cartes qui utilisent PKCS ou une PKI
Je me demande aussi s’il existe réellement des systèmes de contrôle d’accès qui utilisent cette approche, et s’ils sont plus sûrs
Ou peut-être existe-t-il des systèmes de contrôle d’accès aux portes qui utilisent FIDO2
Les systèmes de contrôle d’accès qui utilisent une PKI existent bel et bien
Par exemple, dans les spécifications PIV comme les CAC du DOD, le slot 9e est généralement prévu pour être utilisé pour « l’authentification de la carte » sans PIN
Les cartes fondées sur PKCS bénéficient des avantages des smart cards, à savoir, en théorie, une extraction des clés difficile et une résistance aux attaques par canal auxiliaire, entre autres, mais elles présentent aussi le risque habituel de devoir faire confiance au fournisseur et à l’émetteur pour ne pas intégrer d’APDU de backdoor dans l’applet
Peu de gens voudraient probablement utiliser FIDO2 pour le contrôle d’accès aux portes, mais en théorie rien ne l’empêche. Il suffirait de concevoir un schéma d’URI astucieux pour chaque porte et de savoir quelle clé publique attendre pour chaque identité sur chaque URI. Cela dit, FIDO2 n’est pas idéal, car il produit une identité différente pour chaque URI ; il faudrait donc probablement utiliser une URI unique, ou une zone, pour tout le site, puis implémenter les contrôles d’accès aux zones dans chaque vérificateur
En pratique, avec une vérification PKI de type PIV, on obtient presque tous les avantages de FIDO2, tout en pouvant gérer la révocation des cartes via une CRL distribuée à l’ensemble du système
Je me demande s’il est possible de réaliser cette attaque avec un Flipper Zero
À vue de nez, ce serait NFC -> Extra Actions -> MIFARE Classic Keys -> Add
Je n’ai pas de clé Classic à tester pour le moment, donc je ne peux pas confirmer
Ça ressemble à l’effet Baader-Meinhof, mais ces deux derniers jours j’essayais justement de cloner une MIFARE Classic 1K de mon université
Parce que ma carte étudiante était délavée et qu’on m’a refusé sa réactivation
Ce problème n’est pas une vulnérabilité théorique obscure, mais un gros trou assez sérieux. D’après le résumé :
« Une étude empirique nous a permis de découvrir une backdoor matérielle et d’en extraire la clé avec succès. Toute entité connaissant cette backdoor peut compromettre toutes les clés définies par l’utilisateur de la carte, sans connaissance préalable, en ayant accès à la carte pendant quelques minutes seulement. Par ailleurs, lors de l’examen de cartes plus anciennes, nous avons aussi découvert une autre clé de backdoor matérielle commune à plusieurs fabricants »
1 commentaires
Avis sur Hacker News
Les cartes MIFARE Classic sont connues comme vulnérables depuis plus de dix ans et, quand on travaille dans l’industrie des cartes, on doit généralement recommander de passer à des puces plus sûres comme DESFire.
L’introduction de l’article dit elle-même qu’« en 2024, tout le monde sait que MIFARE Classic est gravement cassé » ; donc si l’on déploie encore du MIFARE Classic, on l’a un peu cherché.
À la mi-juillet, je n’avais plus d’argent et même de quoi acheter un billet de train pour rentrer chez moi pendant les vacances devenait limite, mais grâce à MIFARE j’ai pu tenir environ deux semaines avec des sandwichs de distributeur. C’était le bon temps, la jeunesse.
Si on l’utilise comme simple stockage et que l’on gère le chiffrement et l’authentification des données autrement, il n’y a pas de problème. Les signatures ECC sont assez petites pour tenir sur des cartes 2K/4K ; je l’ai déjà fait ainsi.
Il s’agit de spécifications PDF avec copie-coller désactivé et filigrane « confidential », comme s’ils pensaient encore que la sécurité par l’obscurité fonctionne.
C’est surprenant que ce soit encore un sujet aujourd’hui.
Je me demande si quelqu’un pourrait expliquer très simplement ce vecteur d’attaque.
Si c’est une backdoor, cela donne l’impression que quelqu’un peut « entrer » dans mon RFID, mais un RFID est hors tension la plupart du temps. Quand le RFID est alimenté, faut-il que l’hôte qui fournit l’alimentation soit lui aussi vulnérable ou sur un réseau compromis ?
Je ne comprends pas non plus très bien quelles capacités cela donne ensuite. La porte s’ouvre déjà, la carte bancaire est déjà prête à payer. Ou bien est-ce simplement que quelqu’un qui me frôle dans la rue pourrait cloner ma carte ?
MIFARE ne se résume pas à Classic : il y a un UID 32 bits et plusieurs blocs de données chiffrés, chacun protégé par une clé A et une clé B.
Les premiers systèmes de cartes utilisaient uniquement l’UID pour l’authentification : si l’UID correspondait, l’accès était accordé. Évidemment, n’importe qui pouvait créer une carte avec le même UID ; les systèmes suivants ont donc commencé à authentifier 12 champs chiffrés. Le lecteur demande à la carte de chiffrer un nombre aléatoire et des informations d’identification stockées, et seule une carte possédant la bonne clé peut renvoyer le bon texte chiffré et le nonce.
L’authentification utilise un chiffrement à clé symétrique. Selon la configuration, la clé A peut servir en lecture seule ou en lecture-écriture, A peut servir à la lecture et B à l’écriture, ou bien A et B peuvent toutes deux être nécessaires pour lire et écrire.
À l’origine, MIFARE Classic utilisait un chiffrement propriétaire, crypto-1, et les clés MIFARE Classic traditionnelles peuvent être cassées facilement à cause d’un générateur de nombres aléatoires faible, de collisions, etc. Il existe toutefois des clés renforcées qui n’ont pas encore été cassées grâce à diverses contre-mesures.
L’article semble avoir trouvé, dans une marque précise de cartes RFID, une clé A/B codée en dur : A396EFA4E24F. Je n’ai fait que parcourir l’article et cela fait longtemps que je n’ai pas manipulé de RFID, donc certains détails peuvent être inexacts.
Bien sûr, il pourrait aussi te voler la carte, mais tu t’en rendrais compte. En revanche, si tu laisses quelques minutes sur un bureau une carte restée dans ton portefeuille, si le service IT te l’« emprunte » pour la réencoder, ou par mille autres moyens d’obtenir brièvement une carte RFID, elle peut être dumpée et clonée.
« Faut-il acheter des copies chinoises de MIFARE Classic ? » ressemble à une question dont la réponse est déjà toute trouvée, mais c’est peut-être pour ça que je n’ai pas encore été promu CISO.
Nous avons des clients qui utilisent des cartes à puce, que nous devons parfois lire ou écrire, et au moment de l’onboarding ils ne savent souvent pas quelle version ou quelle spécification ils utilisent. Ils nous envoient quelques cartes presque sans marquage, puis on doit le découvrir par essais et erreurs.
Les cadres de gestion du risque permettent d’exprimer en montants financiers l’impact, la probabilité et les mesures de réponse. Si tu présentes quelques options montrant comment différentes mesures d’atténuation modifient le risque résiduel final, les non-techniciens peuvent accepter l’orientation de la sécurité de l’entreprise.
Bien sûr, il faut aussi dire des choses de base comme « la sécurité est importante », « les vulnérabilités sont mauvaises » et « les risques de supply chain doivent être traités ». Plus on en sait, plus ce travail devient pénible ; en tout cas, c’est mon expérience. Cela dit, je ne suis pas CISO.
Je ne le recommande pas, mais dans la plupart des entreprises, la sécurité physique n’a pas non plus un budget illimité, comme les autres domaines.
Il me semble plus probable qu’elle soit prise par un prestataire engagé par le gestionnaire d’immeuble d’une société immobilière commerciale anonyme.
Lien vers le résumé, hors PDF : https://eprint.iacr.org/2024/1275
MIFARE Classic: exposing the static encrypted nonce variant
Cryptology ePrint Archive, Paper 2024/1275
Auteur : Philippe Teuwen
Je me demande quel rapport cela a avec les cartes qui utilisent PKCS ou une PKI
Je me demande aussi s’il existe réellement des systèmes de contrôle d’accès qui utilisent cette approche, et s’ils sont plus sûrs
Ou peut-être existe-t-il des systèmes de contrôle d’accès aux portes qui utilisent FIDO2
Par exemple, dans les spécifications PIV comme les CAC du DOD, le slot 9e est généralement prévu pour être utilisé pour « l’authentification de la carte » sans PIN
Les cartes fondées sur PKCS bénéficient des avantages des smart cards, à savoir, en théorie, une extraction des clés difficile et une résistance aux attaques par canal auxiliaire, entre autres, mais elles présentent aussi le risque habituel de devoir faire confiance au fournisseur et à l’émetteur pour ne pas intégrer d’APDU de backdoor dans l’applet
Peu de gens voudraient probablement utiliser FIDO2 pour le contrôle d’accès aux portes, mais en théorie rien ne l’empêche. Il suffirait de concevoir un schéma d’URI astucieux pour chaque porte et de savoir quelle clé publique attendre pour chaque identité sur chaque URI. Cela dit, FIDO2 n’est pas idéal, car il produit une identité différente pour chaque URI ; il faudrait donc probablement utiliser une URI unique, ou une zone, pour tout le site, puis implémenter les contrôles d’accès aux zones dans chaque vérificateur
En pratique, avec une vérification PKI de type PIV, on obtient presque tous les avantages de FIDO2, tout en pouvant gérer la révocation des cartes via une CRL distribuée à l’ensemble du système
Je me demande s’il est possible de réaliser cette attaque avec un Flipper Zero
Cela devrait être possible d’ici la fin du mois, et la PR peut être suivie ici : https://github.com/flipperdevices/flipperzero-firmware/pull/...
Je n’ai pas de clé Classic à tester pour le moment, donc je ne peux pas confirmer
Il y a environ 8 ans, j’ai obtenu de la nourriture illimitée dans les distributeurs de mon université grâce à ce tutoriel
C’était le bon temps
https://firefart.at/post/how-to-crack-mifare-classic-cards/
Ça ressemble à l’effet Baader-Meinhof, mais ces deux derniers jours j’essayais justement de cloner une MIFARE Classic 1K de mon université
Parce que ma carte étudiante était délavée et qu’on m’a refusé sa réactivation
Ce problème n’est pas une vulnérabilité théorique obscure, mais un gros trou assez sérieux. D’après le résumé :
« Une étude empirique nous a permis de découvrir une backdoor matérielle et d’en extraire la clé avec succès. Toute entité connaissant cette backdoor peut compromettre toutes les clés définies par l’utilisateur de la carte, sans connaissance préalable, en ayant accès à la carte pendant quelques minutes seulement. Par ailleurs, lors de l’examen de cartes plus anciennes, nous avons aussi découvert une autre clé de backdoor matérielle commune à plusieurs fabricants »