Analyse technique de l'attaque Man-in-the-Middle sur Apple Pay
Documentation technique sur l'exploitation des vulnérabilités NFC d'Apple Pay et Visa. Comprenez les mécanismes de sécurité et les vecteurs d'attaque.
Introduction
Cette analyse détaille une attaque de type Man-in-the-Middle (MitM) exploitant le mode "Express Transit" d'Apple Pay pour contourner l'authentification biométrique. Elle démontre comment la manipulation de champs de données NFC permet de valider des transactions de haute valeur sans interaction utilisateur.
Précis de configuration
| Élément | Version / Lien |
|---|---|
| Langage / Runtime | Python 3.x |
| Hardware | Proxmark3 (NFC Reader/Emulator) |
| Protocole | ISO/IEC 14443 (NFC) |
| Environnement | Linux (Kali ou équivalent) |
Guide étape par étape

Étape 1 — Interception du signal NFC
L'objectif est de se positionner entre le terminal de paiement et le smartphone cible pour capturer les échanges de données brutes.
# Initialisation du Proxmark pour simuler un lecteur de carte
# [Note de l'éditeur : commande spécifique au firmware Proxmark3 à vérifier]
import nfc_bridge
# Capture des données brutes du terminal
data = nfc_bridge.capture_raw_stream()
Étape 2 — Manipulation des flags de transaction
Le script modifie le bit "Offline Data Authentication" (ODA) pour tromper le téléphone sur l'état du terminal.
# Modification du bit 1 (Offline) vers 0 (Online) pour forcer l'autorisation
# [Note de l'éditeur : structure du paquet TTQ à valider via la doc EMV]
modified_packet = data.replace_bit(index=12, value=0)
Étape 3 — Injection de la réponse falsifiée
Le terminal reçoit la réponse modifiée, validant la transaction sans demander de code PIN ou de Face ID.
# Envoi du paquet modifié vers le terminal de paiement
nfc_bridge.inject_packet(modified_packet)
Tableaux comparatifs
| Approche | Sécurité | Complexité | Risque de fraude |
|---|---|---|---|
| Apple Pay (Standard) | Élevée (FaceID) | Faible | Très faible |
| Apple Pay (Transit Mode) | Réduite | Moyenne | Élevé (si vol) |
| Carte physique | Moyenne | Élevée | Modéré |
⚠️ Erreurs fréquentes et pièges
- Mauvais alignement NFC : Une latence trop élevée lors de l'injection du paquet entraîne une erreur de timeout du terminal.
- Détection de signature : Si le terminal vérifie la signature cryptographique asymétrique (RSA), l'attaque échoue ; il faut donc s'assurer que le terminal est en mode "online".
- Incompatibilité de carte : L'attaque ne fonctionne que si une carte Visa est configurée dans le slot "Transit" du portefeuille mobile.
Glossaire
Man-in-the-Middle (MitM) : Attaque où l'intercepteur intercepte et modifie les communications entre deux parties sans qu'elles ne s'en aperçoivent.
NFC (Near Field Communication) : Technologie de communication sans fil à courte portée utilisée pour les paiements sans contact.
Express Transit Mode : Fonctionnalité Apple permettant de payer les transports en commun sans déverrouiller l'appareil.
Points clés à retenir

- Le mode "Express Transit" est activé par défaut sur les cartes éligibles.
- L'attaque repose sur la modification du bit de configuration de la transaction (TTQ).
- Visa est plus vulnérable que Mastercard dans ce scénario spécifique en raison de ses protocoles de vérification.
- La sécurité repose sur la confiance accordée aux données transmises par le terminal.
- La désactivation du mode "Express Transit" ou le retrait de la carte Visa du portefeuille élimine le risque.