Qu’est-ce que la sécurité des API ?
La sécurité des API fait référence à la protection des API par des procédures et des mesures de sécurité qui visent à réduire et à prévenir les menaces et les attaques.
À mesure que les entreprises avancent dans leur transformation numérique, leurs activités reposent de plus en plus sur les API. Cette croissance exponentielle des API a exposé de nombreux systèmes à des violations de données, en grande partie parce que les données sensibles mises à disposition par les API sont attrayantes pour les pirates informatiques. Par conséquent, la sécurité des API est plus importante que jamais pour supprimer les vulnérabilités et les risques de sécurité.
Pourquoi la sécurité des API est-elle importante ?
Les entreprises utilisent des API pour échanger des données et relier des services entre eux, aussi bien pour leurs clients que pour rationaliser leurs processus internes. Les API sont un ensemble de protocoles et de sous-programmes qui permettent aux applications de dialoguer entre elles et d’échanger des informations. De nombreuses API sont composées d’éléments qui agissent en tant que fonctions ou procédures. Les développeurs peuvent utiliser des API pour que leur application appelle d’autres produits et systèmes sans qu'ils aient besoin de savoir comment ces produits et systèmes sont mis en œuvre. Les interfaces de programmation d’applications (API) sont omniprésentes et permettent de partager des services Web partout dans le monde. Par conséquent, la sécurité des API est une priorité absolue pour presque toutes les organisations.
De nombreuses API sont utilisées pour partager des données potentiellement sensibles telles que des informations financières, médicales et personnelles. Cela signifie que le dysfonctionnement, le piratage ou l’exposition d’une API peuvent causer des dommages importants.
En 2021, Gartner prédisait que d’ici 2022, les attaques d’API seraient le vecteur d’attaque le plus fréquent, provoquant des violations de données pour les applications Web d’entreprise. La croissance du nombre d’API et l’augmentation exponentielle de l’utilisation des API ont fait prendre conscience aux entreprises de l’importance de la sécurité des API.
Autrefois, seules les grandes entreprises devaient se préoccuper de la gestion des API, mais aujourd’hui, le besoin de politiques de sécurité informatique appliquées par des passerelles API et d’autres outils est universel. En sécurisant les couches exposées d’une API à l’aide de solutions de sécurité et des meilleures pratiques de gestion des API, vous pouvez limiter les attaques et protéger votre organisation, vos clients, vos données et vos résultats.
Meilleures pratiques de sécurité des API
Il n’y a pas de solution universelle à la sécurité des API. Pour mettre en œuvre une solution appropriée de sécurité des API, il est important de bien comprendre vos API, les API tierces que vous utilisez ainsi que les fonctionnalités et la valeur que vos API apportent à votre organisation. Vous devrez consacrer du temps et des ressources à votre stratégie de sécurité API afin de veiller à ce que vos API soient mises en œuvre et fonctionnent correctement. Peu importe que vos API soient publiques, partagées uniquement avec des partenaires ou même internes. Toutes les API doivent être gérées de manière sécurisée afin de protéger vos données et autres ressources contre les attaques. Tous les membres d’une organisation, du développeur au PDG, doivent être conscients de leur rôle dans la sécurisation des API afin de garantir la réussite de votre stratégie de sécurité des API.
Fondements de la sécurité des API
Regardez la série de vidéos sur les fondements de la sécurité des API, intitulée « API Cybersecurity 101 » de Software AG (en anglais) pour obtenir de plus amples informations sur les meilleures pratiques et les bases de la sécurité des API, mais aussi pour découvrir comment fonctionne la sécurité des API et comment vous pouvez vous munir des outils nécessaires pour protéger et défendre vos systèmes API contre les attaques.
Comment sécuriser son API ?
Il existe tout un éventail d’outils que vous pouvez utiliser afin de mieux protéger votre système contre une attaque via l’API.
Passerelle API
La passerelle API agit comme le noyau de votre sécurité API : elle facilite la création, la maintenance, la surveillance et la sécurisation de vos API. Une passerelle API peut fournir une protection contre toutes sortes d’attaques et permet la surveillance, la journalisation et la limitation du débit des API. Elle peut restreindre le trafic en fonction des adresses IP et d’autres données, gérer la validation des jetons de sécurité, et bien plus encore.
Pare-feu d’application Web
Un pare-feu d’application Web (WAF) se trouve entre le trafic public et votre passerelle ou application API. Les WAF peuvent offrir des protections supplémentaires contre des éléments tels que les robots en fournissant une détection des robots malveillants, la possibilité d’identifier les signatures d’attaque et des renseignements supplémentaires sur les adresses IP. Ils sont utiles, car ils peuvent bloquer le trafic malveillant avant même qu’il n’atteigne votre passerelle.
Applications de sécurité
Divers produits de sécurité autonomes offrent une variété de fonctionnalités dans des catégories telles que la protection en temps réel, l’analyse statique du code et des vulnérabilités, la vérification du temps de compilation ou encore le fuzzing de sécurité.
Sécurité dans le code
La sécurité intégrée dans le code est une forme de sécurité qui est déployée en interne dans l’API ou dans les applications en elles-mêmes. Cependant, les ressources nécessaires pour veiller à ce que toutes les mesures de sécurité soient mises en œuvre correctement dans votre code API sont conséquentes et il peut s’avérer difficile d’appliquer ces mesures de manière cohérente sur l’ensemble de votre portefeuille API.
Intégration avec des produits tiers de sécurité des API
Comme mentionné précédemment, les passerelles API s’intègrent bien à tous les autres composants de sécurité API, tels que les WAF et les produits de sécurité API autonomes. Lorsque vous examinez votre écosystème d’API, il est important de ne pas oublier les intégrations d’API et les API tierces avec lesquelles vous prévoyez d’intégrer vos solutions. Si ces API tierces ou les intégrations elles-mêmes ne sont pas sécurisées, vos données, systèmes internes et API pourraient être compromis.
Les produits de sécurité des API qui complètent la sécurité des passerelles API sont souvent divisés en catégories basées sur le concept du « Shift Left, Shield Right ».
« Shift Left »
L’approche « Shift Left » consiste à porter votre attention sur la sécurité au début du cycle de vie de l’API et à l’intégrer dès la conception et le développement d’une API. Elle aide à protéger votre API à chaque étape du cycle de vie jusqu’à sa mise hors service.
« Shield Right »
L’approche « Shield Right » vise à mettre l’accent sur la protection continue de vos API pendant leur exécution et au-delà. Cela vous permet de fournir une défense contre les attaques inconnues en alliant l’intelligence artificielle et l’apprentissage automatique à des algorithmes et politiques définis.
Défis liés à la sécurité des API
Selon une enquête de Gartner auprès de directeurs informatiques et de cadres techniques, la cybersécurité et la sécurité de l’information sont en tête de liste des investissements prévus en 2022. Ce n’est pas surprenant, car les chefs d’entreprise sont soumis à une pression constante les enjoignant à affecter le budget et les ressources nécessaires à la cybersécurité pour protéger leurs API, leurs données, leurs clients et la réputation de leurs entreprises.
La sécurité des API évolue constamment, il est donc important de savoir que les produits que vous utilisez sont toujours à jour et à même de protéger vos API contre les toutes dernières vulnérabilités. De nombreux chefs d’entreprise éprouvent des difficultés à protéger leurs API, car elles sont omniprésentes. Cependant, consulter la liste des dix principales vulnérabilités de sécurité des API établie par l’OWASP peut vous aider à mieux formuler votre stratégie de sécurité des API.
Qu’est-ce que le top 10 de l’OWASP ?
OWASP, L’OWASP, ou Open Web Application Security Project, est une organisation internationale à but non lucratif dédiée à la sécurité des applications Web. L’OWASP est spécialement connu pour sa liste récurrente des 10 premières vulnérabilités sur le Web. Mais en plus de cette liste, l’organisation a également produit une liste des 10 principaux problèmes de sécurité des API. Les 10 plus grandes vulnérabilités affectant la sécurité des API identifiées par l’OWASP sont décrites ci-dessous. Vous découvrirez également comment protéger vos API contre ces vulnérabilités : il est important de tenir compte de tous ces facteurs lors de la création d’une stratégie de sécurité des API pour votre organisation.
API1:2019 Broken Object Level Authorization (Autorisation au niveau de l’objet rompue)
Lorsqu’un attaquant remplace l’identifiant d’un appel API par un autre et est capable d’accéder aux données, cela s’appelle une autorisation au niveau de l’objet rompue (Broken Object Level Authorization ou BOLA). Par exemple, une BOLA a lieu si l’on remplace /api/bank/account/123 par /api/bank/account/124. Toutes les ressources doivent effectuer des vérifications d’autorisation avant de fournir un accès. Une passerelle API peut fournir le niveau de contrôle d’accès granulaire nécessaire pour éviter les problèmes de contrôle d’accès.
API2:2019 Broken User Authentication (Authentification utilisateur rompue)
Les API qui n’utilisent pas l’authentification sécurisée risquent de voir les attaquants compromettre leur système à l’aide d’une authentification utilisateur rompue. Une passerelle API fournit de nombreux schémas d’authentification qui vous permettent d’atténuer le risque pour vos API.
- OpenID
- Kerberos
- OAUTH
- JWT
- SAML
- Authentification sortante pour le transport et les messages
- Assertions personnalisées
API3:019 Excessive Data Exposure (Exposition excessive des données)
Une API publiera souvent plus de données que celles affichées par le client d’interface utilisateur. Il est important de nettoyer et de filtrer les données exposées par le biais de l’API, car celles-ci pourraient être visualisées par d’autres méthodes. Une passerelle API peut appliquer des fonctionnalités de transformation de données et de masquage de données à vos API.
API4:-2019 Lack of Resources & Rate Limiting (Absence de ressources et limitation du débit)
Si vous ne limitez pas correctement l’accès aux ressources, un attaquant peut facilement surcharger votre système API. En utilisant des fonctionnalités telles que la limitation du débit ou de la bande passante et d’autres stratégies de protection contre les menaces affectant une passerelle API, vous pouvez bloquer les tentatives d’attaques DoS, limiter les charges importantes, arrêter l’injection SQL, surveiller le trafic et empêcher d’autres attaques qui peuvent affecter vos API et autres ressources.
API5:2019 Broken Function Level Authorization (Autorisation au niveau de la fonction rompue)
Comme pour l’autorisation au niveau de l’objet rompue (BOLA), les points de terminaison API utilisés à des fins d’administration doivent utiliser des stratégies d’autorisation sécurisées. Un attaquant peut être en mesure de deviner un point de terminaison administratif, et une API ne peut pas se fier à l’autorisation mise en œuvre par un client. La sécurisation des points de terminaison et des ressources d’administration à l’aide d’une solution de gestion des API protégera vos ressources API contre ce type d’attaques.
API6:2019 Mass Assignment (Affectation en masse)
Lors des efforts visant à transformer et à lier des données provenant de clients, une vulnérabilité d’affectation en masse peut parfois survenir dans les API. Cela se produit lorsqu’une API permet aux données du client d’enregistrer des propriétés que l’utilisateur ne devrait pas être autorisé à mettre à jour. Une bonne pratique pour éviter ce cas de figure consiste à n’utiliser que des listes d’autorisation et non des listes de blocage. L’application de stratégies au sein d’une solution de gestion des API pour définir spécifiquement les propriétés qui peuvent être mises à jour est un excellent moyen de protéger votre API et vos données contre cette menace.
API7:2019 Security Misconfiguration (Configuration incorrecte de la sécurité)
Une configuration incorrecte de la sécurité est probablement l’un des problèmes les plus courants menant à des violations de la sécurité. Bien qu’il soit difficile de se prémunir contre l’erreur humaine, une passerelle API peut transférer une partie de cette responsabilité vers les définitions d’une politique de sécurité partagée à l’échelle mondiale, qui peuvent être appliquées à de grandes collections d’API, évitant ainsi ce problème de sécurité.
API8:2019 Injection
Les attaques d’API peuvent se présenter sous la forme de code malveillant qu’un client force une API à exécuter. Les API doivent souvent interpréter des données inconnues, et cette vulnérabilité peut être exploitée si l’API exécute aveuglément ce code. Il est important de ne jamais faire confiance aux clients API, même parmi vos consommateurs internes. En définissant les types de données dans les schémas et en validant toutes les requêtes au moyen de stratégies de protection contre les menaces définies par votre passerelle API, vous pouvez empêcher les injections SQL et autres attaques par injection.
API9:2019 Improper Asset Management (Gestion incorrecte des ressources)
Les API de production ne sont pas la seule surface que vous devez protéger. Vous exécutez peut-être plusieurs types d’API qui pourraient permettre à un attaquant d’accéder à des données précieuses sur votre système. Vous connaissez probablement très bien certains de ces types d’API :
- API publiques (ou API externes)
- API internes
- API partenaires
- API tierces
- API composites
Voici d’autres types d’API que vous connaissez peut-être moins bien :
- API bêta : des versions non encore passées en production d’API (alpha, bêta, test, staging et autres). Comme elles ne sont pas publiques, elles ne sont pas nécessairement déjà dotées d’interfaces sécurisées. Cela ne veut pas dire que l’on ne peut pas y accéder.
- API fantômes (Shadow API) : (vidéo en anglais) des API internes ou publiques que vous créez et utilisez, mais que vous essayez de maintenir dans l’ombre. Rien n’est jamais « dans l’ombre » pour les pirates. D’ailleurs, vous pouvez d’ores et déjà assumer qu’ils ont infiltré votre pare-feu et qu’ils attendent une occasion de pénétrer dans vos systèmes et vos données.
- API zombies : (vidéo en anglais) des API qui fonctionnent et sont utilisées, mais n’ont pas été mises à jour et recourent probablement à un dispositif de sécurité obsolète. Les vulnérabilités de sécurité récentes dans log4j mettent en évidence le risque d’un code non entretenu et l’impact qu’il peut avoir.
- API Frankenstein : (vidéo en anglais) des API non officielles, piratées et rassemblées pour extraire du contenu de systèmes qui ne fournissent pas de véritables API. Le piratage de solutions qui omettent l’étape essentielle de la mise en œuvre d’un dispositif de sécurité approprié met en péril vos solutions et potentiellement votre entreprise.
API10:2019 Insufficient Logging & Monitoring (Journalisation et surveillance insuffisantes)
La plupart des études montrent que le temps nécessaire pour détecter une violation est de plus de 200 jours, et les violations sont généralement détectées par des parties externes plutôt que par des processus internes ou via la surveillance. Sans une journalisation et une surveillance appropriées, les attaques affectant vos API et vos données peuvent passer inaperçues. La mise en œuvre de politiques de surveillance du trafic par le biais de votre passerelle API peut vous aider à surveiller les performances d’exécution, à imposer des limites pour les invocations de service et à envoyer des alertes en cas de violation des conditions. Il est également important de veiller à ce que vos journaux soient nettoyés de toute information sensible et formatés de manière à ce que d’autres outils de journalisation et de sécurité des API puissent les utiliser et les traiter.
Améliorez la sécurité de vos API dès aujourd’hui
Software AG, l’un des principaux fournisseurs de solutions de gestion et d’intégration d’API dans le monde, comprend parfaitement l’importance de mettre en œuvre une stratégie de sécurité des API de haute qualité.
webMethods de Software AG fournit une solution de sécurité des API qui peut s’intégrer avec d’autres produits de sécurité des API pour respecter la stratégie de cybersécurité de votre organisation. L’approche globale de la gestion des API fournie par webMethods en fait la solution de sécurité idéale pour les API, quels que soient les autres produits que vous utilisez.
Solution de sécurité des API de Software AG
Une solution de sécurité des API efficace commence par une passerelle API bien configurée. La plateforme de gestion des API webMethods fournit une solution robuste pour gérer votre portefeuille d’API en toute sécurité grâce à :
- La limitation du débit pour protéger les ressources API
- La définition du contrôle d’accès sur les API grâce à l’utilisation de stratégies de passerelle
- La surveillance de vos API avec des analyses avancées appliquant l’autorisation par le biais d’OAuth et d’autres méthodes
- La protection contre les attaques DDoS et autres
- Une confidentialité et une intégrité garanties par des normes de cryptographie modernes
Pour en savoir plus sur la façon dont Software AG sécurise vos API et intégrations, rendez-vous ici. Vous pouvez également en apprendre davantage sur la sécurité des API en consultant notre série de vidéos (en anglais) sur YouTube.