Présentation du Top 10 de la sécurité des API de l’OWASP et bonnes pratiques
Les API jouent un rôle essentiel dans les architectures applicatives modernes, et ce projet de l’OWASP vise à sensibiliser aux failles de sécurité courantes des API.
L’objectif de la liste de l’OWASP (Open Worldwide Application Security Project) consacrée aux 10 principaux risques de sécurité des API est de sensibiliser les personnes impliquées dans le développement et la maintenance des API, et de mieux faire connaître les failles de sécurité courantes qui les affectent. Les API sont de plus en plus souvent prises pour cible par les attaquants, et le projet de l’OWASP consacré à leur sécurité met l’accent sur des stratégies et des solutions permettant de comprendre et d’atténuer les vulnérabilités et les risques de sécurité propres aux API.
Que sont les API ?
Les API (interfaces de programmation d’applications) sont essentielles au développement d’applications modernes, car elles permettent à celles-ci de communiquer et d’échanger des données avec d’autres applications, services ou plateformes. Les API jouent un rôle clé dans toute stratégie de modernisation des applications et constituent le socle des applications mobiles. Elles permettent aux entreprises de s’intégrer facilement à des plateformes externes et à des services tiers, ainsi que de créer des solutions complètes en reliant différents composants. Cette approche modulaire du développement d’applications permet aux développeurs de tirer parti des services et fonctionnalités existants, de favoriser la réutilisation du code, d’accélérer les cycles de développement et d’améliorer la productivité.
Les API élargissent également la surface de risque et introduisent notamment des risques imprévus en raison de la nature de leurs interdépendances au sein des architectures multicloud. À l’instar des applications web, les API sont exposées à l’exploitation de vulnérabilités, aux abus liés aux menaces automatisées, aux dénis de service, aux erreurs de configuration et aux attaques qui contournent les contrôles d’authentification et d’autorisation.
De par leur nature, les API exposent des logiques métier critiques et des informations sensibles, telles que les données utilisateur, les identifiants d’authentification et les transactions financières, et sont de plus en plus souvent prises pour cible par les attaquants, notamment au niveau des fonctions de connexion, de création de compte, d’ajout au panier et de transfert d’argent. Les API peuvent constituer des points d’entrée pour les attaquants qui cherchent à exploiter des vulnérabilités ou des faiblesses, ou à accéder à l’infrastructure et aux ressources sous-jacentes.
Quelles sont les bonnes pratiques en matière de sécurité des API ?
Des mesures de sécurité robustes pour les API sont nécessaires pour protéger les données contre tout accès non autorisé, toute manipulation ou toute divulgation, afin de garantir la confidentialité et de préserver la confiance des utilisateurs et des parties prenantes, ainsi que d’assurer la confidentialité, l’intégrité et la disponibilité des API. Les bonnes pratiques en matière de sécurité des API sont notamment les suivantes :
- Mettez en œuvre des mécanismes robustes d’authentification et d’autorisation. Appliquez des contrôles d’autorisation appropriés afin de vous assurer que les clients authentifiés disposent des autorisations nécessaires pour accéder à des ressources spécifiques ou effectuer certaines actions. Utilisez des contrôles d’accès granulaires pour limiter l’accès aux points de terminaison d’API ou aux données sensibles, ainsi qu’aux objets et fonctions concernés.
- Validez l’encodage des entrées et des sorties. Validez et assainissez toutes les données reçues des clients API afin d’empêcher les attaques par injection, et encodez correctement les sorties pour éviter l’exécution de scripts malveillants.
- Utilisez des communications sécurisées. Employez des protocoles sécurisés pour transmettre des données entre les clients API et les serveurs, et chiffrez les informations sensibles en transit et au repos afin de garantir la confidentialité et l’intégrité des données.
- Mettez en œuvre une limitation du débit et une régulation du trafic. Limitez le nombre de requêtes que les clients API peuvent effectuer au cours d’une période donnée afin d’éviter une utilisation excessive ou des tentatives d’accès non autorisé, telles que les attaques par déni de service distribué (DDoS) et les attaques par force brute.
- Effectuez régulièrement des tests et des audits de sécurité. Réalisez régulièrement des évaluations de sécurité, des tests d’intrusion et des revues de code afin d’identifier et de corriger les vulnérabilités potentielles de vos API. Effectuez également des audits de sécurité pour détecter les faiblesses et garantir le respect des normes et exigences du secteur. Cette démarche est particulièrement importante en raison des interdépendances entre les API et les frameworks et bibliothèques sous-jacents.
- Garantissez la conformité aux schémas et aux protocoles. La création et l’application automatiques d’un modèle de sécurité positif fondé sur les spécifications OpenAPI constituent un moyen efficace de garantir une politique de sécurité cohérente.
- Découvrir dynamiquement et évaluer en continu les API. La prolifération des API a entraîné l’apparition d’API non répertoriées ou non maintenues, notamment des API fantômes. Les contrôles de sécurité doivent constamment inventorier et protéger les API en appliquant les principes de confiance zéro et de moindre privilège afin d’atténuer les risques imprévus liés aux interdépendances avec des tiers.
- Détection complète des menaces. Les API sont exposées à diverses menaces et doivent en être protégées, notamment les exploitations de vulnérabilités, les erreurs de configuration, les bots, la fraude et les abus.
Top 10 OWASP des risques de sécurité des API — 2023
Le classement « OWASP API Security Top 10 – 2023 » a été élaboré pour sensibiliser aux failles de sécurité courantes des API et aider les développeurs, les concepteurs, les architectes, les responsables et les autres personnes impliquées dans le développement et la maintenance des API à adopter une approche proactive de leur sécurité.
Les 10 principaux risques de sécurité des API selon l’OWASP pour 2023 sont les suivants :
- Défaillance de l’autorisation au niveau de l’objet. Cette vulnérabilité de sécurité survient lorsqu’une application n’applique pas correctement les contrôles d’accès au niveau des objets ou des données, ce qui permet à un attaquant de manipuler ou de contourner les vérifications d’autorisation et d’obtenir un accès non autorisé à des objets ou à des données spécifiques au sein d’une application. Cela peut être dû à une mauvaise mise en œuvre des vérifications d’autorisation, à une validation insuffisante ou au contournement des contrôles d’accès. Chaque point de terminaison d’API qui reçoit l’identifiant d’un objet et effectue une action sur celui-ci doit mettre en œuvre des vérifications d’autorisation au niveau de l’objet afin de s’assurer que l’utilisateur connecté dispose des autorisations nécessaires pour effectuer l’action demandée sur l’objet concerné.
- Authentification défaillante. Les mécanismes d’authentification d’une API sont souvent mal implémentés, ce qui permet aux attaquants d’accéder sans autorisation à des comptes utilisateurs ou à des données sensibles, ou d’effectuer des actions non autorisées. Cette vulnérabilité résulte généralement d’une implémentation ou d’une configuration incorrecte des processus d’authentification, de politiques de mots de passe trop faibles, de failles dans la gestion des sessions ou d’autres faiblesses dans le processus d’authentification.
- Défaillance de l’autorisation au niveau des propriétés des objets. Cette menace survient lorsqu’une API n’applique pas correctement les contrôles d’accès et les vérifications d’autorisation au niveau des propriétés des objets. Un point de terminaison d’API est vulnérable à ces attaques s’il expose des propriétés d’un objet considérées comme sensibles et auxquelles l’utilisateur ne devrait pas avoir accès, une exploitation parfois appelée « exposition excessive de données ». Un point de terminaison d’API est également vulnérable à ces attaques s’il permet à un utilisateur de modifier, d’ajouter ou de supprimer la valeur d’une propriété sensible d’un objet, une exploitation parfois appelée « affectation en masse ».
- Consommation non restreinte des ressources. Cette attaque, également appelée épuisement des ressources, consiste à exploiter les faiblesses de l’implémentation de l’API afin de consommer intentionnellement une quantité excessive de ressources, telles que le processeur, la mémoire, la bande passante ou d’autres ressources système. Ce déni de service (DoS) dégrade les performances ou la disponibilité de l’API ou du système sous-jacent et peut entraîner une interruption de service.
- Défaillance du contrôle des autorisations au niveau des fonctions. Cette menace survient lorsqu’une API n’applique pas correctement les contrôles d’autorisation au niveau des fonctions ou des opérations, permettant ainsi aux attaquants d’accéder à des fonctionnalités non autorisées. La mise en œuvre de contrôles d’autorisation appropriés peut s’avérer complexe, car les applications modernes peuvent définir de nombreux types de rôles fonctionnels et de groupes, et comporter des hiérarchies d’utilisateurs complexes que les attaquants peuvent manipuler.
- Accès illimité aux processus métier sensibles. Cette attaque se produit lorsqu’une API ne dispose pas de contrôles d’accès ou de vérifications d’autorisation appropriés, ce qui permet aux attaquants d’automatiser l’accès aux processus métier sensibles pris en charge par l’API. Ces processus métier peuvent permettre l’achat en masse de produits de grande valeur disponibles en quantité limitée, tels que des billets ou des baskets, qui peuvent ensuite être revendus plus cher sur des marchés secondaires. Les attaquants adaptent souvent leurs attaques à l’aide de boîtes à outils d’automatisation sophistiquées et peuvent se rabattre sur la logique métier sous-jacente aux API si les applications web de la cible sont correctement protégées par des dispositifs anti-automatisation.
- Falsification de requête côté serveur (SSRF). Cette vulnérabilité survient lorsqu’un attaquant identifie un point de terminaison d’API vulnérable qui accepte des URL fournies par l’utilisateur ou effectue des requêtes côté serveur vers des ressources externes. L’attaquant élabore des requêtes malveillantes qui spécifient les URL de ressources ou de systèmes internes qu’il souhaite cibler. Ignorant l’intention malveillante, le serveur exécute la requête côté serveur vers l’URL spécifiée, ce qui peut exposer des informations ou des services sensibles.
- Mauvaise configuration de la sécurité. Les attaquants tentent de trouver des failles non corrigées, des points de terminaison courants, des services utilisant des configurations par défaut non sécurisées, ou encore des fichiers et répertoires non protégés afin d’obtenir un accès non autorisé à l’API. Cette vulnérabilité peut survenir lorsque les mesures de renforcement de la sécurité appropriées font défaut à un niveau quelconque de la pile API, du réseau à l’application, ou lorsque les autorisations des services cloud sont mal configurées. Les erreurs de configuration affectent les applications web et les API, et représentent un risque croissant à mesure que l’architecture se décentralise et se répartit entre plusieurs environnements multicloud.
- Mauvaise gestion de l’inventaire. Les API évoluent et sont mises à jour au fil du temps, mais des versions obsolètes ou non sécurisées peuvent rester en production, tandis que d’anciens points de terminaison peuvent continuer à fonctionner sans correctifs ou avec des exigences de sécurité moins strictes, ce qui accroît le risque de failles de sécurité. En l’absence d’une gestion adéquate de l’inventaire, il est difficile de savoir quelles versions sont utilisées, lesquelles sont obsolètes ou abandonnées et quelles vulnérabilités ont été corrigées. Les API fantômes et zombies présentent des risques importants, ce qui souligne l’importance d’une détection continue et de protections automatisées.
- Utilisation non sécurisée des API. Les développeurs ont tendance à faire confiance aux données reçues d’API tierces, en particulier lorsqu’elles sont proposées par des entreprises réputées, et à leur appliquer des exigences de sécurité moins strictes en matière de validation et de nettoyage des entrées ou de sécurité du transport. Une utilisation non sécurisée peut également se produire lorsque les API sont accessibles via des protocoles non sécurisés ou que des mécanismes de chiffrement appropriés ne sont pas utilisés, ce qui peut entraîner des écoutes clandestines, l’interception de données et l’accès non autorisé à des informations sensibles.
Plaidoyer en faveur de contrôles de sécurité intégrés
F5 répond aux risques de sécurité de l’OWASP
F5 soutient la fondation OWASP et son engagement en faveur de l’amélioration de la sécurité des logiciels et de la sensibilisation aux risques et vulnérabilités liés à la sécurité des applications web, à plusieurs niveaux. En effet, certains risques de sécurité sont communs aux applications et aux API et doivent être pris en compte lors de la mise en œuvre de solutions de sécurité. Par exemple :
- Contrôles d’authentification et d’autorisation insuffisants
- Mauvaise configuration
- Abus de la logique métier (bourrage d’identifiants, prise de contrôle de compte)
- Falsification de requête côté serveur (SSRF).
F5 répond aux risques identifiés dans le Top 10 de l’OWASP sur la sécurité des API grâce à des solutions qui protègent une surface d’attaque croissante contre les menaces émergentes, à mesure que les applications évoluent et que les déploiements d’API se multiplient. Les solutions F5 de protection des applications Web et des API (WAAP) protègent l’ensemble de la surface d’attaque des applications modernes grâce à des protections complètes comprenant un WAF, la sécurité des API, l’atténuation des attaques DDoS des couches L3 à L7 et une défense contre les bots pour contrer les menaces automatisées et la fraude. Cette plateforme distribuée facilite le déploiement de politiques cohérentes et la mise à l’échelle de la sécurité sur l’ensemble de votre parc d’applications et d’API, quel que soit leur environnement d’hébergement, ainsi que l’intégration des protections au cycle de vie des API et aux écosystèmes de sécurité au sens large.
F5 fournit des « architectures de sécurité hybrides » qui protègent les applications et les API de manière cohérente et continue, du cœur du réseau au cloud et à la périphérie. Les solutions F5 détectent de manière dynamique et protègent automatiquement la logique métier critique sous-jacente aux API en s’appuyant sur les renseignements sur les menaces, la sécurité basée sur le machine learning et les principes Zero Trust, offrant ainsi la résilience et l’agilité nécessaires pour être compétitif dans l’économie numérique pilotée par les API.
Solutions F5 Web Application Firewall bloquent et atténuent également un large éventail de risques recensés dans l’OWASP Top 10, une liste largement reconnue des risques de sécurité les plus critiques pour les applications web. À l’instar des applications web, les API sont exposées aux erreurs de configuration et aux menaces automatisées, et peuvent être la cible d’exploitations de vulnérabilités, d’attaques SSRF et d’attaques visant à contourner les contrôles d’authentification et d’autorisation. Les solutions WAF de F5 combinent des protections basées sur les signatures et sur l’analyse comportementale, notamment les renseignements sur les menaces de F5 Labs et la sécurité basée sur le machine learning, afin de suivre l’évolution des menaces. Elles peuvent également être intégrées à des contrôles spécialisés de défense contre les bots.
Ces solutions réduisent la charge et la complexité liées à la sécurisation cohérente des applications dans les environnements cloud, sur site et en périphérie, tout en simplifiant leur gestion grâce à une infrastructure SaaS centralisée. Les WAF de F5 rationalisent également la sécurité des applications en intégrant des protections aux frameworks de développement et aux pipelines CI/CD, avec des fonctionnalités de sécurité essentielles, une orchestration centralisée et une supervision depuis un tableau de bord unique offrant une vue à 360 degrés des performances des applications et des événements de sécurité dans l’ensemble des applications distribuées.
F5 propose également des solutions pour faire face aux risques décrits dans le projet de l’OWASP sur les menaces automatisées visant les applications web.F5 Distributed Cloud Bot Defense empêche la fraude et les abus susceptibles de contourner les solutions existantes de gestion des bots. La solution fournit une surveillance et des renseignements en temps réel, ainsi qu’une analyse rétrospective basée sur le machine learning, afin de protéger les entreprises contre les attaques automatisées, sans créer de friction pour les utilisateurs ni perturber l’expérience client. Distributed Cloud Bot Defense reste efficace quelle que soit la manière dont les attaquants adaptent leurs outils, qu’ils réorientent leurs attaques des applications web vers les API ou qu’ils tentent de contourner les défenses contre l’automatisation en falsifiant les données de télémétrie ou en faisant appel à des personnes pour résoudre les CAPTCHA.
F5 propose également une protection DDoS multiniveau pour une sécurité en ligne avancée, sous la forme d’un service managé d’atténuation fourni dans le cloud, qui détecte et atténue en temps réel les attaques à grande échelle ciblant le réseau, les protocoles et les applications. Ces mêmes protections sont également disponibles sous forme de solutions matérielles et logicielles sur site, ainsi que de solutions hybrides. F5 Distributed Cloud DDoS Mitigation protège contre les attaques volumétriques et propres aux applications visant les couches 3 et 4, ainsi que contre les attaques avancées visant la couche 7, avant qu’elles n’atteignent votre infrastructure réseau et vos applications.
Pour plus d’informations sur la manière dont les composants de la plateforme F5 ADSP protègent contre les risques de sécurité de l’OWASP, veuillez consulter les ressources suivantes :
- «Atténuation des 10 principaux risques de sécurité des API de l’OWASP en 2023 à l’aide de F5 BIG-IP»
- "Atténuation des 10 principaux risques de sécurité des API de l’OWASP en 2023 avec F5 NGINX App Protect"
- "Atténuation des 10 principaux risques de sécurité des API de l’OWASP 2023 à l’aide de la plateforme F5 Distributed Cloud"
- «K000135973 : Introduction et contenu du guide des opérations OWASP API Top 10 2023»
- "Série OWASP sur la défense contre les accès tactiques : authentification défaillante et BIG-IP APM"

