Bon nombre de distributeurs automatiques bancaires (DAB) et de point de vente (TPV) ne parviennent pas à générer correctement les nombres aléatoires requis par le protocole EMV pour authentifier de façon sûre les demandes de transaction, a affirmé une équipe de chercheurs de l'Université de Cambridge au Royaume-Uni. L'utilisation d'algorithmes défectueux pour générer des nombres aléatoires rend ces dispositifs de paiement vulnérables aux attaques "pré-play" qui permettent aux criminels d'envoyer des demandes de transactions frauduleuses aux banques à partir de cartes piratées.
La norme EMV (Europay, MasterCard et Visa) nécessite l'utilisation de cartes de paiement comprenant des circuits intégrés capables de remplir des fonctions cryptographiques spécifiques. Les appareils EMV ont besoin de produire ce que l'on appelle des "nombres imprévisibles" (UNS) pour chaque demande de transaction afin que les émetteurs de cartes puissent vérifier la provenance de ces demandes. Les anciennes versions de la spécification EMV n'avaient pas fourni d'instructions claires sur la façon dont ces nombres aléatoires devaient être générés. "Si vous êtes un programmeur, vous pouvez mettre en oeuvre un dispositif similaire pour tromper les banques", a déclaré Ross Anderson, professeur d'ingénierie en sécurité informatique à l'Université de Cambridge et l'un des auteurs de l'article.
"Nous avons étudié des DAB acquis sur eBay"
Pour parvenir a recréer un tel algorithme, les chercheurs ont analysé les UNS générés pendant plus de 1 000 transactions par 22 différents distributeurs automatiques de billets et 5 terminaux présents dans des point de vente au Royaume-Uni. Ils ont également étudié des distributeurs automatiques de billets acquis sur eBay pour inspecter leurs algorithmes de génération d'UNS.
Lorsqu'un dispositif de paiement veut initier une transaction il en envoie les détails - le montant, la devise, la date, etc - à la carte EMV insérée dans le lecteur de carte avec l'UN généré à la volée. La carte utilise une clé de cryptage secrète qui est conservé en toute sécurité sur la puce pour calculer un cryptogramme de demande d'autorisation (ARQC) à partir des données de transaction et de l'UN. Le dispositif de paiement envoie ensuite ce cryptogramme avec le PIN crypté et l'UN sous forme de texte brut à la banque émettrice pour vérification. La banque déchiffre le ARQC et valide les informations. Il compare également les UNS se trouvant à l'intérieur du cryptogramme avec le texte reçu. Si tout correspond, la banque traite la transaction et l'autorise.
Un type d'attaque qui ne laisse pas de trace
Si les pirates ne peuvent pas prédire à quoi ressemblera l'UN d'un modèle particulier de distributeurs automatiques de billets ou de terminal de paiement, ils peuvent néanmoins forcer des cartes authentiques à calculer l'ARQC d'une transactions future pour l'utiliser ensuite avec des clones de cartes à puce
[[page]]
Exemple: un client entre dans un café-restaurant qui se trouve être contrôlé par des criminel et qui utilise des terminaux de paiement dotés de firmwares modifiés. Lorsque le client insère sa carte de paiement dans l'une des bornes afin de payer son café, le terminal enregistre les informations de paiement du client ainsi que son code PIN et en plus d'amorcer le paiement légitime, force la carte à générer un ARQC pour une transaction avec une date future et spécifique à l'UN de la machine.
Dans ce cas, l'UN serait un certain nombre généré par l'un des dispositif de paiement des pirates. Un criminel serait alors en mesure de créer un clone de carte avec des informations correspondant à la vraie carte du client et comprenant même le programme avec le générateur ARQC. Cette carte pourrait par la suite être utilisée pour retirer une somme d'argent. Ce qui apparaît dans les registres de la banque émettrice à la suite d'une attaque pré-play n'est pas différent de ce qui pourrait apparaître lors d'un paiement normal.
Les banques, frileuses sur le sujet
"Tant que les UNS seront générés par les dispositifs de paiement et non par les émetteurs de cartes, d'autres méthodes d'attaque sont inévitables" ont indiqué les chercheurs. Si la plupart des banques affirment que ce type d'attaque n'est qu'hypothétique, dans leur article, les chercheurs de Cambridge affirment pourtant avoir commencé à rechercher d'éventuels problèmes avec les numéros EMV après avoir étudié le cas d'un client de la Banque HSBC de Malte. Son agence lui avait qui refusé le remboursement de ce que le client avait revendiqué comme étant une transaction frauduleuses effectuée à un guichet automatique de Palma de Majorque en Espagne en juin 2011...
Des vulnérabilités importantes dans le protocole bancaire EMV
Des chercheurs de l'université de Cambridge ont repéré des vulnérabilités dans le protocole EMV permettant le clonage de cartes bancaires. Si les banques affirment pour le moment que ce type d'attaque n'est qu'hypothétique, il semblerait pourtant que la pratique se répande.