24/02/2010

Attaque sur les cartes à puce EMV : bypass du code PIN

Ross Anderson et Steven J. Murdoch ont enfin dévoilé leur attaque sur les cartes à puces dans le draft Chip and PIN is broken.

Le principe de l'attaque est très simple : il s'agit d'un man-in-the-middle entre le terminal de paiement POS et la carte volée. Le man-in-the-middle est réalisé un ordinateur FPGA qui modifie à la volée la négociation entre le terminal et la carte : d'un côté, le terminal soumet le code PIN saisit par le voleur au FPGA qui lui répond toujours OK : de l'autre côté, le FPGA fait croire à la puce de la carte volée que le terminal ne sait pas vérifier le PIN et demande une signature au client présent (comme aux US).

Cette attaque se base sur plusieurs failles, dont :

1) le fait que les cartes EMV (du moins celles testées par l'équipe de Cambridge) acceptent des transactions sans PIN : c'est le "signature fallback". Est-ce le cas des puces émises par les banques françaises ?
2) la négociation entre le terminal et la puce n'est pas authentifiée/chiffrée;
3) lors de l'autorisation online, la banque n'a pas moyen de savoir la nature de l'authentification (PIN ou signature).

Ce qui est vraiment impréssionnant, c'est que l'attaque fonctionne même avec une autorisation online (quand le terminal appelle la banque). Il ne s'agit pas d'une attaque crypto comme la yes-card où le pirate programmait sa propre puce avec un numéro de compte aléatoire et un certificat contre-fait. Ici, la nature de la transaction est tout à fait valide : la carte utilisée est volée, mais bien véritable. C'est juste le contrôle du code PIN qui est bypassé.

Les auteurs ont même fait un proof-of-concept en vidéo :


Aucun commentaire:

Enregistrer un commentaire