Les API sont de plus en plus utilisées pour connecter divers services et systèmes, ce qui en fait une cible privilégiée pour les pirates. La sécurisation des API est essentielle pour protéger les données sensibles, garantir l'intégrité des transactions et maintenir la disponibilité des services.
L'OWASP (Open Worldwide Application Security Project) est une organisation à but non lucratif qui se consacre à l'amélioration de la sécurité des logiciels. L'OWASP fournit des ressources gratuites et ouvertes, notamment des outils, des méthodologies et de la documentation, pour aider les organisations à sécuriser leurs applications Web. L'une des contributions les plus connues de l'OWASP est la liste des 10 principaux risques pour la sécurité des API, qui met en évidence les risques les plus critiques pour la sécurité des API. Une mise à jour de 2023 reflète l'importance croissante et les défis uniques liés à la sécurisation des interfaces de programmation d'applications (API) et des applications Web.
Que sont les API ?
Une API est un ensemble de règles et de protocoles qui permettent à différentes applications logicielles de communiquer entre elles. L'une des principales fonctions des API est de faciliter un échange efficace de données entre les technologies. En tant que technologie fondamentale pour l'architecture d'applications actuelle, les API permettent à une application de demander des informations et d'exploiter les fonctionnalités d'autres applications et services, plutôt que de devoir répliquer ces données ou créer ces services à partir de zéro. Les API sont au cœur de notre monde digital, connectant les applications, les systèmes et les données.
Pourquoi les API sont-elles menacées ?
Quatre-vingt-quatre pour cent des entreprises ont connu des incidents de sécurité des API au cours des 12 derniers mois, selon plus de 1 200 professionnels de l'informatique et de la sécurité qui ont participé à l'étude 2024 sur l'impact de la sécurité des API. Avec l'essor rapide des API dans les architectures d'applications actuelles, les cybercriminels sont de plus en plus attirés par les API comme vecteur d'attaque pour plusieurs raisons.
- Adoption généralisée : Les API sont omniprésentes dans le développement de logiciels actuels, alimentant les applications Web et mobiles, les appareils IoT et les intégrations entre diverses plateformes. Cette adoption généralisée crée de nombreuses nouvelles cibles potentielles pour les pirates et élargit la surface d'attaque d'une entreprise.
- Accès aux données sensibles : Les API traitent des données sensibles, notamment des informations personnelles, des informations financières et des données commerciales propriétaires. En exploitant les API, les pirates peuvent accéder à des informations précieuses et confidentielles qui peuvent être utilisées à des fins d'usurpation d'identité, de fraude financière ou d'espionnage d'entreprise.
- Accès direct aux systèmes back-end : Les API fournissent un accès direct aux systèmes et bases de données back-end, en contournant souvent les interfaces utilisateur traditionnelles. Cet accès direct peut être exploité pour récupérer, modifier ou supprimer des données sans passer par les contrôles de sécurité et les balances habituels des applications front-end.
- Complexité et configurations incorrectes : Les API peuvent être complexes, avec de nombreux points de terminaison et versions, chacun nécessitant une configuration et une sécurité appropriées. Les erreurs de configuration et les failles de sécurité sont courantes, ce qui rend les chances de réussite d'une attaque API assez élevées.
- Automatisation et évolutivité des attaques : Les API peuvent être ciblées à l'aide d'outils et de scripts automatisés, ce qui permet aux attaquants de faire évoluer leurs attaques plus facilement. Les attaques automatisées peuvent rapidement exploiter les vulnérabilités des API telles que les mécanismes d'authentification faibles et d'autres failles de sécurité.
- Intégrations tierces : Les API facilitent souvent les intégrations avec des services tiers, ce qui peut introduire des risques de sécurité supplémentaires. Si un service tiers est compromis, il peut fournir un point d'entrée permettant aux pirates d'exploiter l'API principale.
- Surveillance et journalisation insuffisantes : De nombreuses organisations ne disposent pas de mécanismes de journalisation et de surveillance adéquats pour leurs API, ce qui rend difficile la détection et la réponse en temps réel aux activités suspectes. Cela permet aux pirates d'exploiter les failles de sécurité sans être détectés pendant de longues périodes.
Technologies et concepts clés des API
Pour comprendre les menaces spécifiques dans le Top 10 des risques pour la sécurité des API de l'OWASP, il est utile de passer en revue certains concepts et termes clés liés aux API.
- Points de terminaison d'API : Les points de terminaison d'API sont des URL ou des chemins spécifiques grâce auxquels un client peut accéder à une API. Chaque point de terminaison donne accès à différentes fonctions ou ressources, telles que l'envoi d'un formulaire, la mise à jour d'une entrée de base de données ou la récupération d'informations utilisateur.
- Appels et demandes : Un appel ou une demande d'API est un message envoyé par un client à un point de terminaison d'API pour demander des données ou effectuer une action. Un appel ou une demande d'API génère une réponse à partir du point de terminaison d'API.
- Objets : Les objets sont des structures de données qui représentent des entités réelles telles que des utilisateurs, des produits ou des commandes. Les objets peuvent avoir des attributs/propriétés et des méthodes/fonctions. Dans une API de réseau social, par exemple, un objet peut être un profil utilisateur avec des attributs tels que le nom, l'image de profil et l'e-mail, ainsi que des méthodes telles que l'envoi d'une demande d'ami et la mise à jour du profil.
- Liaison de données : La liaison de données est le processus de mappage des données d'entrée des demandes d'API vers des objets.
- Authentification : L'authentification est le processus de vérification de l'identité d'un utilisateur ou d'un système envoyant une requête API. L'objectif de l'authentification d'entité ou d'utilisateur est de déterminer si l'entité est qui ou ce qu'elle prétend être.
- Autorisation : L'autorisation détermine le niveau d'autorisation d'accès dont bénéficie un utilisateur ou un système authentifié.
La liste des 10 principaux risques pour la sécurité des API de l'OWASP en 2023
La liste des 10 principaux risques pour la sécurité des API de l'OWASP met en évidence les risques de sécurité les plus critiques pour les API.
- API1 : 2023 — Autorisation brisée au niveau de l'objet : Cette menace se produit lorsqu'une API ne restreint pas correctement l'accès à certains objets en fonction des autorisations de l'utilisateur. Cela signifie que des utilisateurs non autorisés peuvent accéder ou modifier des données auxquelles ils ne devraient pas avoir accès, ce qui pourrait exposer des informations sensibles ou permettre des actions malveillantes.
- API2 : 2023 – Violation d'authentification : Une violation d'authentification se produit lorsque les méthodes utilisées pour vérifier l'identité des utilisateurs sont défectueuses. Les pirates peuvent ainsi prendre le contrôle des comptes utilisateur, obtenir un accès non autorisé et effectuer des actions comme s'il s'agissait d'utilisateurs légitimes.
- API3 : 2023 – Autorisation brisée au niveau de la propriété de l'objet : Ce problème se produit lorsque les API ne vérifient pas correctement les autorisations au niveau des propriétés des objets. Il peut permettre aux pirates d'obtenir un accès non autorisé ou de modifier des champs de données spécifiques au sein d'un objet, exposant ainsi des données sensibles ou permettant des actions malveillantes.
- API4 : 2023 — Consommation illimitée des ressources : Les API ont besoin de ressources telles que la bande passante réseau, le processeur, la mémoire et le stockage pour fonctionner. Lorsque les API ne disposent pas des limites adéquates en matière de consommation de ressources, les pirates peuvent submerger l'API en effectuant des requêtes excessives, ce qui entraîne un déni de service ou une augmentation des coûts opérationnels.
- API5 : 2023 — Autorisation brisée au niveau de la fonction : L'interruption de l'autorisation au niveau de la fonction signifie que l'API ne restreint pas correctement l'accès à certaines fonctions ou actions en fonction des rôles d'utilisateur. Cela permet aux utilisateurs d'effectuer des actions qu'ils ne devraient pas être en mesure d'effectuer, telles que l'accès aux fonctions administratives.
- API6 : 2023 – Accès illimité aux flux d'activité sensibles : Les API peuvent exposer des processus métiers, tels que l'achat d'articles ou la publication de commentaires, sans contrôler correctement la manière dont ces fonctions peuvent être utilisées de manière abusive. Les pirates peuvent automatiser l'utilisation abusive de ces fonctionnalités pour nuire à l'entreprise.
- API7 : 2023 – Falsification de requête côté serveur (SSRF) : Une attaque SSRF se produit lorsqu'une API récupère des ressources à partir d'un autre serveur sans valider correctement l'URL fournie par l'utilisateur. Les pirates peuvent exploiter cette fonctionnalité pour que le serveur API envoie des requêtes à des emplacements non souhaités, en contournant les pare-feux ou en accédant aux systèmes internes.
- API8 : 2023 – Configuration inadéquate de la sécurité : Une mauvaise configuration de la sécurité implique des paramètres incorrects ou incomplets dans une API, ce qui la rend vulnérable aux attaques. Cela peut se produire en raison de paramètres par défaut, de correctifs manquants ou de contrôles de sécurité mal configurés qui entraînent des failles potentielles.
- API9 : 2023 — Mauvaise gestion des stocks : Ce risque se produit lorsque les API exposent plus de points de terminaison que nécessaire ou ne disposent pas d'une documentation et d'une gestion des versions appropriées. Les pirates peuvent exploiter des points de terminaison et des versions d'API obsolètes ou non sécurisées que les développeurs auraient peut-être oubliées.
- API10 : 2023 – Consommation d'API non sécurisée : Les développeurs peuvent trop faire confiance aux données provenant d'API tierces et ne pas appliquer les mêmes normes de sécurité que celles utilisées pour les entrées utilisateur. Les pirates peuvent exploiter les vulnérabilités de ces services tiers pour compromettre indirectement l'API.

