Alors que les entreprises généralisent l’usage des API dans leurs systèmes d’information, l’attaque par leur biais est amenée à devenir la cause n°1 des fuites de données dans les années qui viennent. Face à cette menace, quels moyens pour sécuriser les portefeuilles d’API ?
Fin 2018, on apprenait que Facebook avait été victime d’une faille de sécurité sur l’une de ses API pendant une douzaine de jours en septembre. Aucun contrôle d’identification n’était réalisé sur les accès à cette API si bien que les photos personnelles de 6,8 millions d’utilisateurs Facebook ont été en accès libre à tous pendant quelques jours.
La transformation numérique pousse à l’ouverture des SI
Une faille qui pose question. Une telle négligence de la part d’informaticiens aussi en pointe que ceux de Facebook est alarmante alors que les entreprises sont en train de revoir l’architecture interne de leur système d’information et adoptent toutes une architecture qui voit leurs applications et sources de données exposées en interne et parfois sur Internet sous la forme d’API. Elles sont donc potentiellement exposées à une faille de sécurité du même ordre que celle de Facebook. Rappelez-vous, quelques mois plus tôt les données d’un client du Marketing Cloud de Salesforce ont pu être lues et modifiées par d’autres clients pendant quelques jours via une API défaillante… Des bugs sans doute moins visibles que ceux d’un site Web et qui font désormais des API une cible de choix pour les pirates afin d’accéder à des informations confidentielles. Le Gartner estime même que les fuites de données via API seront plus fréquentes que celles réalisées via les sites Web d’ici 2022.
La problématique ne touche pas uniquement les startups internet. Le virage pris par les entreprises vers l’ouverture de leurs systèmes d’information et la mise à disposition d’API en interne auprès de leurs partenaires, clients et grand public est lourd de sens en termes de cybersécurité. Bon nombre des applications concernées sont enfouies au cœur du SI des entreprises et sont ainsi exposées à des tiers. C’est notamment le cas des banques européennes qui, avec la directive PSD2 relative aux services de paiement vont ouvrir leurs SI, notamment les données des comptes client, à des tiers, à des FinTech qui souhaiteront proposer des services à valeur ajoutée à leurs clients.
L’API Management au cœur du dispositif de sécurité
Afin de gérer le cycle de vie de leurs API, qu’il s’agisse de leur mise en ligne, de la gestion de leurs différentes versions et des autorisations d’accès, les entreprises mettent en œuvre des plateformes spécialisées, les API Gateway ou API Management Platforms. Parmi les leaders de ce marché, Google/Apigee, CA Technologies, MuleSoft, RedHat ou encore les français Axway et Moskitos.
Ces solutions sont toutes dotées de fonctions dédiées à la sécurité, comme l’explique Bertrand Masson, CEO de Moskitos, éditeur de la plateforme Crosscut: « L’API Management centralise les accès aux systèmes d’information, centralise bien évidemment la sécurité des API. Disposer ainsi d’un guichet unique présente des avantages et des inconvénients. Toutes les API sont déclarées sur la plateforme ce qui permet de centraliser l’authentification des consommateurs de ces API, une gestion de leurs droits, un rôle très important d’une plateforme d’API Management. »
Outre le chiffrement des flux, la plateforme d’API management assure le contrôle d’accès et implémente des fonctions de Threat Protection en vérifiant que le flux entrant n’intègre pas l’une des attaques référencées par l’OWASP (Open Web Application Security Project). Ces plateformes d’API Management offrent bien évidemment leurs propres outils d’authentification pour autoriser ou refuser l’accès à une API, mais elles viennent surtout s’interfacer aux services IDaaS et plateformes de fédération d’identité mises en œuvre par les entreprises. « Généralement, chez un client grand compte, les équipes sécurité vont privilégier leur architecture de fédération d’identité, avec une gestion des autorisations au sein de l’Active Directory de l’entreprise et nous héritons de ces informations via la fédération d’identités », ajoute l’expert de la gestion d’API.
Autre fonctionnalité apportée par une offre d’API Management telle que Crosscut, la capacité pour un Product Owner de mettre en ligne son API sans avoir à demander à son RSSI de revoir le paramétrage du firewall. En fonction des règles de sécurité prédéfinies, la solution d’API Management crée de manière automatisée un canal de communications sur le firewall afin de rendre les API accessibles depuis le Cloud. Le gain en termes d’agilité est appréciable pour les équipes DevOps.
Portail et serveur d’API Management constituent une cible de choix
Revers de la médaille de cette centralisation des flux sur une plateforme unique, le portail et le serveur d’API Management constituent une cible de choix pour le pirate qui souhaiterait torpiller les applications d’une entreprise, notamment en menant une attaque de type DDoS sur cette plateforme. « Des audits réguliers de la plateforme et surtout la simulation d’attaques par des hackers éthiques est un moyen de protéger la plateforme contre des attaques qui chercheraient à exploiter une faille de sécurité » assure le CEO de Moskitos. « Outre la prévention des attaques, il faut aussi se préparer à ce qu’une attaque puisse réussir et se mettre en capacité de détecter et réagir le plus rapidement possible. L’API Management permet de poser des alarmes via ce que l’on appelle « le Plan Management » : on définit des plans de consommation pour les API et on détecte toute consommation anormale via des technologies d’IA et on ferme l’accès à une API au cas où. Une API habituellement sollicitée 10 fois par heure et qui va être appelée 1 million de fois en une minute va voir l’API Gateway fermer l’accès jusqu’à ce qu’un administrateur évalue la situation. »
Autre brique clé dans la sécurisation d’un portefeuille d’API, le WAF (Web Application Firewall). Il se place en frontal des API ou de la plateforme d’API Management et fonctionne comme un Reverse proxy. Chef de produit chez Rohde & Schwarz Cybersecurity, l’éditeur allemand qui a racheté le spécialiste de la sécurité applicative DenyAll en 2017, Edouard Viot explique : « D’une manière générale, lorsqu’on parle « d’API Abuse », d’attaque sur les API, la plus grosse erreur est de faire confiance au logiciel client. Même s’il s’agit d’une application mobile, le pirate peut analyser son trafic réseau, que ce soit pour tricher sur son score à un jeu, mais aussi sur une application B2B pour modifier un prix, accéder aux données d’autres clients. »
Protections API et sites web : les différences
Souvent, la protection des API est une fonctionnalité venue s’ajouter à des fonctions de protection des sites Web. L’expert pointe quelques différences : « Protéger des API et des sites Web présente quelques différences. Certaines vulnérabilités qui existent sur un site Web n’ont pas beaucoup de sens sur des API. Ainsi, l‘injection de code JavaScript des attaques Cross-Site Scripting (XSS) n’a pas d’effet sur les API car il n’y a pas de navigateur Web pour interpréter ce code. Par contre, d’autres vulnérabilités Web, comme l’injection SQL, existent aussi côté API. »
Dans ses recommandations d’architecture, Amazon Web Services place le WAF au centre de la cybersécurité des API.
Pour les entreprises dont le nombre d’API ne justifie pas l’investissement dans une plateforme d’API Management, le WAF tel que celui de Rohde & Schwarz Cybersecurity dispose de briques de gestion d’identifié assurant l’authentification des appelants. Il analyse aussi le contenu des requêtes adressées aux API. « Notre Web Application Firewall est doté de moteurs qui protègent contre les attaques Web, mais nous avons aussi développé des mécanismes de protection spécifiques aux API, soit pour les API développées par l’entreprise, soit des API non maîtrisées par l’entreprise avec un « parsing » de la donnée entrante de n’importe quel format, qu’il s’agisse de XML, REST, SOAP, Json, et évaluer si la donnée envoyée correspond bien à la donnée attendue. » L’éditeur travaille aujourd’hui sur le support de nouveaux protocoles utilisés par l’IoT, notamment MQTT, afin de sécuriser les API auxquelles on accède par les objets connectés.
Enfin, il faut veiller à ce que chaque brique de sécurité expose ses données de log au SIEM afin de permettre aux analyses de sécurité d’intervenir ou même une solution d’orchestration de sécurité de type SOAR (Security Orchestration Automation and Response) pour réagir immédiatement à une attaque car les outils de sécurisation doivent eux-mêmes être dotés d’API pour pouvoir être pilotés par logiciel…
George McGregor,
vice-président d’Imperva en charge du marketing produit
La sécurisation d’un portefeuille d’API
porte sur 3 points
« Le premier volet de la sécurisation des API consiste en l’analyse des requêtes afin de valider les accès en fonction de profils préétablis. C’est notamment le rôle du Web Application Firewall que de valider le format des requêtes qui sont adressées aux API. Le deuxième point dont il faut savoir tenir compte ce sont les attaques de type DDoS qui peuvent porter sur les API et qui peuvent avoir un impact important sur le business de l’entreprise. Un service de protection et de mitigation contre ce type d’attaque est indispensable. Un troisième volet, en plein développement, consiste à mettre en œuvre des algorithmes d’analyse et d’intelligence artificielle afin de détecter des patterns, des modèles d’attaques dans les appels qui sont réalisés sur les API. »