📄 Contexte : Publié le 24 août 2026 dans les actes du 35e USENIX Security Symposium (Baltimore, MD), cet article de recherche de l’Université du Massachusetts Amherst présente une attaque pratique contre les paiements sans contact EMV, baptisée ZombieCard.

🔍 Vulnérabilité centrale : L’attaque exploite le fait que l’expiration d’une carte bancaire n’est pas une propriété cryptographique intrinsèque de la carte, mais un contrôle de politique distribué entre le terminal POS, le réseau de paiement et l’émetteur. Dans Visa Kernel 3 (EMV), le champ ApplicationExpirationDate (#5F24) utilisé par le terminal pour sa vérification locale n’est pas inclus dans la signature SDAD (SignedDynamicApplicationData), ce qui le rend modifiable en transit sans invalider les vérifications cryptographiques.

⚙️ Mécanisme de l’attaque :

  • Un relais NFC est positionné entre la carte expirée et le terminal POS (deux smartphones Android avec application personnalisée)
  • Lors de la phase READ RECORD, le relais intercepte la réponse de la carte contenant #5F24 (date expirée) et la remplace par une date future
  • Le champ Track2EquivalentData (#57), transmis à l’émetteur, n’est pas modifié
  • Le terminal accepte la date modifiée, ne détecte pas l’expiration, et transmet un TVR à zéros à l’émetteur (masquant les résultats de validation locale)
  • La carte génère un cryptogramme ARQC valide avec ses clés symétriques toujours actives
  • Certains émetteurs autorisent la transaction en vérifiant uniquement le PAN actif, sans contrôler la date d’expiration

🏦 Évaluation empirique : Tests réalisés sur 5 grandes banques américaines, plusieurs terminaux POS (SumUp Plus, SumUp Solo), marchands réels (retail, grocery), et kernels EMV (Visa Kernel 3, Mastercard Kernel 2, Discover Kernel 6, AmEx Kernel 4). Résultats :

  • Kernel 3 (Visa) : vulnérable, transactions autorisées par certains émetteurs (Bank A) même pour des montants élevés (500$)
  • Kernel 2 (Mastercard) : résistant (cohérence entre #5F24 et Track2 vérifiée)
  • Kernel 4 (AmEx) : résistant (expiry lié cryptographiquement via ODA)
  • Kernel 6 (Discover) : résistant (CDA détecte les modifications)
  • Bank B décline systématiquement les transactions de cartes expirées remplacées

🛠️ Infrastructure d’attaque : Deux smartphones OnePlus Nord 5, application Android personnalisée, transceivers NFC commodity, connexion WiFi entre les deux émulateurs. Latence additionnelle ~415ms (dans la fenêtre EMV de 500ms).

📋 Divulgation : Findings communiqués à Visa et aux banques impactées en mai 2025 et décembre 2025. Au moment de la publication, Visa confirme la réception et la reproduction en cours par son red team, sans mitigation déployée.

📌 Type d’article : Publication de recherche académique présentant une attaque pratique, une évaluation empirique multi-émetteurs et des contre-mesures proposées (protection d’intégrité des APDUs critiques, vérification de cohérence des représentations d’expiry, traitement de l’expiry comme prédicat d’autorisation dur côté émetteur, déploiement du Relay Resistance Protocol).

🧠 TTPs et IOCs détectés

TTP

  • T1557 — Adversary-in-the-Middle (Collection)
  • T1565.002 — Transmitted Data Manipulation (Impact)
  • T1600 — Weaken Encryption (Defense Evasion)

🟡 Indice de vérification factuelle : 40/100 (moyenne)

  • ⬜ usenix.org — source non référencée (0pts)
  • ✅ 74949 chars — texte complet (fulltext extrait) (15pts)
  • ⬜ aucun IOC extrait (0pts)
  • ⬜ pas d’IOC à vérifier (0pts)
  • ✅ 3 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://www.usenix.org/conference/usenixsecurity26/presentation/anwar