My IBM Se connecter S’abonner

Optimiser les API grâce aux bonnes pratiques pour la sécurité des API

6 novembre 2023

5 minutes de lecture

Les entreprises continuent leur transition vers des infrastructures informatiques numérisées et cloud. Les systèmes numériques offrent une flexibilité, une évolutivité et une rapidité sans précédent par rapport à leurs équivalents plus traditionnels sur site.

Cependant, les infrastructures numériques dépendent fortement des interfaces de programmation des applications (ou API) pour faciliter les transferts de données (entre les applications logicielles et entre les applications et les utilisateurs finaux). De par leur rôle de framework back-end pour la plupart des applications web et mobiles, les API sont connectées à Internet, et donc sujettes aux attaques. Et comme de nombreuses API stockent et transfèrent des données sensibles, elles nécessitent des protocoles de sécurité robustes et des pratiques de surveillance rigoureuses pour éviter que les informations ne tombent entre de mauvaises mains.

Expliquer la sécurité des API

La sécurité des API fait référence à l’ensemble des pratiques et des produits utilisés par une organisation pour empêcher les attaques malveillantes et les utilisations abusives des API. Compte tenu de la complexité des écosystèmes d’API, du développement des plateformes IdO et du volume considérable d’API utilisées par les organisations (environ 20 000 en moyenne (lien externe à ibm.com)), maîtriser la sécurité des API est de plus en plus difficile, mais aussi de plus en plus nécessaire.

Les API agissent comme des intermédiaires : elles se situent, par exemple, entre les ressources informatiques d’une organisation et les développeurs de logiciels tiers, entre les ressources informatiques et les individus, et elles fournissent des données et des informations aux points de terminaison. C’est dans ces points de terminaison que les données des entreprises et des utilisateurs sont vulnérables aux attaques et aux risques de sécurité, notamment :

  • Attaques qui ciblent 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 type « 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 et/ou des réponses entre les 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 d’API, en exploitant les faiblesses des interpréteurs API qui lisent et traduisent les données.

  • Attaque par déni de service (DoS) : ces attaques envoient des dizaines de requêtes d’API pour faire planter ou ralentir le serveur. Les attaques DoS peuvent souvent être le fait de plusieurs pirates, dans ce que l’on appelle une attaque par déni de service distribué (DDoS).
  • Attaques BOLA (« Broken Object Level Authorization ») : elles se produisent lorsque des cybercriminels manipulent des identifiants d’objets aux points de terminaison des API pour accéder sans autorisation aux données des utilisateurs. Ce problème survient lorsqu’un point de terminaison d’API permet à un utilisateur d’accéder à des dossiers auxquels il ne devrait normalement pas accéder. 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.

En raison du caractère changeant de l’environnement informatique actuel, ces cyberattaques et bien d’autres encore sont inévitables. Et avec la prolifération des cybercriminels et l’accès à des technologies de piratage de plus en plus sophistiquées, la mise en œuvre de protocoles de sécurité des API pour la sécurité des données d’entreprise va devenir incontournable.

Bonnes pratiques pour la sécurité des API

Les API permettent aux entreprises de rationaliser l’intégration entre les systèmes et le partage de données, mais cette interconnectivité s’accompagne d’une exposition accrue aux cyberattaques. En fait, la plupart des piratages d’applications mobiles et web ciblent les API pour accéder aux données de l’entreprise ou des utilisateurs. Les API piratées ou compromises peuvent entraîner des violations de données catastrophiques et des interruptions de service qui mettent en danger les données sensibles, qu’elles soient personnelles, financières ou médicales.

