
Les paiements par carte deviennent de plus en plus populaires. Les terminaux de paiement mobiles (terminaux mPOS) contribuent au développement de cette tendance, réduisant les barrières à l'entrée sur le marché du paiement par carte pour les petites entreprises et les entrepreneurs privés. De plus, sous certaines conditions, les opérations peuvent encore être effectuées dans de nombreux pays (dont la Russie) à l'aide de la bande magnétique. Chaque nouveau cycle de progrès technologique menace l'écosystème des paiements. Quels problèmes de sécurité peuvent faciliter l'accès au marché des paiements par carte? Et que risque-t-on de continuer à s'appuyer sur les anciennes technologies des cartes, notamment sur la bande magnétique?
Ces dernières années, le nombre d'opérations effectuées à l'aide de terminaux mPOS a considérablement augmenté. La concurrence intense entre les fournisseurs de mPOS a rendu extrêmement facile l'obtention d'un tel terminal de paiement. La signature d'un contrat prend moins de cinq minutes et les terminaux mPOS eux-mêmes sont souvent fournis gratuitement. Maintenant, ils peuvent être vus partout. Comme les terminaux POS normaux, ils constituent le dernier maillon de l'infrastructure de paiement. Cela les rend intéressants et facilement accessibles aux attaquants.
Domaine d'études
Nous avons évalué les produits des principaux fournisseurs de terminaux mPOS: PayPal, Square, iZettle et SumUp. Certains d'entre eux fournissent des services dans plusieurs régions du monde. Nous avons essayé d'accéder aux services dans différentes régions où cela était possible, car le processus de paiement, les applications et les appareils, ainsi que les paramètres de sécurité, diffèrent selon l'emplacement.
Le fournisseur | Constructeur | Terminal | Région |
---|
Carré | Carré | Terminal sans contact cartes et cartes avec la puce Square (S8) | Les USA |
Carré | Carré | Terminal pour cartes magnétiques Carré (S4) | Les USA |
Carré | Carré | Terminal pour cartes sans contact et cartes à puce Square (S8) | L'Europe |
Carré | Carré | Terminal de carte magnétique carré (S4) | L'Europe |
Carré | Systèmes Miura | Miura M010 | Les USA |
Résumé | (non public) | AIR1 E001 | L'Europe |
iZettle | Datacs | YRWCRONE | L'Europe |
Paypal | Systèmes Miura | Miura M010 | L'Europe |
Fabricants et fournisseurs de terminaux mPOS
Terminaux mPOSNous avons effectué une analyse de sécurité des appareils dans cinq catégories:
- communication entre le téléphone et le serveur du système de paiement;
- communication entre le téléphone et le terminal mPOS;
- mécanismes de protection physique du terminal mPOS;
- application mobile;
- des facteurs supplémentaires affectant la sécurité, notamment la vérification lors de l'enregistrement.
Les principaux domaines de rechercheProcessus de paiement
Nous avons étudié en profondeur les vecteurs d'attaque et les problèmes de sécurité des paiements par carte. Les vulnérabilités découvertes par nous mettent en danger les principales fonctionnalités du terminal mPOS.
La principale différence entre mPOS et les terminaux POS conventionnels est que le vendeur n'est pas directement lié à la banque acquéreuse. Au lieu de cela, les fournisseurs de mPOS agissent comme des agrégateurs de paiement, qui facturent des frais de transaction. Ces services de paiement ne peuvent pas toujours garantir le niveau de sécurité fourni par la banque acquéreuse. Les fournisseurs MPOS minimisent les risques de sécurité à leur manière, transférant souvent la responsabilité de la fraude à la banque acquéreuse. Il est important de comprendre que ces agrégateurs de paiement sont en fait des vendeurs eux-mêmes qui interagissent avec la banque acquéreuse.
Le processus de paiement via le terminal mPOSRisques de paiement par carte
Il existe différentes méthodes de paiement par carte. Ils dépendent du système de paiement, de l'émetteur et du pays d'émission. Pendant la transaction, la carte transmet une liste des méthodes de vérification de titulaire de carte (CVM) prises en charge, qui décrit les méthodes prises en charge et leur priorité. CVM réglemente également ce qui doit se produire si la méthode sélectionnée ne fonctionne pas. Le terminal stocke le fichier de configuration, qui décrit également les méthodes de vérification prises en charge. Le terminal compare ces deux fichiers et tente d'effectuer la transaction en utilisant la première méthode de priorité. La méthode prioritaire doit fournir un degré élevé de garantie que le titulaire de la carte était présent pendant l'opération.
Certains types de paiements sont évidemment plus sûrs que d'autres. Le paiement par carte avec une puce et en entrant un code PIN est considéré comme la méthode la plus sûre, car elle donne un degré élevé de garantie que l'opération a été approuvée par le titulaire de la carte. La bande magnétique est considérée comme une technologie moins sécurisée, car un attaquant peut facilement cloner la bande magnétique et les données Track2 qui y sont stockées et forger la signature du titulaire de la carte. Les opérations effectuées à l'aide de la bande magnétique ne donnent pas l'assurance que le titulaire de la carte était effectivement présent lors de la transaction. Contrairement aux transactions par carte qui prennent en charge la norme EMV, les transactions utilisant la bande magnétique ont lieu sans cryptogramme. Cela signifie que de telles opérations ne garantissent pas l'intégrité et l'authenticité de la transaction lors de son exécution.
Adopter la norme EMV
De plus en plus de paiements dans le monde sont effectués selon la norme EMV (Europay, Mastercard, Visa), c'est-à-dire à l'aide de cartes à puce. Cependant, l'adoption de la norme est plus lente dans certaines régions que dans d'autres. Aux États-Unis, les
transactions EMV représentent
moins de la moitié de toutes les transactions . La plupart des opérations sont toujours effectuées à l'aide d'une bande magnétique. En Europe, environ 90% de toutes les opérations sont
menées selon la norme EMV .
Résultats de recherche
Manipulation de l'appareil: envoi de commandes arbitraires
Un attaquant peut se connecter à l'appareil via Bluetooth et effectuer des opérations arbitraires. Pour ce faire, il a besoin d'informations sur les services Bluetooth exécutés sur l'appareil, ainsi que sur les caractéristiques et fonctions correspondantes. Ces informations peuvent être obtenues en utilisant l'ingénierie inverse avant l'attaque. Un attaquant n'a besoin d'accéder qu'à un terminal mPOS, à un téléphone prenant en charge la journalisation des événements de l'interface du contrôleur hôte (HCI) et à une application mobile. À l'aide de l'enregistrement des événements HCI, l'attaquant tentera d'obtenir des informations sur les principales fonctions du terminal mPOS. Pour ce faire, il procédera à des essais en utilisant différents modes de paiement et en comparant les résultats. Lorsque les informations nécessaires sont reçues, l'attaquant utilisant Wireshark analysera la communication entre le téléphone et le terminal mPOS. Ces informations, ainsi que les données de l'application mobile, vous permettront de comparer les fonctions avec leurs commandes et identifiants. La figure 5 montre le message «Insérez (glissez) la carte» sur l'écran du terminal mPOS.
Le message "Insérer (glisser) la carte" est envoyé à l'écranSi la carte n'est pas insérée correctement, le message d'erreur «Veuillez prendre la carte» s'affiche à l'écran. Dans le journal HCI, nous voyons quel UUID est responsable de l'affichage du texte et un exemple des données envoyées.
Le message «Veuillez retirer la carte» sur l'écran du terminal mPOS
Le premier paquet Bluetooth est responsable de l'envoi du message «Veuillez retirer la carte»
Le deuxième paquet Bluetooth est responsable de l'envoi du message «Veuillez retirer la carte» (le message est divisé en deux paquets en raison de la petite taille maximale d'un paquet Bluetooth Low Energy).La figure ci-dessous montre que la valeur envoyée au terminal mPOS se compose de cinq parties. Il comprend un préfixe contenant l'identifiant de la commande, la valeur du compteur des commandes envoyées et la taille de la charge utile, le texte principal sous forme de caractères ASCII, ainsi que le suffixe, la valeur de la somme de contrôle et l'octet final.
Éléments des deux colis chargés d'envoyer le message "Veuillez retirer la carte"Dans l'exemple suivant, le terminal utilise Bluetooth Classic pour communiquer avec le téléphone. Nous voyons le message «Insérer (glisser) la carte» envoyé à l'écran du terminal.
Le message «Insérez (glissez) la carte» sur l'écran du terminal mPOS
Paquet Bluetooth (dans la fenêtre Wireshark), qui est responsable de l'envoi du message «Insérez (glissez) la carte» à l'écran du terminal mPOSLa figure ci-dessous montre que ces données se composent de trois parties: préfixe, message et somme de contrôle. Le préfixe contient également le compteur, l'ID de commande et la taille de la charge utile. Le message contient la valeur "Insérer (glisser) la carte" dans le codage ASCII. La somme de contrôle est le XOR de tous les octets du message.
Éléments du colis chargés de l'envoi du message «Insérer (glisser) la carte»À l'aide de ces informations, vous pouvez créer une commande arbitraire et l'envoyer à l'écran du terminal mPOS. Trois des appareils que nous avons testés se sont révélés vulnérables à ce vecteur d'attaque.
Le fournisseur | Constructeur | Lecteur | Région |
---|
Résumé | (non public) | AIR1 E001 | L'Europe |
iZettle | Datacs | YRWCRONE | L'Europe |
Carré | Carré | Carré (S8) | Les USA |
Liste des terminaux vulnérables à l'envoi de commandes arbitraires. Bien que le lecteur Square (S8) n'ait pas d'affichage, un attaquant peut envoyer d'autres commandes arbitraires.Ce vecteur d'attaque peut être utilisé en conjonction avec l'exploitation d'autres vulnérabilités pour offrir au client des types d'opérations moins sécurisés, comme la bande magnétique. Ce scénario est décrit dans les figures 14 à 16. De plus, un attaquant peut envoyer un message "Paiement refusé" pour forcer le titulaire de la carte à effectuer plusieurs transactions.
Le titulaire de la carte essaie d'insérer une carte
Le message «Veuillez dessiner une carte» envoyé à l'écran du terminal oblige le titulaire de la carte à utiliser la bande magnétique
L'opération a réussi - pour l'opération à l'aide de la bande magnétique, vous devez laisser une signature.Fausse quantité
Il existe différentes façons d'intercepter le trafic entre le terminal mPOS et le serveur du système de paiement. Nous en avons déjà décrit un - l'enregistrement des événements HCI sur un téléphone mobile et l'analyse des résultats. Pour ce faire, vous devez activer le développeur (mode développeur Android). Un attaquant peut emprunter d'autres chemins, par exemple, intercepter du trafic HTTPS entre une application mobile et un serveur de système de paiement. Cela est possible car dans la plupart des cas, le serveur du système de paiement génère des commandes et les envoie au terminal mPOS. Pour protéger l'application mobile de l'interception de HTTPS, tous les fournisseurs des terminaux testés par nous utilisent l'épinglage SSL.
La figure ci-dessous montre un exemple de paiement initialisé intercepté par deux méthodes différentes. Nous avons pu intercepter le trafic HTTPS à l'aide de l'attaque de l'homme du milieu et nous avons activé le mode de débogage. Le montant de la transaction est donné sous forme non cryptée. La valeur 0100 correspond à 1,00 £.
Paiement initialisé effectué à l'aide du terminal mPOSAprès avoir intercepté le trafic HTTPS, nous pouvons modifier le montant de la transaction. Ensuite, vous devez recalculer la somme de contrôle. Après cela, nous pouvons envoyer la valeur modifiée du montant au serveur du système de paiement pour confirmer la transaction. Nous avons trouvé cinq terminaux qui sont vulnérables aux modifications de quantité dans les opérations de bande magnétique.
Le fournisseur | Constructeur | Lecteur | Région |
---|
Résumé | | AIR1 E001 | L'Europe |
iZettle | Datacs | YRWCRONE | L'Europe |
Carré | Miura | Miura M010 | Les USA |
| Miura | Miura M010 | Les USA |
Paypal | | | |
Carré | Carré | Carré | USA / Europe |
| | Lecteur de bande magnétique (S4) | |
Terminaux mPOS vulnérables à la falsification de montantUn vendeur sans scrupules peut inciter un titulaire de carte à confirmer une transaction pour un montant beaucoup plus élevé. Pendant l'opération, le vendeur affiche un montant sur l'écran du lecteur, mais en même temps, un montant plus important est envoyé au fournisseur du terminal mPOS pour confirmation. Cette attaque est illustrée dans la figure ci-dessous.
À gauche: le montant envoyé au serveur du système de paiement (1,23 £). À droite: le montant que voit le titulaire de la carte (1 £)Cette vulnérabilité affecte les terminaux qui prennent en charge les opérations sur bande magnétique. Pendant les opérations, le terminal envoie uniquement des données Track2 cryptées; l'opération elle-même n'est pas certifiée. Ce vecteur d'attaque ne fonctionnera pas si l'opération est effectuée conformément à la norme EMV, car dans de telles opérations, les informations sur le montant sont stockées à l'intérieur du cryptogramme. Les paiements sans contact PayPass et payWave qui prennent en charge les modes hérités (PayPass MAGSTRIPE et PayWave MSD) n'offrent pas ce niveau de protection, car les informations sur le montant ne sont pas non plus protégées par un cryptogramme.
Pour comprendre l'ampleur du problème, il suffit de rappeler que moins de 50% des transactions aux États-Unis sont effectuées selon la norme EMV. De plus, les limites d'une opération avec l'utilisation de bandes magnétiques vérifiées par nos prestataires en Europe et aux USA sont incroyablement élevées et s'élèvent respectivement à 50 000 € et 50 000 $.
Cette attaque peut être évitée en utilisant un contrôle cryptographique de l'intégrité des champs de montant et de devise et en comparant le montant et la devise de l'opération sur le lecteur avec le montant confirmé par le fournisseur de services. Il est important de noter que la norme PCI DSS (version actuelle 3.2.1), qui régit le stockage, le traitement et la transmission des données de la carte, n'exige pas de tels contrôles dans le cas d'opérations utilisant la bande magnétique. Une opération ne nécessite que le transfert de données Track2.
Exécution de code à distance
Deux des terminaux que nous avons testés se sont révélés vulnérables à l'exécution de code à distance. L'exploitation de cette vulnérabilité fournit à un attaquant un accès complet au système d'exploitation du terminal. Une fois que l'attaquant aura obtenu un accès complet au système d'exploitation, il pourra intercepter les données Track2 avant le cryptage ou activer le mode non crypté (pour envoyer une commande) sur le clavier du terminal pour intercepter le code PIN.
Le fournisseur | Constructeur | Lecteur | Région |
---|
Carré | Miura | Miura M010 | Les USA |
Paypal | Miura | Miura M010 | Les USA |
Liste des terminaux vulnérables à l'exécution de code à distance
Vidéo Nyan Cat sur l'écran du terminal Miura M010. L'exécution de code à distance donne à un attaquant un accès complet au système d'exploitation du terminalProtection physique
Les mécanismes de sécurité physique de la plupart des terminaux mPOS sont assez fiables. Le lecteur de cartes magnétiques Square (S4) ne garantit pas le niveau de sécurité et de sophistication technologique des lecteurs de cartes sans contact et à puce. Cependant, cela devrait être une exigence standard de l'appareil, qui est fournie au vendeur gratuitement. Les terminaux restants offrent le niveau de protection physique approprié, des mécanismes de support pour empêcher la falsification et d'autres mesures pour empêcher le piratage du matériel.
Mécanismes anti-falsification
Les systèmes anti-falsification aident à empêcher l'ouverture du terminal avec une perceuse et d'autres outils. Lorsque vous essayez d'ouvrir les disjoncteurs et que l'appareil cesse de fonctionner. De plus, la plupart des lecteurs fonctionnent sur la base de normes propriétaires. Sans accès à la documentation du développeur, il est impossible d'obtenir des informations précieuses en ouvrant physiquement l'appareil.
Unité intérieure IZettle YRWCRONE
Système de détection de sabotage IZettle YRWCRONEConclusion
Nous avons constaté que plus de la moitié des terminaux mPOS sont vulnérables aux attaques, alors qu'en général, tous les fournisseurs de terminaux mPOS que nous avons analysés se sont révélés vulnérables. Nous avons enregistré de nombreux problèmes de sécurité graves, en particulier des vulnérabilités pour exécuter des commandes arbitraires, truquer des sommes et exécuter du code à distance.
Les mécanismes de protection des terminaux matériels dans la plupart des cas sont fiables et développés. Cependant, d'autres aspects, tels que ceux liés à l'application mobile et à la procédure d'enregistrement, sont beaucoup moins protégés.
Les développeurs de terminaux mPOS mettent l'accent sur la facilité d'enregistrement et d'utilisation des appareils. Ce sont des éléments clés du modèle économique, mais il ne tient pas compte du fait que la réduction des barrières à l'entrée sur le marché des paiements par carte devrait s'accompagner d'une augmentation significative de la sécurité. Il ne fait aucun doute que la fraude des vendeurs restera un problème sérieux pour les fournisseurs de terminaux mPOS. Une approche sérieuse de la sécurité doit être développée, y compris la vérification lors de l'enregistrement et un contrôle strict des paiements.
Auteurs : Lee-Ann Galloway, Timur Yunusov, Artem Ivachev, Mark Kearney, Alexey Stennikov | Technologies positives