High-tech

Un vol de 10 000 dollars à MKBHD via Apple Pay sans déverrouillage d’iPhone

Une faille d’Apple Pay et du réseau Visa a permis de voler 10 000 dollars à MKBHD lors d’une vidéo de démo sur la chaîne Veritasium. Cette arnaque cible uniquement Apple Pay, qui se révèle moins sécurisé que les solutions de paiement mobile disponibles sur Android.

Une vulnérabilité d’Apple Pay et du réseau Visa a permis à MKBHD de se faire dérober 10 000 dollars de manière choquante lors d’une démonstration. Voici le fonctionnement de cette arnaque.
Comment une faille Apple Pay a permis de voler 10 000 dollars à MKBHD // Source : Veritasium (avec montage Frandroid)

La scène est incroyable. MKBHD, le célèbre YouTuber spécialisé dans les technologies, est invité sur la chaîne Veritasium. Il place son iPhone verrouillé (cette précision est capitale) sur le bureau. À ses côtés, le présentateur Henry van Dyck dispose d’un MacBook, d’un terminal de paiement, d’un smartphone Android et d’un petit boîtier intrigant.

Sans la moindre interaction avec l’iPhone, le présentateur parvient, en un instant, à dérober 10 000 dollars à MKBHD, sous le regard médusé de ce dernier. Bien que ce soit le smartphone Android qui est présenté au terminal de paiement, c’est l’iPhone qui reçoit une notification de paiement. La transaction est alors traitée normalement par Apple Pay, qui affiche dans son historique ce montant astronomique comme s’il s’agissait d’un simple achat.

blank
L’historique des transactions Apple Pay de MKBHD affichant une somme de 10 000 dollars. // Source : Veritasium

« C’est juste vert. Approuvé », commente MKBHD. « Wow, ça a fonctionné », s’étonne-t-il, encore choqué par ce qu’il vient de voir. « Sans déverrouiller mon téléphone, c’est ça la vraie magie. C’est fou ».

Il est crucial de noter que cette arnaque ne vise que les utilisateurs d’Apple Pay, qui se montre ici moins sécurisé que les solutions de paiement mobile disponibles sur Android.

Comment fonctionne cette arnaque ?

Pour appréhender le mécanisme de cette arnaque, revenons sur le fonctionnement du paiement sans contact avec un smartphone. Lorsque vous approchez votre téléphone d’un terminal de paiement, les deux appareils échangent des données via un champ magnétique, sans fil.

Le principe de l’arnaque repose sur l’interception et la manipulation de ces données. Pour réaliser cet exploit, Veritasium place l’iPhone de MKBHD sur un boîtier NFC nommé Proxmark, connecté à un ordinateur portable sur lequel tourne un script Python élaboré en collaboration avec deux experts en cybersécurité : Ioana Boureanu de l’université de Surrey et Tom Chothia de l’université de Birmingham.

blank
Le boîtier NFC Proxmark indispensable pour cette arnaque via Apple Pay // Source : Veritasium

C’est ce script Python qui permet de modifier les données de transaction de manière rapide et automatique. L’ordinateur envoie ensuite ces informations au téléphone Android qui est présenté au terminal de paiement.

Finalement, le lecteur de carte et l’iPhone croient qu’ils sont en communication directe. En réalité, les données sont détournées et falsifiées à travers plusieurs étapes, un modus operandi de type man in the middlel’homme au milieu » en français).

Cependant, la manœuvre ne s’arrête pas là. Comme l’explique Henry van Dyck de Veritasium, trois barrières de sécurité doivent être contournées successivement durant ce processus.

Esquiver le déverrouillage de l’iPhone

La première étape consiste à permettre à Apple Pay d’accepter une transaction sans déverrouillage de l’iPhone. Pour cela, Veritasium utilise le mode Express introduit par Apple en 2019.

Cela permet d’utiliser Apple Wallet dans le métro « sans devoir réactiver ou déverrouiller votre appareil, ni à vous authentifier avec Face ID, Touch ID ou votre code d’accès ». Dans certaines villes, il est donc possible de payer directement aux tourniquets ou aux barrières de sécurité.

blank
Le mode Express permet de payer avec son iPhone dans le métro sans déverrouiller l’appareil. // Source : Veritasium

Pour cela, le lecteur de carte envoie un signal indiquant qu’il s’agit d’un terminal destiné au paiement d’un titre de transport, et l’iPhone en déduit qu’il ne doit pas demander d’authentification afin de ne pas ralentir les utilisateurs dans les stations bondées.

Les deux experts, Ioana Boureanu et Tom Chothia, se sont ainsi rendus dans le métro londonien pour analyser les informations échangées entre le terminal et l’iPhone afin de les imiter et de les reproduire.

blank
Dans le métro, l’iPhone et la borne échangent des informations spécifiques pour la transaction. // Source : Veritasium

Ainsi, lorsque l’iPhone est posé sur le boîtier NFC Proxmark, ce dernier peut se faire passer pour un tourniquet de métro, indiquant à l’iPhone qu’il n’est pas nécessaire de se déverrouiller pour la transaction à venir.

Mentir sur le montant de la transaction

