Paiement électronique : quand les hackers tirent les cartes

AuthentificationE-paiementMarketingRisquesSécurité
securite-pos

Les hackers du Chaos Computing Club attirent l’attention sur des failles dans les protocoles de communication associés aux systèmes de paiement par carte.

La sécurité des systèmes de paiement par carte bancaire aura largement été battue en brèche lors de la réunion de fin d’année du Chaos Computing Club, association européenne de hackers basée en Allemagne.

Karsten Nohl (de la firme berlinoise Security Research Labs) et son associé Fabian Braünlein se sont intéressés à deux protocoles de communication exploités par les lecteurs de cartes : ZVT (Zahlungverkehrsterminal) et Poseidon.

Le premier est utilisé en jonction avec les systèmes de caisses en point de vente. Le second fait le lien avec les banques, en tant qu’implémentation du standard ISO 8583 (spécifications d’échange de messages dans le cadre de transactions financières).

ZVT était, à l’origine, conçu pour gérer le transport de données sur connexion série. Aujourd’hui utilisé sur protocole Ethernet, y compris sans fil (essentiellement en Wi-Fi), il n’embarque pas de mécanisme d’authentification : si un tiers arrive à se positionner sur le même réseau, il peut, par une attaque de type « man-in-the-middle », obtenir les informations associées à une carte – y compris le PIN – pour ensuite la cloner.

Les lecteurs disposent en théorie d’une zone sécurisée dont le code PIN ne sort jamais. Problème : il existe une faille dans l’une des fonctions de ZVT ; en l’occurrence, celle qui permet d’afficher du texte sur l’écran, typiquement pour demander la saisie du PIN.

Les caractères affichés sont liés à un code d’authentification de message (MAC), destiné à prouver que les données proviennent d’un tiers de confiance et qu’elles n’ont subi aucune modification.

Mais ce MAC est mal implémenté : il est possible de le récupérer par le biais d’une attaque temporelle, qui consiste à estimer et analyser le temps mis pour effectuer certaines opérations cryptographiques. Dans le cas présent, le terminal de paiement met un peu plus de temps à accepter le bon MAC qu’à en rejeter un mauvais…

Banco

ZVT peut aussi être détourné pour s’en prendre directement à un commerçant plutôt qu’aux porteurs de cartes.

Chaque lecteur dispose d’un identifiant unique qui permet de déterminer son propriétaire. Il a aussi un numéro de port pour la communication des données, le tout étant configuré par la banque, en association avec un compte où sont déposés les fonds collectés.

ZVT permet de reconfigurer ces éléments dès lors que l’on se trouve sur le même réseau que le terminal.

Modifier l’identifiant requiert un mot de passe, mais celui-ci est fixe et largement accessible en ligne. Une réinitialisation modifie des éléments comme le nom du magasin, mais le protocole Poseidon permet de restaurer l’ensemble pour cacher plus efficacement l’attaque.

Copieurs

La troisième démonstration effectuée par Karsten Nohl et Fabian Braünlein se base uniquement sur Poseidon. Elle implique l’achat, par le pirate, de n’importe quel lecteur de cartes qui sera configuré à l’identique de celui de la victime.

Pour faire la jonction avec l’organisme qui traite les paiements, le terminal du marchand envoie son identifiant via un port de communication particulier et reçoit, en réponse, des données de configuration chiffrées.

Communiqués de manière séquentielle, les identifiants sont de surcroît lisibles sur chaque reçu imprimé. Une aubaine pour des tiers malveillants. Quant aux données chiffrées, elles sont protégées par un mot de passe qui est généralement le même pour tous les marchands associés à un même organisme de gestion des paiements (on trouve les principaux sur le Web).

Pour ce qui est de la configuration des communications, il suffit de procéder par force brute, en testant chaque port jusqu’à trouver celui qui répond. Reste alors à reprogrammer le lecteur de cartes acheté.

Ce lecteur peut ensuite être utilisé pour des « remboursements » abusifs : en d’autres termes, débiter de l’argent sur le compte du marchand, sans forcément qu’il y ait eu auparavant une transaction en sens inverse.

ZVT est surtout utilisé en Allemagne, mais quelques autres pays d’Europe l’ont adopté. L’alternative OPI (Open Payment Initiative) est plus récente, mais ne propose toujours pas d’authentification alternative. Quant aux fonctions de commande et de configuration à distance, elles ne sont pas nativement disponibles… mais de nombreux marchands les ont ajoutées via des extensions, note Reuters.

Crédit photo : hxdbzxy – Shutterstock.com

Lire aussi :

Lire la biographie de l´auteur  Masquer la biographie de l´auteur