Un fournisseur de services de portefeuille de crypto-monnaie desservant plus de 2 millions d’utilisateurs dans le monde et gérant environ 3 milliards de dollars de Bitcoin contenait des vulnérabilités d’API liées à la façon dont les connexions d’authentification externes ont été mises en œuvre.
Les bogues sont corrigés, mais la découverte illustre les enjeux élevés impliqués dans la mise en œuvre sécurisée des API, disent les chercheurs – et les difficultés à le faire.
Selon un rapport partagé avec Dark Reading de Salt Labs, la division de recherche de Salt Security, une série de vulnérabilités (les CVE n’ont pas été attribués) auraient pu permettre aux acteurs de prendre le contrôle d’une grande partie du compte d’un utilisateur dans le système.
Cette vulnérabilité aurait donné à un acteur malveillant un accès complet, ainsi que la possibilité d’effectuer plusieurs actions financières au nom de cet utilisateur, y compris le transfert de fonds vers n’importe quel endroit de son choix.
« Une fois que nous nous sommes connectés avec succès aux comptes d’un utilisateur, nous pouvons potentiellement utiliser toutes les fonctionnalités disponibles pour l’utilisateur, y compris le transfert de fonds, l’affichage de l’historique des transactions, la visualisation des données personnelles de l’utilisateur, qui peuvent inclure le nom, l’adresse, le numéro de compte bancaire et d’autres données précieuses », notent les chercheurs de Salt dans le rapport.
Le premier bug concernait la fonctionnalité commune trouvée dans les applications mobiles qui permettent aux utilisateurs de se connecter à l’aide d’un service externe, comme Apple ID, Google, Facebook ou Twitter. Dans ce cas, les chercheurs ont examiné l’option « se connecter avec Google » – et ont constaté que le mécanisme de jeton d’authentification pouvait être manipulé pour accepter un identifiant Google escroc comme étant celui de l’utilisateur légitime.
Le deuxième bug a permis aux chercheurs de contourner l’authentification à deux facteurs. Un mécanisme de réinitialisation du code PIN s’est avéré manquer de limitation de débit, ce qui leur permet de monter une attaque automatisée pour découvrir le code envoyé au numéro de téléphone mobile ou à l’adresse e-mail d’un utilisateur.
« Ce point de terminaison ne contient aucune sorte de limitation de débit, de blocage d’utilisateur ou de désactivation temporaire de compte. Fondamentalement, nous pouvons maintenant exécuter l’ensemble des options de code PIN 999 999 et obtenir le code PIN correct en moins de 1 minute », selon les chercheurs.
Chaque problème de sécurité à lui seul a fourni des capacités limitées à l’attaquant, selon le rapport. « Cependant, un attaquant pourrait enchaîner ces problèmes pour propager une attaque très percutante, telle que le transfert de la totalité du solde du compte sur son portefeuille ou son compte bancaire privé. »
Yaniv Balmas, vice-président de la recherche chez Salt, explique que deux facteurs ont rendu ces vulnérabilités percutantes et dangereuses.
« Premièrement, il est très facilement exploitable, et deuxièmement, une exploitation réussie pourrait entraîner le vol de millions de dollars – ou plus – sur des comptes personnels et professionnels », dit-il.
Implémentations d’API médiocres : une leçon importante sur les objets
Comme indiqué, le fournisseur de portefeuille a rapidement corrigé les implémentations d’API en question, mais il y a des points importants à retenir de l’analyse, explique Balmas. Après tout, comme l’ensemble du marché de la crypto-monnaie est relativement jeune, la plupart des services de ce domaine dépendent fortement des API dans le cadre de leurs technologies de base.
« Je n’ai encore vu aucun service de crypto-monnaie qui ne publie pas une sorte d’API pour faciliter les interactions automatisées avec ses fonctionnalités », dit-il. « Cette dépendance aux API fait à son tour apparaître un autre problème. »
Il explique que les API sont conçues pour être des interfaces dynamiques et en évolution rapide pour les fonctionnalités métier de base, ce qui est évidemment très positif du point de vue de l’utilisateur.
« Cependant, ce même comportement ouvre la porte à de nombreux problèmes de sécurité et vulnérabilités qui peuvent passer inaperçus », dit-il. « Par conséquent, nous constatons très fréquemment dans nos efforts de recherche un état relativement médiocre de la sécurité des API, parfois avec de graves implications commerciales. »
La sécurité des API est une préoccupation majeure à mesure que l’utilisation augmente
Alors que le développement agile gagne en popularité, les organisations se tournent vers les API, ce qui se traduit par des surfaces d’attaque plus larges. plus vulnérable à l’exploitation par des acteurs de la menace. Un analyse récente par la société de sécurité des applications Imperva et la société de stratégie de risque Marsh McLennan des violations impliquant des API ont révélé que les entreprises américaines font face à des pertes combinées de 12 à 23 milliards de dollars en 2022.
Pendant ce temps, une marche rapport de Salt Labs a constaté que les attaques d’API ont augmenté de 681% au cours de la dernière année, le trafic d’attaques d’API augmentant de plus de deux fois le taux de trafic non malveillant. Encore une fois, une grande partie de cela pourrait être due à une erreur d’implémentation et de configuration: en mai, par exemple, les chercheurs de la Shadowserver Foundation découvert
que 380 000 API Kubernetes les serveurs étaient ouverts à l’Internet public, représentant 84 % de toutes les instances mondiales de l’API Kubernetes observables en ligne.
La surface d’attaque de l’API doit être suivie, surveillée
Balmas note un autre problème avec les API et leur nature est qu’une fois qu’un écosystème d’API devient grand, il devient très difficile d’avoir une maîtrise complète de celui-ci. Avec plusieurs applications et services internes publiant chacun leurs propres ensembles uniques d’API, il est parfois très difficile pour les responsables de savoir quelles API sont publiées à un moment donné.
« C’est pourquoi la visibilité et les mesures de consolidation des API sont parfois la toute première étape – et la plus importante – pour sécuriser les API d’une entreprise », explique-t-il.
Balmas recommande que les plates-formes de crypto-monnaie, et tout autre utilisateur d’API lourd, commencent à accorder plus d’attention à la surface d’attaque d’API qu’elles exposent.
« Cette nouvelle surface d’attaque devrait être soigneusement suivie et surveillée », ajoute-t-il. « Les services qui le sous-tendent devraient être examinés plus attentivement sur une base périodique pour s’assurer qu’aucun nouveau problème de sécurité n’a été introduit, et une surveillance comportementale devrait être appliquée sur le trafic en cours pour repérer les anomalies qui pourraient se produire dans le but de trouver et d’exploiter les vulnérabilités. »