Opinions
Vulnérabilités du NFC, faut-il s’inquiéter ?
Par La rédaction, publié le 12 octobre 2012
De nombreuses vulnérabilités contre les cartes bancaires sans contact et les téléphones équipés NFC sont apparues ces dernières semaines, et les sites spécialisés fourmillent d’annonces empreintes de catastrophisme. Une bonne occasion de faire un état des lieux.
De nombreuses vulnérabilités contre les cartes bancaires sans contact et les téléphones équipés NFC sont apparues ces dernières semaines, et les sites spécialisés fourmillent d’annonces empreintes de catastrophisme. Une bonne occasion de faire un état des lieux.
Première victime : Google Wallet. Le porte-cartes virtuel de Google a son accès protégé par code PIN. Une fois le PIN entré, les cartes qui lui sont rattachées deviennent accessibles. Les données de ces cartes sont stockées sur une puce sécurisée, appelée secure element et soudée sur le circuit mobile. Ces cartes virtuelles sont ensuite utilisées pour régler des transactions sans contact, via NFC.
A l’inverse des cartes bancaires physiques, pour lesquelles la vérification du code PIN est faite par le secure element, la vérification du code PIN du Google Wallet est faite sur le mobile. La mauvaise utilisation d’algorithmes cryptographiques dans un système d’exploitation sujet à attaques, et une faille dans la gestion du cycle de vie de l’application, ont été exploitées [1].
Plus récemment, une attaque par relais a été démontrée, toujours contre le Google Wallet [2]. Cette fois, il s’agit d’utiliser un malware sur le mobile de la victime. Ce malware agit comme un relais, via une connexion data, entre le Google Wallet et un terminal supportant les communications sans contact, qui interagit avec un vrai terminal de paiement. Cette attaque exploite l’absence de vérification du code PIN lorsque le malware interagit avec le secure element du Google Wallet via l’interface filaire, c’est-à-dire la connexion entre ce composant et le processeur applicatif du mobile.
Les cartes bancaires sans contact ont été récemment victimes de plusieurs attaques [3]. La portée des communications sans contact étant plus élevée qu’attendue (jusqu’à une dizaine de centimètres), il est possible, en positionnant un lecteur de manière discrète, par exemple dans une mallette passée négligemment près de la poche de la victime contenant son portefeuille, de communiquer avec la carte. Cela permet, d’une part, de lire certaines informations comme le numéro de carte, la date d’expiration et l’identité du propriétaire. D’autre part, l’attaquant peut se faire passer pour un terminal de paiement via une attaque par relais, et faire effectuer une transaction à la carte.
Ces attaques ont eu un retentissement certain, bien que les risques associés ne soient pas toujours clairs. Si, dans le cas du Google Wallet, les attaques permettent d’effectuer des transactions normalement protégées par code PIN, ce n’est pas le cas des attaques contre les cartes bancaires sans contact. Les données volées permettent d’effectuer des transactions en ligne sur certains sites. L’attaque par relais permet d’effectuer des transactions non protégées par PIN, qui ont été limitées à des montants faibles (20 euros maximum) et dont le nombre est limité car le code PIN est demandé régulièrement quel que soit le montant.
Quelle que soit leur portée, ces attaques démontrent plusieurs choses. La manière dont les protections cryptographiques sont implémentées doit tenir compte du niveau de risque de l’environnement. Les systèmes d’exploitation riches – Android et autres – doivent être considérés comme sous contrôle de l’attaquant. La définition de protocoles sans fil qui répliquent des protocoles filaires sans protection additionnelle est dangereuse. Enfin, la gestion des risques est cruciale puisque, à en croire l’industrie financière, les attaques sur les cartes sans contact étaient prévues et acceptées, la meilleure preuve étant les mécanismes déjà en place pour limiter le risque, comme la saisie du code PIN toutes les quelques transactions quels que soient leurs montants.
Pour ce qui est de Google Wallet, l’utilisation d’un environnement d’exécution sécurisé (TEE), en cours de déploiement dans le monde mobile, aurait permis de prévenir ces attaques : en permettant de protéger la saisie des codes PIN de toute attaque venant du système d’exploitation, et en offrant l’établissement de canaux sécurisés entre le mobile et le secure element, le TEE permettra de gérer les transactions avec le secure element sans reposer sur la sécurité du système d’exploitation. Si la technologie NFC met du temps à se déployer (elle n’est pas dans l’iPhone 5), c’est peut-être aussi un bien tant que tout l’écosystème qui permet d’assurer la sécurité du système n’est pas en place…
[1] https://zvelo.com/blog/entry/google-wallet-security-pin-exposure-vulnerability
[2] http://www.mroland.at/publications/bibliography/35/#c35
[3] http://www.01net.com/editorial/571737/le-scandale-des-nouvelles-cartes-bancaires/
[4] http://www.globalplatform.org/mediaguidetee.asp