Qu'est-ce que la sécurité des API ?
Découvrir les solutions de sécurité des API IBM Découvrez comment IBM CIO a réduit ses coûts d'API
Illustration représentant la sécurité des API

Publication : 20 novembre 2023
Contributeurs : Chrystal China, Michael Goodwin

Qu'est-ce que la sécurité des API ?

La sécurité des API fait référence aux pratiques et procédures qui protègent les interfaces de programmation des applications (API) contre les abus, les attaques de bots malveillants et d'autres menaces pour la cybersécurité. Il s'agit d'un sous-ensemble de la sécurité web, mais qui se concentre spécifiquement sur les API, qui sont de plus en plus essentielles à la gestion informatique des entreprises.1

Les API sont devenues les éléments constitutifs de la transformation numérique, permettant aux entreprises d'offrir des services aux développeurs et partenaires externes. Étant donné que les API orchestrent la communication et l'échange de données entre les applications, elles peuvent faciliter des expériences utilisateur plus connectées, étendre la portée globale de l'entreprise et favoriser une innovation technologique qui repousse les limites. Les API optimisent également l'intégration des services afin que les entreprises puissent s'adapter rapidement à l'évolution du marché et aux demandes des clients.

Mais la prolifération des API s'accompagne souvent de problèmes de sécurité.

Les API se situent entre les ressources informatiques d'une organisation et les développeurs de logiciels tiers, ou entre les ressources informatiques et les individus, et fournissent des données et des informations aux terminaux. Les terminaux étant exposés au monde extérieur, ils peuvent faire des API une cible lucrative pour divers types d'attaques. 

L'évolution de la sécurité des API  

L'évolution de la gestion et de la sécurité des API est intrinsèquement liée à l'évolution des API elles-mêmes. Les premières API étaient principalement axées sur la communication inter-processus au sein d'un système unique. La sécurité (ou l'absence de sécurité) était donc moins préoccupante, car la communication était limitée à une seule machine.

Cependant, avec l'avènement de l'internet des objets (IoT) et des architectures de microservices natives du cloud, les API se sont développées pour permettre une communication transparente et un routage des appels entre les applications et dans les environnements DevOps. Une API moderne et de haute qualité, par exemple, representational state transfer (REST) et simple object access protocol (SOAP), orchestrera l'intégration des applications, spécifiera les formats de données et dictera les types d'appels, les procédures et les conventions.

Les API Web (GraphQL, REST API et SOAP API, en particulier) ont changé la donne en élargissant leurs fonctionnalités pour inclure des capacités d'intégration de grande envergure à travers une myriade de réseaux complexes.

Mais comme les technologies avancées dépendent fortement des terminaux API pour leur fonctionnalité, les entreprises et les équipes de sécurité doivent mettre en œuvre des mesures de sécurité robustes pour protéger les données et les services web et, en fin de compte, tirer le meilleur parti des ressources informatiques.

Vulnérabilités des API