Heureusement, les progrès dans la sécurité des API permettent de prévenir ou d’atténuer l’impact des cyberattaques. Voici 11 pratiques et programmes courants de sécurité des API que les organisations peuvent mettre en œuvre pour protéger leurs ressources informatiques et les données des utilisateurs :

  1. Les passerelles d’API. L’installation d’une passerelle d’API est l’un des moyens les plus simples de restreindre l’accès à l’API. Les passerelles créent un point d’entrée unique pour toutes les requêtes d’API et agissent comme une couche de sécurité en appliquant des politiques de sécurité, ce qui permet de normaliser les interactions avec les API et offre des fonctionnalités telles que la transformation des requêtes/réponses, la mise en cache et la journalisation.
  2. Authentification et autorisation robustes. L’utilisation de protocoles d’authentification standard, comme OAuth 2.0, les clés API, JWT, OpenID Connect et bien d’autres, garantit que seuls les utilisateurs authentifiés peuvent accéder aux API de l’entreprise. En outre, la mise en place de contrôles d’accès basés sur les rôles empêche les utilisateurs d’accéder à des ressources pour lesquelles ils ne disposent d’aucune autorisation.
  3. Protocoles de chiffrement. La connexion SSL et les protocoles de chiffrement TLS, comme HTTP Secure (HTTPS), permet aux équipes de sécuriser la communication entre l’API et les applications clientes. Le HTTPS chiffre toutes les transmissions de données réseau et empêche ainsi tout accès non autorisé et toute falsification. Le chiffrement des données au repos, comme les mots de passe stockés, peut renforcer la protection des données sensibles lorsqu’elles sont stockées.
  4. Pare-feux d’application web (« web application firewalls » ou WAF). Les WAF offrent une couche de protection supplémentaire aux API d’entreprise, en particulier contre les attaques courantes qui ciblent les applications web (attaques par injection, scripts intersites (« cross-site scripting » ou XSS) et falsification des requêtes intersites (« cross-site request forgery » ou CSRF)). Un logiciel de sécurité de type WAF peut analyser les requêtes API entrantes et bloquer le trafic malveillant avant qu’il n’atteigne le serveur.
  5. Validation des données. De la même manière que les gens filtrent les appels téléphoniques et évitent d’ouvrir des pièces jointes provenant d’expéditeurs inconnus, les organisations doivent filtrer tout ce que leurs serveurs acceptent et rejeter toute transmission de données ou de contenu volumineux (y compris celles provenant de consommateurs). L’utilisation de la validation de schémas XML ou JSON et la confirmation des paramètres peuvent également être utiles pour prévenir les attaques.
  6. Limitation du débit. Il protège les ressources contre les attaques par force brute et les attaques DoS en limitant le nombre de demandes qu’un utilisateur ou une adresse IP peut faire dans un certain laps de temps. Les limitations de débit garantissent que les demandes seront traitées rapidement et qu’aucun utilisateur ne peut submerger le système avec des demandes nuisibles.
  7. Tests de sécurité. Les tests de sécurité exigent que les développeurs soumettent des requêtes standard à l’aide d’un client d’API afin d’évaluer la qualité et l’exactitude des réponses du système. La conduite de tests réguliers de sécurité des API (tests de pénétration, tests d’injection, tests d’authentification de l’utilisateur, tests d’altération des paramètres, etc.) pour identifier et traiter les vulnérabilités aide les équipes à corriger les vulnérabilités avant que les attaquants ne les exploitent.
  8. Surveillance des API et applications de correctifs. Comme pour n’importe quel système ou application logicielle, une surveillance et une maintenance régulières font partie intégrante du maintien de 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. La surveillance doit également inclure la connaissance des vulnérabilités courantes des API et la préparation face à ces vulnérabilités, comme celles qui figurent sur la liste des 10 principales vulnérabilités de l’Open Web Application Security Project (OWASP).
  9. Audit et journalisation. La tenue de journaux d’audit complets (qui inclut une mise à jour et une révision fréquente) permet aux organisations de suivre tous les accès aux données des utilisateurs et leur utilisation, et d’enregistrer chaque requête d’API. La mise en œuvre de procédures d’audit et de journalisation permet de gagner du temps lorsque les équipes doivent faire l’inventaire de leurs actions à la suite d’une violation de données ou d’un manquement à la conformité. Et comme ils fournissent un enregistrement du comportement normal du réseau, les journaux d’audit peuvent également faciliter la détection des anomalies.
  10. Quotas et throttling. À l’instar de la limitation du débit, le « throttling » restreint le nombre de requêtes reçues par votre système. Cependant, au lieu d’agir au niveau de l’utilisateur ou du client, le throttling fonctionne au niveau du serveur/réseau. Les limites du throttling et les quotas protègent la bande passante du système back-end de l’API en limitant l’utilisation de l’API à un certain nombre d’appels ou de messages par seconde. Quels que soient les quotas, il est important d’évaluer le volume d’appels système au fil du temps, car l’augmentation du volume peut être le signe d’un abus et/ou d’une erreur de programmation.
  11. Version et documentation. Chaque nouvelle version d’un logiciel d’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. En l’absence de pratiques de documentation appropriées, les utilisateurs peuvent accidentellement déployer une version obsolète ou vulnérable de l’API. La documentation doit être complète et cohérente, et inclure des paramètres d’entrée clairement indiqués, des réponses attendues et des exigences de sécurité.

