Les smartphones dotés de la technologie NFC ont permis aux chercheurs de pirater les systèmes de points de vente et les guichets automatiques, obtenant ainsi l'exécution de codes personnalisés sur certains d'entre eux.
Bien qu’ils soient l’un des seuls moyens de retirer de l’argent de votre compte bancaire en déplacement, les guichets automatiques ont notoirement rencontré de nombreux problèmes de sécurité au fil des ans. Même aujourd’hui, rien n’empêche un pirate informatique de placer un skimmer de carte sur un guichet automatique, car la plupart des gens ne remarqueront jamais sa présence. Bien entendu, il y a eu au fil des années un certain nombre d’autres attaques plus complexes que cela, mais dans l’ensemble, vous devez toujours être prudent lorsque vous utilisez un guichet automatique. Il existe désormais une nouvelle façon de pirater un guichet automatique, et tout ce qu'elle nécessite est un smartphone avec NFC.
Comme Filaire rapports, Josep Rodríguez est chercheur et consultant chez IOActive, une société de sécurité basée à Seattle, Washington, et il a passé l'année dernière à rechercher des vulnérabilités dans les lecteurs NFC utilisés dans les guichets automatiques et les systèmes de points de vente. De nombreux guichets automatiques dans le monde vous permettent de saisir votre carte de débit ou de crédit pour saisir votre code PIN et retirer de l'argent, plutôt que de vous obliger à l'insérer dans le guichet automatique lui-même. Bien que cela soit plus pratique, cela résout également le problème de la présence d'un skimmer de carte physique sur le lecteur de carte. Les paiements sans contact sur les systèmes de point de vente sont également omniprésents à ce stade.
Piratage des lecteurs NFC
Rodriquez a créé une application Android qui donne à son téléphone le pouvoir d'imiter les communications par carte de crédit et d'exploiter les failles du micrologiciel des systèmes NFC. En agitant son téléphone devant le lecteur NFC, il peut enchaîner plusieurs exploits pour faire planter des appareils de point de vente, les pirater pour collecter et transmettre des données de carte, modifier la valeur des transactions et même verrouiller les appareils avec un message de ransomware.
De plus, Rodriguez affirme qu'il peut même forcer au moins une marque anonyme de distributeur automatique à distribuer de l'argent, bien que cela ne fonctionne qu'en combinaison avec des bugs qu'il a trouvés dans le logiciel du distributeur automatique. C'est appelé "jackpot", pour lequel les criminels ont tenté de nombreuses manières au fil des années d'accéder à un guichet automatique afin de voler de l'argent liquide. Il a refusé de préciser la marque ou les méthodes en raison d'accords de non-divulgation avec les vendeurs de guichets automatiques.
"Vous pouvez modifier le firmware et changer le prix à un dollar, par exemple, même lorsque l'écran indique que vous payez 50 dollars. Vous pouvez rendre l'appareil inutile ou installer une sorte de ransomware. Il y a beaucoup de possibilités ici", » dit Rodriguez à propos des attaques au point de vente qu'il a découvertes. "Si vous enchaînez l'attaque et envoyez également une charge utile spéciale à l'ordinateur d'un guichet automatique, vous pouvez jackpoter le guichet automatique - comme un retrait d'argent, simplement en touchant votre téléphone."
Source: Josep Rodríguez
Les fournisseurs concernés incluent ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo et un fournisseur de guichet automatique anonyme, et tous ont été alertés il y a entre 7 mois et un an. Cependant, la plupart des systèmes de point de vente ne reçoivent pas de mises à jour logicielles ou le font rarement, et il est probable que nombre d'entre eux nécessitent un accès physique pour ce faire. Il est donc probable que nombre d’entre eux restent vulnérables. "Corriger physiquement autant de centaines de milliers de distributeurs automatiques est quelque chose qui prendrait beaucoup de temps", dit Rodríguez.
Pour démontrer les vulnérabilités, Rodriguez a partagé une vidéo avec Filaire le montrant agitant un smartphone devant le lecteur NFC d'un distributeur automatique de Madrid, provoquant l'affichage d'un message d'erreur sur la machine. Il n'a pas montré l'attaque par jackpot, car il ne pouvait la tester légalement que sur des machines obtenues dans le cadre des conseils en sécurité d'IOActive, ce qui violerait alors leur accord de non-divulgation. Rodríguez a demandé Filaire de ne pas publier la vidéo par crainte de poursuites judiciaires.
Les résultats sont "excellente recherche sur la vulnérabilité des logiciels exécutés sur des appareils embarqués", » déclare Karsten Nohl, fondateur de la société de sécurité SRLabs et pirate informatique, qui a examiné le travail de Rodriguez. Nohl a également mentionné qu'il existe quelques inconvénients pour les voleurs du monde réel, notamment le fait qu'un NFC piraté le lecteur permettrait uniquement à un attaquant de voler les données de la carte de crédit à bande magnétique, pas le code PIN ou les données EMV puces. L’attaque du jackpot ATM nécessite également une vulnérabilité dans le micrologiciel ATM, ce qui constitue un obstacle important.
Même ainsi, avoir accès pour exécuter du code sur ces machines est une faille de sécurité majeure en soi et constitue souvent le premier point d'entrée dans tout système, même s'il ne s'agit que d'un accès au niveau utilisateur. Une fois que vous avez dépassé la couche de sécurité externe, il arrive souvent que les systèmes logiciels internes soient loin d'être aussi sécurisés.
Le PDG et scientifique en chef de Red Balloon, Ang Cui, a été impressionné par les résultats. "Je pense qu'il est très plausible qu'une fois que vous avez exécuté du code sur l'un de ces appareils, vous puissiez obtenir directement au contrôleur principal, car cette chose est pleine de vulnérabilités qui n'ont pas été corrigées depuis plus d'un décennie," dit Cui. "De là," il ajoute, "vous pouvez absolument contrôler le distributeur de cassettes" qui détient et libère de l’argent aux utilisateurs.
Exécution de code personnalisé
La possibilité d'exécuter du code personnalisé sur n'importe quelle machine constitue une vulnérabilité majeure et donne à un attaquant la possibilité de sonder les systèmes sous-jacents d'une machine pour trouver davantage de vulnérabilités. La Nintendo 3DS en est un excellent exemple: un jeu appelé Ninja cubique était l’un des premiers moyens d’exploiter la 3DS et d’exécuter des homebrews. L'exploit, baptisé "Ninjhax", a provoqué un débordement de tampon qui a déclenché l'exécution de code personnalisé. Alors que le jeu lui-même n'avait qu'un accès au système au niveau utilisateur, Ninjhax est devenu la base d'autres exploits pour exécuter un firmware personnalisé sur la 3DS.
Pour simplifier: un débordement de tampon est déclenché lorsque le volume de données envoyées dépasse le stockage alloué pour ces données, ce qui signifie que les données excédentaires sont alors stockées dans des régions mémoire adjacentes. Si une région mémoire adjacente peut exécuter du code, un attaquant peut en abuser pour remplir le tampon avec données inutiles, puis ajoutez du code exécutable à la fin de celles-ci, où il sera lu dans les fichiers adjacents. mémoire. Toutes les attaques par débordement de tampon ne peuvent pas exécuter du code, et beaucoup feront simplement planter un programme ou provoqueront un comportement inattendu. Par exemple, si un champ ne peut prendre que 8 octets de données et qu'un attaquant force la saisie de 10 octets, alors les 2 octets supplémentaires à la fin déborderaient dans une autre région de la mémoire.
Lire la suite: « PSA: si votre PC exécute Linux, vous devez mettre à jour Sudo maintenant »
Rodriguez note que des attaques par débordement de tampon sur les lecteurs NFC et les appareils de point de vente sont possibles, car il en a acheté un grand nombre sur eBay au cours de l'année dernière. Il a souligné que beaucoup d'entre eux souffraient de la même faille de sécurité: ils ne validaient pas la taille des données envoyées via NFC depuis une carte de crédit. En créant une application qui envoyait des données des centaines de fois plus volumineuses que ce à quoi le lecteur s'attend, il était possible de déclencher un débordement de tampon.
Quand Filaire a contacté les entreprises concernées pour obtenir leurs commentaires, ID Tech, BBPOS et Nexgo n'ont pas répondu aux demandes de commentaires. L’ATM Industry Association a également refusé de commenter. Ingenico a répondu dans un communiqué que les mesures d'atténuation de sécurité signifiaient que le débordement de tampon de Rodriguez ne pouvait que faire planter les appareils, et non obtenir l'exécution de code personnalisé. Rodriguez doute qu'ils auraient réellement empêché l'exécution du code, mais n'a pas créé de preuve de concept à démontrer. Ingenico a déclaré que "compte tenu des inconvénients et de l'impact pour nos clients", il publiait quand même un correctif.
Verifone a déclaré avoir trouvé et corrigé les vulnérabilités des points de vente en 2018 avant qu'elles ne soient signalées, bien que cela montre seulement que ces appareils ne sont jamais mis à jour. Rodriguez dit qu'il a testé ses attaques NFC sur un appareil Verifone dans un restaurant l'année dernière, constatant qu'il restait toujours vulnérable.
"Ces vulnérabilités sont présentes dans les micrologiciels depuis des années et nous utilisons quotidiennement ces appareils pour gérer nos cartes de crédit et notre argent." dit Rodríguez. "Ils doivent être sécurisés." Rodriguez prévoit de partager les détails techniques de ces vulnérabilités lors d'un webinaire dans les semaines à venir.