S'ils ne sont pas correctement sécurisés, les terminaux API peuvent permettre à des pirates d'obtenir un accès non autorisé à des données sensibles, de perturber les opérations de service, ou les deux, avec des conséquences potentiellement dévastatrices.En voici les exemples les plus courants :

  • Attaques basées sur l’authentification : lorsque des pirates tentent de deviner ou de voler les mots de passe des utilisateurs ou d'exploiter des mécanismes d'authentification faibles pour accéder aux serveurs API.

  • Attaques de l'homme du milieu : lorsqu'un acteur malveillant vole ou modifie des données (par exemple, des identifiants de connexion ou des informations de paiement) en interceptant des demandes ou des réponses d'API.

  • Injections de code/attaques par injection : lorsque le pirate transmet un script nuisible (pour insérer de fausses informations, supprimer ou révéler des données, ou perturber les fonctionnalités de l'application) par le biais d'une requête API, en exploitant les faiblesses des interpréteurs API qui lisent et traduisent les données.

  • Erreurs de configuration : lorsque des informations sensibles sur l'utilisateur ou des détails du système sont exposés en raison de configurations par défaut inadéquates, d'un partage de ressources inter-origines (CORS) trop permissif ou d'en-têtes HTTP incorrects.

  • Attaque par déni de service (DoS) : ces attaques envoient des dizaines de requêtes API pour planter ou ralentir le serveur. Les attaques par déni de service peuvent souvent être le fait de plusieurs pirates simultanément, dans ce que l'on appelle une attaque par déni de service distribué (DDoS).

  • Les attaques de type Broken object level authorization (BOLA) : se produisent lorsque des cybercriminels manipulent les identifiants d'objets aux terminaux de l'API afin d'élargir la surface d'attaque et d'obtenir un accès non autorisé aux données de l'utilisateur. Les attaques BOLA sont particulièrement fréquentes, car la mise en œuvre de contrôles d'autorisation appropriés au niveau des objets peut être difficile et prendre du temps.

 

Bonnes pratiques en matière de sécurité des API  

Dans une économie numérique dynamique, les API sont essentielles à la réactivité des entreprises, mais leur nature ouverte peut présenter des risques importants pour la sécurité des données. Les violations de la sécurité des API ont entraîné des fuites massives de données, même pour de grandes entreprises réputées comme John Deere, Experian et Peloton.2

Et dans un environnement technologique aussi mondialisé, les violations de la sécurité menacent tous les grands fournisseurs de services, quel que soit leur secteur d'activité ou leur emplacement géographique. Par exemple, en 2022, une attaque API contre la société de télécommunications australienne Optus a révélé les noms, les numéros de téléphone, les détails du passeport et les informations relatives au permis de conduire de près de 10 millions de clients.3

Ces incidents soulignent l'importance de la protection des API et ont accéléré le développement de stratégies et d'outils complets de sécurité des API.

La mise en œuvre de protocoles de sécurité rigoureux pour les API protège les données, les applications et les services que les terminaux d'API exposent, tout en garantissant leur disponibilité pour les utilisateurs légitimes. La sécurité des API ne se limite pas à la protection des terminaux. Elle privilégie également la sécurité des interactions réseau telles que les transmissions de données, les demandes des utilisateurs et les communications inter-applications tout au long du cycle de vie de l'API.

Voici quelques-unes des solutions de sécurité API les plus courantes pour renforcer les infrastructures informatiques :

Protocoles d'authentification et d'autorisation

L'authentification est le processus de vérification de l'identité d'un utilisateur, d'un système ou d'un processus. Dans le contexte des API, elle fait référence à l'utilisation de protocoles d'authentification des utilisateurs tels que OAuth 2.0, les clés API et les spécifications JWT pour s'assurer qu'un demandeur est bien celui qu'il prétend être. 

L'autorisation, quant à elle, est le processus de vérification de l'accès d'un utilisateur authentifié. Une fois l'utilisateur authentifié, les contrôles d'accès basés sur les rôles doivent limiter l'accès de l'utilisateur aux ressources dont il a besoin ou qu'il demande.

Chiffrement

Avec le chiffrement, le texte brut et d'autres types de données sont convertis d'une forme lisible en une version codée qui ne peut être décodée que par une entité disposant d'une clé de déchiffrement. En utilisant des technologies de chiffrement telles que la sécurité de la couche de transport (TLS), la connexion SSL et les protocoles de chiffrement TLS, les équipes peuvent s'assurer que le trafic de l'API ne sera pas intercepté ou modifié par des acteurs malveillants ou des utilisateurs non autorisés.

Validation des entrées

Les protocoles de validation des entrées protègent les API contre les données malveillantes, telles que les attaques par injection SQL et les scripts intersites, en s'assurant que les entrées répondent à certains critères (longueur, type, format, plage, etc.) avant d'être traitées. L'utilisation de pare-feu d'applications web (WAF) et la validation de schémas XML ou JSON peuvent aider les équipes de sécurité à automatiser les processus de validation, en analysant de manière préventive les requêtes entrantes et en bloquant le trafic malveillant avant qu'il ne soit transmis au serveur.

Limitation du débit

La limitation du débit sécurise les ressources de l'API contre les attaques par force brute et les attaques DoS en limitant le nombre d'appels qu'un utilisateur ou une adresse IP peut effectuer dans un laps de temps donné. Elle garantit que toutes les demandes d'API sont traitées rapidement et qu'aucun utilisateur ne peut submerger le système de demandes nuisibles.

Quotas et régulation

À l'instar de la limitation du débit, la régulation restreint le nombre d'appels API reçus par un système. Cependant, au lieu d'opérer au niveau de l'utilisateur/client, elle agit au niveau du serveur/réseau. Elle limite et contingente la bande passante du système dorsal de l'API en limitant l'API à un certain nombre d'appels, de messages, ou les deux, par seconde.

En-têtes de sécurité

Les en-têtes de sécurité peuvent être particulièrement efficaces pour prévenir les attaques par détournement de clics. L'en-tête « content-security-policy », par exemple, indique au navigateur les ressources qu'il peut demander au serveur. L'en-tête « x-content-type-option » empêche les navigateurs d'essayer de modifier les types de contenu MIME-sniff, et l'en-tête « strict-transport-security » impose des connexions sécurisées (HTTP sur SSL/TLS) au serveur.

API Gateways

L'installation d'API Gateways est l'un des moyens les plus simples de restreindre l'accès aux API et d'ajouter un niveau supplémentaire de sécurité au réseau, en particulier dans le cas d'API ouvertes. Un API Gateway agit comme un point d'entrée unique pour toutes les demandes d'API qu'un système reçoit, en normalisant les interactions API et en offrant des fonctions de sécurité telles que la mise en cache, l'analyse, la composition d'API, la limitation de débit, le chiffrement, l'enregistrement et le contrôle d'accès.

Audit et journalisation

La tenue de journaux d'audit complets et à jour ainsi que leur révision fréquente permettent aux entreprises de suivre l'accès aux données et leur utilisation, et d'enregistrer chaque demande d'API. Compte tenu de la complexité des écosystèmes d'API, le suivi de l'activité des API peut nécessiter beaucoup de travail, mais les procédures d'audit et d'enregistrement peuvent faire gagner du temps aux équipes qui doivent revenir sur leurs pas à la suite d'une violation de données ou d'un manquement aux règles de conformité.

Gestion des erreurs

La gestion proactive des erreurs dans les environnements API peut empêcher les cybercriminels de révéler des informations sensibles sur les processus API. Idéalement, toute erreur de l'API renvoie des codes d'état HTTP qui indiquent de manière générale la nature de l'erreur, fournissant ainsi un contexte suffisant pour que les équipes puissent comprendre et résoudre le problème sans risquer une exposition excessive des données.

Surveillance et correction des API

Comme pour toute application logicielle ou tout système, une surveillance et une maintenance vigilantes en temps réel sont essentielles pour maintenir la sécurité des API. Surveillez toute activité inhabituelle sur le réseau et mettez à jour les API avec les derniers correctifs de sécurité, les corrections de bogues et les nouvelles fonctionnalités.

Les organisations devraient également adopter des normes de sécurité opportunes telles que les recommandations de sécurité des API de l'Open Web Application Security Project (OWASP). La liste OWASP des 10 meilleures solutions de sécurité pour les API, par exemple, offre un cadre permettant de comprendre et d'atténuer les menaces les plus critiques et les plus courantes en matière de sécurité des API, telles que l'authentification erronée, l'affectation de masse et la falsification des requêtes côté serveur.

Version et documentation

Chaque nouvelle version d'un logiciel API est accompagnée de mises à jour de sécurité et de corrections de bogues qui comblent les lacunes de sécurité des versions antérieures. Mais sans pratiques de versions adéquates, les utilisateurs peuvent accidentellement (ou intentionnellement) déployer une version obsolète de l'API et mettre en danger des données sensibles. Des pratiques attentives en matière de version et de documentation permettent aux entreprises d'accélérer le développement des API et d'éliminer progressivement les anciennes versions sans perturber les services, en poussant les utilisateurs vers des itérations plus récentes et plus sûres.

Par exemple, si une équipe découvre une violation de la sécurité dans la version 1 d'une API, elle peut la corriger dans la deuxième. Grâce à la gestion des versions, les équipes chargées de la sécurité peuvent encourager les utilisateurs à passer de la version 1 à la version 2 à leur rythme, tout en indiquant clairement dans la documentation relative à la version que la version 1 présente une faille de sécurité connue. 

Tests de sécurité

Les tests de sécurité exigent que les développeurs soumettent des requêtes standard à l'aide d'un client API afin d'évaluer la qualité et l'exactitude des réponses du système. La réalisation de tests de sécurité réguliers pour identifier et combler les lacunes de sécurité aide les équipes à corriger les vulnérabilités de l'API avant que les auteurs d'attaques n'aient la possibilité de les exploiter.

Solutions connexes
IBM API Connect

IBM API Connect est une solution de gestion complète du cycle de vie des API qui permet de créer, de gérer et de sécuriser les API de manière cohérente, de les rendre plus accessibles et de les monétiser, contribuant ainsi à alimenter la transformation numérique des API hébergées localement et dans différents clouds. 

Explorer API Connect

IBM API Connect : cas d'utilisation de la sécurité des API

IBM API Connect offre une gamme de fonctionnalités vous permettant de sécuriser, de contrôler et d’arbitrer l’accès à vos API par l’authentification et l’autorisation (utilise les protocoles OAuth, OpenID Connect et des services tiers). Déployez vos API n’importe où, d’une zone DMZ à un emplacement partagé avec vos applications cloud natives et vos microservices, en protégeant l’accès au moment de l’exécution, où que vous soyez.

Découvrir le cas d'utilisation de la sécurité des API

Noname Advanced API Security for IBM

Renforcez la sécurité des API dans toute votre entreprise grâce à des fonctionnalités avancées basées sur l'IA. IBM, l’un des leaders de la gestion des API et des passerelles d’applications, s’associe à Noname Security, un leader de la sécurité des API, pour offrir des fonctionnalités avancées de sécurité des API. Cette solution conjointe vous aidera à atteindre de nouveaux niveaux de confiance en matière de sécurité.

Découvrir Noname Advanced API Security for IBM
Ressources Aperçu IBM API Connect

Maximisez la valeur des API pour stimuler votre activité numérique avec une solution complète de gestion des API.

Tutoriels sur IBM API Connect

Ces tutoriels fournissent des instructions pratiques qui aident les développeurs à apprendre à utiliser les technologies dans leurs projets.

Hub de la communauté IBM Integration

Venez pour trouver des réponses. Restez pour bénéficier de meilleures pratiques. Tout ce qui manque, c'est vous.

Passez à l’étape suivante

IBM API Connect est une solution de gestion des API sécurisée et intuitive qui permet de créer, gérer, sécuriser, socialiser et monétiser les API de manière cohérente, contribuant ainsi à alimenter la transformation numérique sur site et dans les clouds. Vos clients et vous-même pouvez ainsi créer vos applications numériques et stimuler l’innovation en temps réel. Dans le cadre d’IBM Cloud Pak for Integration, IBM API Connect est également disponible avec d’autres fonctionnalités qui peuvent vous aider à automatiser la modernisation des applications et la gestion des API dans le cadre de votre transition vers le cloud.

Explorer IBM API Connect
Notes de bas de page

 Research Brief: The Urgency of Addressing API Security in an Application Security Program (lien externe à ibm.com), Enterprise Strategy Group, 16 octobre 2023.

2  On the Radar: Wib secures APIs throughout their full lifecycles (lien externe à ibm.com), Omdia, 1er septembre 2023.

3 The next big API security breach looms: here’s how to prepare (lien externe à ibm.com), SC Magazine, 19 octobre 2023.