Qu'est-ce qu'un contrôle de sécurité des API ?

Cette liste de contrôle de sécurité des API va au-delà d'un simple ensemble de meilleures pratiques en matière de sécurité des API et est basée sur le cycle de vie des API. Elle commence par la planification, se poursuit par le développement et les tests, et se termine par le fonctionnement et la protection. Il s'agit essentiellement d'un guide pour la création d'un processus sécurisé de gestion du cycle de vie du développement logiciel (SDLC) pour vos API.

À mesure que les organisations se centrent sur le cloud et le digital, leurs API (interfaces de programmation d'applications) gagnent en ampleur, ce qui augmente leur valeur. Désormais, les API :

  • opèrent au cœur des applications et des services répondant aux besoins de vos clients et partenaires, y compris des dernières innovations en IA ;
  • sont intégrées dans des environnements cloud, des services que vos développeurs utilisent aux charges de travail que vos ingénieurs réhébergent (« lift-and-shift ») ;
  • représentent elles-mêmes des sources de revenus, en contribuant à la croissance de votre entreprise et à la création d'un écosystème de développeurs.

Cependant, si vous êtes comme les 84 % des professionnels de l'informatique et de la sécurité qui ont connu des incidents de sécurité des API, vous avez également constaté par vous-même que les API représentent un risque croissant. Les API exposées ou mal configurées sont nombreuses, non protégées et faciles à compromettre. De plus, les API contiennent des instructions sur la façon d'y accéder et de récupérer les données qui les sous-tendent. C'est le rêve d'un pirate informatique. Il n'y a pas de « sécurité par l'obscurité ». En outre, les API rassemblent presque toujours des groupes disparates au sein de l'entreprise. Ces groupes peuvent ne pas être en mesure de coordonner facilement la sécurité, même s'ils le souhaitent. Le nombre d'API « hors de la nature » complique encore davantage la sécurité. De nombreuses organisations ne connaissent souvent même pas toutes leurs API et omettent de les gérer. Ces API dormantes, ou zombies, représentent des vecteurs d'attaque majeurs. 

Les enjeux de la sécurité des API sont élevés. Les attaques contre les API peuvent compromettre le chiffre d'affaires, la résilience et la conformité réglementaire d'une entreprise. La plupart des organisations ne disposent pas encore des contrôles et des capacités adéquats pour prévenir les attaques d'API. Certes, de nombreuses entreprises ont des outils API dans leur pile existante, y compris des passerelles d'API et des pare-feux d'applications Web, mais bien que ces outils puissent offrir une certaine protection, ils ne sont pas conçus pour fournir le degré de visibilité, de sécurité en temps réel et de tests continus nécessaire pour se défendre contre les attaques d'API actuelles.

Pour ces raisons, nous avons développé cette liste de contrôle de sécurité des API comme une approche plus rigoureuse et méthodique de la sécurisation des API. À chaque étape du cycle de vie, quatre contrôles recommandés permettent une stratégie de sécurité des API robuste. Les étapes de ce processus de gestion SDLC sécurisé sont représentées dans le tableau suivant :

Forfait

  • Rôles et responsabilités (gouvernance)
  • Règles, normes et spécifications
  • Mesures de sécurité
  • Gestion du cycle de vie

Développement

  • Formation des développeurs
  • Environnement de développement (IDE, Dépôt)
  • Documentation
  • Suivi et résolution des défauts

Tester

  • Test du code source (statique et dynamique) 
  • Tests de pénétration 
  • Examen de conformité
  • Gestion des modifications et des versions

Gestion

  • Inventaire des API 
  • Inventaire des données sensibles 
  • Identification des vulnérabilités 
  • Gestion des configurations

Protection

  • Collecte de journaux ou de trafic 
  • Détection des menaces et réponse 
  • Mouvement des données sensibles 
  • Blocage et correction

Forfait

La sécurité des API commence bien avant que n'importe qui commence à écrire du code. Au stade de la planification, il est essentiel de réfléchir aux questions de gouvernance liées notamment aux rôles, aux responsabilités et aux politiques. La planification est également le meilleur moment pour déterminer les mesures de sécurité, ainsi que les processus de gestion du cycle de vie.

Liste de contrôle de sécurité pour la planification de l'API :

  • Gouvernance, rôles et responsabilités. Avez-vous clairement défini les rôles et responsabilités nécessaires pour sécuriser votre parc d'API ? Cela inclut à la fois les responsabilités au niveau de l'exécution pour les développeurs et les ingénieurs de sécurité, et les responsabilités de supervision de la direction qui traitent des décisions en matière de risques et de surveillance des règles.
  • Règles, normes et spécifications. Avez-vous développé une bibliothèque de règles, de normes et de spécifications d'API qui décrivent les attentes minimales requises pour la conception, le développement, les tests et les opérations sécurisés de vos API ?
  • Mesures de sécurité. Avez-vous mis en place une série définie de mesures de risques de sécurité des API afin de pouvoir mesurer et gérer les risques liés aux API ? Vos parties prenantes peuvent utiliser ces mesures de risque liés aux API comme boucle de rétroaction pour améliorer en permanence la gestion des risques de sécurité des API.
  • Gestion du cycle de vie. Votre entreprise gère-t-elle des API en tant que ressources logicielles avec une propriété définie tout au long de leur cycle de vie utile ? Il est recommandé de se concentrer particulièrement sur le déploiement initial, la gestion continue des changements et la mise hors service des actifs.

Développement

En cours de développement, les règles établies lors de la phase de planification prennent vie. Les développeurs sont responsables de la création d'API sécurisées, travaillant en partenariat avec d'autres groupes de parties prenantes.

Liste de contrôle de sécurité lors du développement d'API :

  • Formation. Avez-vous formé vos développeurs d'API et d'autres membres du personnel aux responsabilités en matière de gestion des API (passerelle, opérations de sécurité, etc.) sur les aspects de la sécurité des API pertinents pour leurs rôles ?
  • Environnement de développement (par exemple, IDE, dépôt). Votre code source API est-il développé et géré dans des référentiels de code source approuvés et gérés ? Les développeurs utilisent-ils des environnements de développeurs gérés ou approuvés ?
  • Documentation. Vos API sont-elles documentées avec précision et évaluées pour assurer leur conformité aux spécifications/normes ? Votre documentation d'API est-elle mise à jour lorsque les schémas d'API sont modifiés ? La documentation est-elle disponible pour examen et test/vérification indépendants ?
  • Suivi et résolution des erreurs. Les défaillances ou vulnérabilités de code liées à la sécurité sont-elles classées par ordre de priorité et suivies pour être résolues ?

Tester

Une fois développées, les API doivent subir un cycle de test complet. Comme pour la liste de contrôle des tests de sécurité des applications, les éléments suivants décrivent les contrôles de sécurité à mettre en œuvre dans votre programme de test des API.

Liste de contrôle de sécurité pour le test des API :

  • Test du code source. Soumettez-vous votre code source d'API à des tests de sécurité des applications statiques (SAST) et des tests de sécurité des applications dynamiques (DAST) avant de le promouvoir en production ?
  • Tests de pénétration. Vos points de terminaison d'API sont-ils testés avant la migration vers la production dans des conditions de réplication de la gestion des API, du réseau et des variables de stratégie de l'environnement de production, dans la mesure du possible ?
  • Examen de conformité. Vos API sont-elles évaluées en termes de conformité aux normes et spécifications avant la migration vers la production (par exemple, conformité au RGPD, à la norme PCI) ? Ce processus doit inclure la conformité au positionnement et à la configuration de l'architecture/du réseau (par exemple, protection WAF, positionnement du réseau).
  • Gestion des modifications et des versions. Déployez-vous ou modifiez-vous des API conformément à une règle de modification informatique ou logicielle bien définie ? Dans l'idéal, les modifications doivent être reflétées avec précision dans l'inventaire des actifs logiciels.

Mesures de sécurité des API dans le développement et les tests

Contrôle des authentifications et des accès : Mettez en œuvre des mécanismes d'authentification robustes, tels que OAuth et les clés d'API, pour sécuriser les points de terminaison d'API pendant le développement et les tests. Assurez-vous que les règles de contrôle d'accès sont appliquées pour empêcher tout accès non autorisé aux données sensibles.

Limitation du débit : Au cours de la phase de test, mettez en œuvre une limitation du débit pour protéger les API contre les abus et les attaques DDoS potentielles. La limitation du débit permet d'éviter les demandes excessives qui peuvent surcharger le système et entraîner un déni de service.

Injection SQL et validation : Test des attaques d'API courantes telles que l'injection SQL. Mettez en œuvre une validation d'entrée stricte pour empêcher les entrées malveillantes de compromettre vos API. Assurez-vous que les données transmises via les API sont nettoyées et validées pour vous protéger contre les attaques par injection.

Gestion

La sécurité des API doit rester en vigueur au fur et à mesure que les API entrent en production. En effet, c'est là que les API ont tendance à se perdre et à se retrouver comme des points de vulnérabilité.

Liste de contrôle de sécurité pour l'utilisation des API :

  • Inventaire des API. Disposez-vous d'un inventaire précis et à jour de tous les points de terminaison d'API, y compris de la documentation d'API ?
  • Inventaire des données sensibles. Votre entreprise conserve-t-elle un inventaire ou un mappage précis et à jour des données sensibles traitées par les points de terminaison d'API ? Plus important encore, savez-vous quels utilisateurs accèdent aux données sensibles ? La gestion des accès est un composant essentiel de la sécurité et de la conformité.
  • Identification des vulnérabilités. Identifiez-vous les vulnérabilités et les zones d'exposition aux risques liés aux API dans votre environnement de production ?
  • Gestion des configurations. Identifiez-vous les vulnérabilités et l'exposition des composants de réseau, de passerelle et de pare-feu qui assurent le courtage et la protection du trafic API ?

Protection

Les systèmes de protection des API doivent rester en place tout au long du cycle de vie des API. Cette charge de travail couvre la collecte des journaux et des informations de trafic, la détection des menaces, les alertes et bien plus encore.

Liste de contrôle pour la protection des API :

  • Collecte de journaux ou d'informations de trafic. Consignez-vous l'activité de l'API et stockez-vous les données pour prendre en charge l'inspection opérationnelle et de sécurité ?
  • Détection des menaces et alertes. Analysez-vous l'activité de l'API afin de détecter toute activité anormale ? Votre processus doit inclure des alertes/signalements associés d'événements anormaux ou abusifs aux équipes opérationnelles et de sécurité applicables.
  • Déplacement de données sensibles. Surveillez-vous le mouvement des données sensibles contenues dans le trafic API ? Ce processus doit inclure l'analyse des flux de données afin de détecter toute utilisation non autorisée ou anormale, avec des alertes/signalements de déplacement de données sensibles vers les équipes chargées de la sécurité et des opérations.
  • Blocage et correction. Bloquez-vous et remédiez-vous au déplacement non autorisé de données sensibles via l'API ou à d'autres utilisations erronées présumées des API ?

Protection des API contre les menaces de cybersécurité

Le paysage actuel des menaces exige une solution complète de sécurité des API qui assure la découverte des API, la gestion de la posture, la protection de la durée d'exécution et les tests de sécurité des API.

1. Découverte des API. Il n'est pas rare d'avoir des API dont personne ne connaît l'existence. La plupart des organisations n'ont que peu ou pas de visibilité sur un pourcentage important de leur trafic API, souvent parce qu'elles supposent que toutes leurs API sont acheminées via une passerelle d'API. Mais ce n'est pas le cas. Sans un inventaire complet et précis, votre entreprise est exposée à toute une série de risques. Capacités de base nécessaires :

  • Localiser et inventorier toutes vos API, indépendamment de leur configuration ou leur type
  • Détecter les API inactives, héritées et zombies
  • Identifier les domaines fantômes oubliés, négligés ou autrement inconnus
  • Éliminer les angles morts et déceler les voies d'attaque potentielles

2. Gestion de la posture des API. Avec un inventaire complet des API en place, il est essentiel de comprendre quels types de données circulent à travers vos API et comment cela affecte votre capacité à vous conformer aux exigences réglementaires. La gestion de la posture des API fournit une vue complète du trafic, du code et des configurations pour évaluer la posture de sécurité des API de votre organisation. Capacités de base nécessaires :

  • Analyser automatiquement l'infrastructure et découvrir les erreurs de configuration ainsi que les risques cachés
  • Créer des workflows personnalisés pour informer les principales parties prenantes des vulnérabilités
  • Identifier les API et les utilisateurs internes capables d'accéder aux données sensibles
  • Attribuer des niveaux de gravité aux problèmes détectés afin de hiérarchiser les mesures correctives

3. Sécurité de l'environnement d'exécution des API. Vous êtes sans doute familier avec le concept de « présomption de violation ». Les violations et les attaques propres aux API atteignent le même degré d'inévitabilité. Pour toutes vos API en production, vous devez être en mesure de détecter et de bloquer les attaques en temps réel. Capacités de base nécessaires :

  • Surveiller la falsification et la fuite de données, les violations de règles, les comportements suspects et les attaques d'API
  • Analyser le trafic API sans modifications supplémentaires du réseau ni agents difficiles à installer
  • Intégrer les flux de travail existants (système de tickets, SIEM, etc.) pour alerter les équipes chargées de la sécurité/des opérations
  • Prévenir les attaques et les utilisations inappropriées en temps réel grâce à une correction partielle ou entièrement automatisée 

4. Tests de sécurité des API. Les équipes de développement d'API sont contraintes de travailler aussi vite que possible. La rapidité est essentielle pour chaque application développée, ce qui facilite l'apparition d'une vulnérabilité ou d'un défaut de conception qui peut ensuite passer inaperçu. Tester les API en cours de développement avant qu'elles ne soient mises en production réduit considérablement les risques et le coût de la correction d'une API vulnérable. Capacités de base nécessaires :

  • Exécuter une large gamme de tests automatisés qui simulent le trafic malveillant
  • Découvrir les vulnérabilités avant que les API n'entrent en production afin de réduire le risque de réussite des attaques
  • Inspecter les spécifications de vos API par rapport aux politiques et règles de gouvernance établies
  • Exécuter des tests de sécurité axés sur les API à la demande ou dans le cadre d'un pipeline CI/CD

Cette approche complète vient compléter les fonctionnalités de protection des API existantes d'une entreprise, notamment :

  • Détection des menaces et prévention des attaques DDoS : Utilisez des outils de cybersécurité pour détecter les attaques d'API potentielles en temps réel. Mettez en œuvre des stratégies pour prévenir les attaques DDoS, telles que la limitation du débit et l'équilibrage de la charge, afin de garantir la disponibilité et la sécurité de vos points de terminaison d'API.
  • Blocage et correction : Mettez en œuvre des mesures automatisées de blocage et de correction pour vous protéger contre les tentatives d'accès non autorisées et l'exposition des données sensibles. Utilisez une combinaison de stratégies WAF, d'authentification et de contrôle des accès pour appliquer la sécurité au niveau de la passerelle d'API.

Il s'agit de contrôles suggérés. Il y a beaucoup à prendre en compte, et en réalité, toutes les entreprises ne couvriront pas tous ces éléments de manière adéquate. Cependant, la liste de contrôle est un moyen précieux d'établir les meilleures pratiques et d'identifier les domaines d'amélioration en matière de sécurité des API. Elle fournit une base utile pour une opération de sécurité des API bien exécutée.

FAQ

La limitation du débit est essentielle pour prévenir les attaques DDoS et protéger les points de terminaison des API contre les demandes excessives. En limitant le nombre de demandes qu'un utilisateur ou un client peut effectuer dans un délai donné, la limitation du débit permet de garantir que vos API restent disponibles et réactives, même en cas de charge importante.

OAuth est un protocole d'authentification largement utilisé qui fournit un accès sécurisé aux API en permettant aux utilisateurs d'accorder l'accès à leurs données sans partager leurs informations d'identification. La mise en œuvre d'OAuth permet de s'assurer que seuls les utilisateurs et les applications autorisés peuvent accéder à vos points de terminaison d'API, réduisant ainsi le risque d'accès non autorisé et de violation des données.

La validation des entrées est une mesure de sécurité critique qui aide à prévenir les attaques API courantes telles que l'injection SQL. En validant et en assainissant les données reçues des utilisateurs et d'autres API, vous pouvez empêcher les entrées malveillantes de compromettre votre application, protéger les données sensibles et préserver l'intégrité de vos API.

Un pare-feu d'application Web (WAF) fournit une couche de protection supplémentaire pour vos API en filtrant et en surveillant les requêtes HTTP. Un WAF peut bloquer le trafic malveillant, protéger contre les menaces courantes telles que l'injection SQL et le cross-site scripting (XSS), et appliquer des stratégies de contrôle d'accès au niveau de la passerelle d'API, ce qui permet de protéger vos API contre diverses menaces de cybersécurité.

Pourquoi les clients choisissent-ils Akamai ?

Akamai est l'entreprise de cybersécurité et de Cloud Computing qui soutient et protège l'activité en ligne. Nos solutions de sécurité leaders du marché, nos informations avancées sur les menaces et notre équipe opérationnelle internationale assurent une défense en profondeur pour protéger les données et les applications des entreprises du monde entier. Les solutions de Cloud Computing complètes d'Akamai offrent des performances de pointe à un coût abordable sur la plateforme la plus distribuée au monde. Les grandes entreprises du monde entier font confiance à Akamai pour bénéficier de la fiabilité, de l'évolutivité et de l'expertise de pointe nécessaires pour développer leur activité en toute sécurité.

Découvrez toutes les solutions de sécurité d'Akamai