Samsung Pay : une sécurité qui tient à un jeton ?
Samsung Pay pas si sécurisé ? Au cœur du débat posé depuis la Black Hat, le système de « tokenisation » qui substitue des jetons aux numéros de cartes.
Samsung est sur la défensive depuis la Black Hat USA.
La semaine passée à Las Vegas, se déroulait l’édition 2016 de cette conférence dédiée à la sécurité informatique et qui fait l’objet de deux autres sessions annuelles en Europe et en Asie.
Le dénommé Salvador Mendoza y a exposé ses recherches – document PDF, 11 pages – sur Samsung Pay.
Ses conclusions sont sans appel : le système de paiement mobile présente des failles qui permettent d’intercepter, puis de détourner des données de transaction.
Le chercheur s’est plus particulièrement intéressé à la technologie de « tokenisation », avec laquelle chaque carte bancaire enregistrée dans Samsung Pay est associée à une carte virtuelle représentée par un jeton.
Interception
C’est ce jeton (« token ») qui sert à valider les paiements, sans jamais que le numéro de carte soit communiqué au commerçant. Et si d’aventure un tiers parvenait à intercepter ledit jeton, il ne pourrait pas – tout du moins en théorie – faire le lien avec la CB. Principalement par le fait que le token est créé de manière « aléatoire ».
En y regardant de plus près, ce n’est pas si évident. Ainsi Salvador Mendoza a-t-il repéré des motifs similaires et des éléments prédictibles, comme ces compteurs incrémentés ou non à chaque transaction en fonction de la disponibilité d’une connexion réseau ; ou ce chiffre qui permet d’identifier si la carte enregistrée embarque une bande magnétique ou une puce.
Tous ces éléments, additionnés d’autres découvertes détaillées dans un document annexe (PDF, 24 pages ; merci The Register), facilitent, d’après Salvador Mendoza, la mise en œuvre d’attaques basées sur la création de jetons frauduleux.
Mais il y aurait plus simple : avec un Raspberry Pi Zero connecté à une adresse de messagerie, le chercheur a intercepté des jetons et s’est aperçu qu’ils restent actifs tant que le paiement qu’ils sous-tendent n’a pas été réalisé.
Scénario improbable ?
Là commence le débat avec Samsung.
Le groupe sud-coréen avait d’abord réagi sèchement en expliquant que la démonstration de Salvador Mendoza n’était absolument pas réalisable, Samsung Pay utilisant un « système de sécurité multicouche » et reposant sur un « travail en association avec les […] partenaires pour détecter les menaces émergentes ».
Face à l’insistance du chercheur, Samsung a lâché un peu de lest en reconnaissant qu’une attaque par interception de jetons est possible dans l’absolu, mais seulement si des conditions « extrêmement improbables » sont réunies. Entre autres, le fait, pour l’attaquant, d’être à proximité immédiate de sa victime.
Il est par ailleurs précisé, dans la foire aux questions (PDF, 3 pages) de Samsung Pay, que les réseaux de paiement partenaires ont les moyens de contrôler, notamment grâce au dispositif de compteurs incrémentiels, l’éventuelle antériorité d’un jeton par rapport à un autre… et ainsi de le rejeter.
C’est sans compter l’utilisation d’un cryptogramme. Celui-ci est généré à partir, au minimum, du jeton qui représente la carte bancaire, du statut du compteur incrémenté à chaque transaction et d’une clé secrète accessible uniquement via la TrustZone du processeur ARM dans les terminaux mobiles compatibles Samsung Pay.
Pour Salvador Mendoza, ce cryptogramme à trois chiffres n’est pas suffisamment sécurisé : une attaque par force brute pourrait suffire à le déterminer, en y associant les failles susmentionnées, dont quelques-unes compilées dans la vidéo ci-dessous.
Crédit photo : s4svisuals – Shutterstock.com