IA et sécurité des API

Parmi les mesures de sécurité des API existantes, l’IA est apparue comme un bon candidat pour renforcer les API. Par exemple, les entreprises peuvent exploiter l’IA pour détecter les anomalies dans les écosystèmes d’API. Une fois qu’une équipe a établi une base de référence du comportement normal de l’API, elle peut utiliser l’IA pour identifier les déviations du système (comme des schémas d’accès inhabituels ou des requêtes à haute fréquence), signaler les menaces potentielles et répondre immédiatement aux attaques.

Les technologies d’IA peuvent également permettre la modélisation automatisée des menaces. En utilisant les données historiques des API, l’IA peut créer des modèles de menace pour prédire les vulnérabilités et les menaces avant que des acteurs malveillants ne puissent les exploiter. Si une organisation est confrontée à un volume élevé d’attaques qui ciblent l’authentification, elle peut utiliser l’IA pour installer des méthodes avancées d’authentification des utilisateurs (comme la reconnaissance biométrique), ce qui complique l’accès non autorisé des pirates.

En outre, les outils assistés par l’IA peuvent automatiser les protocoles de test de sécurité des API et identifier ainsi les failles de sécurité et les risques de manière plus efficace que les tests manuels. Et à mesure que les écosystèmes d’API se développent, les protocoles de sécurité basés sur l’IA peuvent également se développer. L’IA permet aux entreprises de surveiller et de sécuriser plusieurs API simultanément, ce qui rend la sécurité des API aussi évolutive que les API elles-mêmes.

Maîtrisez la sécurité des API avec IBM

On ne saurait trop insister sur l’importance de la sécurité des API. À mesure que nous progressons dans l’ère de la transformation numérique, la dépendance à l’égard des API ne fera que croître. Il ne fait aucun doute que les acteurs malveillants suivront la tendance et inventeront une pléthore de nouvelles menaces de sécurité. Cependant, avec des outils des gestion des API comme IBM API Connect, les organisations peuvent s’assurer que leurs API sont gérées, sécurisées et conformes tout au long de leur cycle de vie.

La sécurisation des API n’est jamais une tâche ponctuelle. Les entreprises doivent plutôt la considérer comme un processus continu et dynamique qui nécessite vigilance, diligence et ouverture aux nouvelles technologies et solutions. En combinant les pratiques traditionnelles de sécurité des API et les nouvelles approches basées sur l’IA telles que Noname Advanced API Security for IBM, les ressources informatiques restent aussi sécurisées que possible, ce qui protège tant le consommateur que l’entreprise.

 

Auteur

Chrystal R. China

Writer, automation & ITOps