Après avoir franchi cette première barrière, il faut manipuler la somme d’argent. Lors d’un paiement sans contact, les montants sont classés en deux catégories.

  • Valeur faible : aucune identification demandée à l’utilisateur.
  • Valeur élevée : authentification requise via lecteur d’empreintes, reconnaissance faciale ou code PIN.
blank
Seule une valeur élevée nécessite une authentification lors d’un paiement sans contact. // Source : Veritasium

Pour réussir leur larcin, l’équipe de Veritasium doit donc faire croire au téléphone que 10 000 dollars est une valeur faible. Comment s’y prendre ?

Pour cela, il convient de se rappeler que l’iPhone ne vérifie pas directement le montant de la transaction, mais s’appuie sur un code binaire (suite de 0 et de 1) pour interpréter les informations.

Dans cette suite, un chiffre indique s’il s’agit d’une valeur faible ou élevée, semblable à un interrupteur.

  • 0 = valeur faible.
  • 1 = valeur élevée.
blank
Changer un 1 en 0 pour tromper Apple Pay et l’iPhone. // Source : Veritasium

Un simple chiffre, en effet. Le seuil à partir duquel un montant est considéré comme élevé varie d’un pays à l’autre. Cette méthode, fondée sur un simple chiffre, offre aux systèmes de paiement la flexibilité nécessaire pour naviguer entre ces différentes normes et devises à l’échelle mondiale.

Avec l’installation mise en place, Veritasium peut donc intercepter l’information provenant du terminal de paiement, remplacer le 1 par un 0 grâce au script tournant sur l’ordinateur et convaincre l’iPhone que 10 000 dollars est un achat de faible valeur.

Piéger le terminal de paiement

La dernière étape consiste à tromper le terminal de paiement. En effet, puisque l’iPhone suppose qu’une transaction à faible montant est en cours sur une borne de métro, il intègre dans les informations transmises au lecteur de carte que l’opération n’a pas été vérifiée.

Le lecteur de cartes est donc censé refuser le paiement. Cependant, comme toutes les communications sont interceptées, le script de Veritasium peut encore agir sur le code binaire.

blank
En falsifiant les données, on fait croire au terminal de paiement que la transaction a été validée comme il se doit. // Source : Veritasium

Encore une fois, il s’agit de remplacer un 0 par un 1 et d’envoyer cette information au lecteur de cartes. Pour le formuler autrement, cela signifie modifier le message pour faire croire au terminal que l’iPhone lui dit « c’est bon, tout est en ordre, une identification a bien été demandée ».

Cette fausse information est transmise à la banque, qui pense donc que la transaction a été correctement vérifiée et permet l’envoi d’argent. « La seule limite, c’est le montant disponible sur le compte bancaire de la personne », affirme l’expert Tom Chothia.

Toutes les données interceptées de la sorte sont accessibles facilement au traitement car elles ne sont pas chiffrées. Cela est dû à la nécessité de compatibilité entre la méthode de communication des téléphones et des terminaux avec de nombreux appareils à travers le monde, rendant une mise à jour simultanée impossible.

Apple Pay et Visa : la combinaison fatale

Cependant, il est crucial de signaler que cette arnaque ne fonctionne que si la victime utilise Apple Pay et une carte Visa. « C’est vraiment une technique issue de la manière dont Apple et Visa sont combinés », explique l’experte Ioana Boureanu.

Normalement, divers mécanismes de défense s’activent au niveau des smartphones, des cartes et des terminaux, afin de prévenir cette escroquerie. C’est dans le cas spécifique d’une combinaison Apple et Visa que seules trois barrières de sécurité doivent être contournées.

blank
Henry van Dyck et MKBHD // Source : Veritasium

Examinons d’abord Apple Pay. On dit que le téléphone ne connaît pas le montant de la transaction et se concentre uniquement sur la question de savoir s’il s’agit d’une valeur faible ou élevée, mais cela n’est vrai que pour la solution d’Apple.

Comme l’explique le présentateur de la vidéo, un smartphone Samsung utilisant aussi le mode express dans le métro acceptera uniquement des transactions de 0 euro, s’appuyant ensuite sur les terminaux de métro pour compter le nombre d’utilisations des transports en commun avant d’effectuer un paiement unique en fin de journée. Il ne suffit donc pas de changer un 1 en 0 pour le tromper.

Concernant Visa, il est important de noter que chaque transaction bancaire implique de nombreux échanges d’informations et de chiffrages de données. Cependant, d’autres réseaux comme Mastercard ou CB appliquent une couche de sécurité supplémentaire entre la carte et le terminal de paiement, ce qui n’est pas le cas chez Visa.

À lire aussi :
Réseau CB : tout comprendre sur l’alternative française à Visa et Mastercard

La réponse de Visa

Il convient également de préciser que cette faille a été mise au jour en 2021, mais n’a jamais été corrigée. Un porte-parole de Visa répond dans la vidéo que cette vulnérabilité ne semble pas être exploitable à grande échelle. En outre, dans le cas où une personne serait victime de cette arnaque, elle pourrait facilement obtenir un remboursement auprès de sa banque.

En espérant que cela n’arrive à personne.