Menaces supplémentaires
Une version antérieure du projet pour la sécurité des API de l'OWASP comprenait plusieurs types d'attaques et de vulnérabilités supplémentaires qui représentent toujours une menace importante pour les organisations :
- Exposition excessive des données : Une exposition excessive des données se produit lorsque les API fournissent plus de données que nécessaire dans leurs réponses. Cela peut révéler involontairement des informations sensibles aux pirates, même si ces informations ne sont pas directement demandées par l'utilisateur.
- Manque de limitation du débit : Cette menace implique des API qui ne limitent pas le nombre de demandes qu'un utilisateur peut effectuer au cours d'une période donnée. Sans limitation de débit, les pirates peuvent surcharger l'API avec un trop grand nombre de requêtes, ce qui entraîne un déni de service ou l'exploitation d'opérations gourmandes en ressources.
- Affectation en masse : L'affectation en masse se produit lorsque les API lient automatiquement les entrées des requêtes aux objets de programme, ce qui permet aux attaquants de modifier ou de définir des champs de données non souhaités. Cela peut entraîner des modifications non autorisées des données ou des configurations que l'utilisateur ne doit pas pouvoir contrôler.
- Injection : Les failles de type injection surviennent lorsque des données non fiables sont envoyées à un interprète dans le cadre d'une commande ou d'une demande. Par exemple, SQL, NoSQL et les injections de commandes, qui peuvent entraîner le vol, la perte ou la corruption de données en incitant l'API à exécuter des commandes non souhaitées.
- Surveillance et journalisation insuffisantes : Lorsque les administrateurs n'enregistrent pas correctement les journaux et ne surveillent pas correctement les API, les activités suspectes peuvent passer inaperçues, retardant la détection des violations et rendant difficile la réponse efficace aux incidents de sécurité.
- Mauvaise gestion des ressources : Une gestion incorrecte des ressources fait référence à une mauvaise maintenance et surveillance des points de terminaison et des versions d'une API. Cela peut entraîner l'exposition de points de terminaison anciens, obsolètes ou non sécurisés que les pirates peuvent exploiter.
Comment se protéger contre les 10 principaux risques pour la sécurité des API identifiés par l'OWASP
Pour protéger leurs API contre les 10 principaux risques de sécurité des API et autres menaces identifiés par l'OWASP, les équipes informatiques et les équipes de sécurité doivent déployer une stratégie multicouche pour la sécurité des API.
Au cœur de cette approche : le déploiement d'une solution complète de sécurité des API qui offre quatre fonctions clés : Découverte des API, gestion de la posture de sécurité des API, protection de l'exécution et tests de sécurité des API.
Cette approche complète est un complément important aux outils existants d'une entreprise pour gérer et sécuriser les API, tels que les passerelles d'API ou les pare-feux d'application Web (WAF).
Détection des API : 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. De nombreuses API d'une entreprise type ne sont pas gérées (par exemple, des API dormantes oubliées, mais toujours en cours d'exécution et toujours en contact avec des données sensibles). 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
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
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 abus en temps réel grâce à une correction partielle ou entièrement automatisée
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
Remarque : En plus des solutions de sécurité des API, les entreprises peuvent explorer les fonctionnalités de la protection des applications Web et des API (WAAP). Conçue pour identifier et atténuer rapidement les menaces provenant de multiples vecteurs d'attaque, la protection des applications Web et des API (WAAP) étend les protections traditionnelles d'un WAF. Une solution de sécurité des API (avec fonctionnement en tandem du WAF et du WAAP) étend les protections au-delà du pare-feu pour créer la défense la plus robuste possible.
Les entreprises qui cherchent à renforcer leurs approches en matière de sécurité des API peuvent également utiliser les techniques et technologies suivantes.
Authentification et autorisation
- Mettre en œuvre une autorisation précise : Assurez-vous que chaque demande d'API vérifie les autorisations de l'utilisateur pour accéder à des objets spécifiques. Utilisez le contrôle d'accès basé sur les rôles (RBAC) ou le contrôle d'accès basé sur les attributs (ABAC) pour appliquer ces règles.
- Utiliser des mécanismes d'authentification forts : Mettez en œuvre l'authentification multifactorielle (MFA) et utilisez des protocoles sécurisés comme OAuth 2.0 et OpenID Connect pour vérifier les identités des utilisateurs.
- Appliquer des stratégies de mots de passe forts : Exigez des mots de passe complexes et appliquez des stratégies de rotation des mots de passe pour améliorer la sécurité.
Access Control (contrôle d'accès)
- Contrôle d'accès au niveau de la propriété : Appliquez des contrôles d'accès au niveau de la propriété au sein des objets pour vous assurer que les utilisateurs peuvent uniquement accéder aux propriétés pour lesquelles ils disposent d'autorisations ou les modifier.
- Contrôle d'accès au niveau des fonctions : Assurez-vous que l'accès à chaque fonction d'API est restreint en fonction des rôles et autorisations des utilisateurs. Utilisez les principes de moindre privilège pour minimiser l'accès.
Limitation de débit, régulation et surveillance des ressources
- Implémenter la limitation du débit : Définissez des limites sur le nombre de demandes d'API qu'un utilisateur peut effectuer au cours d'une période donnée afin d'éviter l'épuisement des ressources.
- Surveillance et mise à l'échelle des ressources : Surveillez en permanence l'utilisation des ressources et faites évoluer l'infrastructure de manière dynamique pour gérer les pics de trafic légitimes sans compromettre la disponibilité.
Validation et nettoyage
- Validez et nettoyez les entrées utilisateur : Assurez-vous que les URL ou autres entrées des requêtes côté serveur sont correctement validées et nettoyées pour empêcher les requêtes malveillantes.
- Validez et nettoyez les réponses de l'API : Traitez les données provenant d'API tierces avec la même minutie que les données saisies par les utilisateurs en les validant et en les nettoyant avant utilisation.
Segmentation
- Segmentation du réseau : Limitez les requêtes côté serveur aux seuls services internes nécessaires et utilisez la segmentation du réseau pour limiter l'impact des attaques SSRF potentielles.
Configuration et inventaire
- Renforcer les paramètres de configuration : Vérifiez et mettez à jour régulièrement les paramètres de configuration de l'API pour suivre les meilleures pratiques de sécurité. Désactivez les ports et les services non utilisés.
- Automatisation de la gestion de la configuration de la sécurité : Utilisez des outils automatisés pour gérer et appliquer les configurations de sécurité de manière cohérente dans tous les environnements.
Tests et audits
- Tests de sécurité continus : Testez régulièrement les points de terminaison des API pour détecter les vulnérabilités et corrigez rapidement les problèmes.
- Audits réguliers : Effectuez régulièrement des audits de sécurité pour identifier et corriger les failles d'autorisation.
Inventaire, documentation et examens
- Gérer un inventaire d'API : Tenez un inventaire à jour de tous les points de terminaison d'API, y compris leurs versions et leur utilisation. Assurez-vous que les points de terminaison obsolètes sont correctement décommissionnés.
- Documenter et surveiller les API : Documentez les fonctionnalités des API et surveillez leur utilisation afin de détecter et d'atténuer les risques de sécurité associés à une mauvaise gestion.
- Surveiller l'activité anormale : Mettez en œuvre une surveillance continue pour détecter et répondre à des schémas inhabituels d'utilisation des API qui peuvent indiquer une tentative d'exploitation des flux métier.
- Examens de sécurité réguliers : Examinez et mettez à jour régulièrement les stratégies de contrôle d'accès pour vous assurer qu'elles restent efficaces.
- Utiliser des bibliothèques et des structures sécurisées : Assurez-vous que les bibliothèques et les structures utilisées pour interagir avec les API tierces sont sécurisées et régulièrement mises à jour.
le chiffrement.
Chiffrement des données en transit : Utilisez le protocole TLS (transport Layer Security) pour chiffrer les données en transit afin de protéger les informations sensibles contre l'interception par les pirates.
Pare-feux et passerelles
- Mettre en œuvre des pare-feux d'application Web (WAF) : Les pare-feux d'applications Web protègent les API contre les attaques Web courantes, telles que l'injection SQL et le cross-site scripting (XSS), en bloquant les requêtes malveillantes.
- Utiliser une passerelle d'API : Une passerelle d'API sert de point d'entrée pour toutes les requêtes d'API, effectuant des tâches telles que l'authentification, la limitation du débit, la gestion du trafic et la mise en cache pour empêcher les attaques DDoS en temps réel.
Application de correctifs et mise à jour
- Gestion des correctifs : Appliquez régulièrement des correctifs, des mises à jour et des correctifs de sécurité pour résoudre les vulnérabilités connues. Mettez en place un environnement de test pour vous assurer que les correctifs n'entraînent pas de problèmes de compatibilité ou de conséquences imprévues.
Zero Trust
- Adopter une approche Zero Trust : Un cadre Zero Trust suppose qu'aucun utilisateur, terminal ou application à l'intérieur ou à l'extérieur d'un environnement informatique ne peut être intrinsèquement fiable. En exigeant que chaque client qui demande l'accès aux API soit authentifié et validé en permanence, une approche Zero Trust empêche les accès non autorisés et limite les dommages causés par les attaques réussies.
FAQ
L'OWASP (Open Worldwide Application Security Project) est une organisation à but non lucratif qui se consacre à l'amélioration de la sécurité des logiciels. Il fournit gratuitement des outils, des ressources et des projets basés sur la communauté Open Source pour aider les développeurs et les professionnels de la sécurité à sécuriser leurs applications Web.
La liste des 10 principaux risques pour la sécurité des API identifiés par l'OWASP est une liste des risques de sécurité les plus critiques pour les API. Cette liste vise à fournir aux développeurs, aux architectes et aux professionnels de la sécurité des informations sur les vulnérabilités les plus courantes et sur la manière de les atténuer.
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é.