BOPLA est l'acronyme de Broken Object Property Level Authorization (autorisation brisée au niveau de la propriété de l'objet). BOPLA fait référence à une propriété à l'intérieur d'un objet, alors que BOLA fait référence à un objet entier. La protection des API contre la BOLA ne garantit pas la couverture de la BOPLA, il est donc important de choisir des produits de sécurité qui offrent une protection contre les deux types d'attaques.
La protection des API implique un ensemble de processus, de pratiques et de technologies qui défendent les interfaces de programmation d'applications (API) contre les attaques et les abus d'acteurs malveillants. La protection des API est un élément essentiel d'un programme de cybersécurité moderne et une priorité absolue pour les équipes de sécurité.
Qu'est-ce qu'une API ?
Une interface de programmation d'applications, ou API, est un ensemble de protocoles et de définitions qui permettent à différents programmes et composants logiciels de communiquer entre eux et de partager des données et des fonctionnalités. Les API régissent également la manière dont les applications sont autorisées à interagir, et elles contrôlent la manière dont les requêtes sont faites et les types de requêtes qui peuvent être échangés entre les programmes.
Les API sont essentielles aux services cloud, aux microservices aux architectures sans serveurs et àl'Internet des objets (IoT) dont dépendent de nombreux environnements informatiques. Parce qu'elles exposent la logique et les ressources de l'application et qu'elles impliquent souvent le transfert d'informations sensibles, les API sont une cible attrayante pour les pirates informatiques. Une API non sécurisée peut permettre à des acteurs malveillants d'accéder à des actifs informatiques qui seraient autrement sécurisés. Par conséquent, la protection des API est essentielle au maintien de la sécurité des réseaux et des applications, et à la prévention de l'exposition des données et d'autres problèmes de sécurité.
Quels sont les risques liés à la sécurité des API ?
Les risques les plus courants pour la sécurité des API se répartissent en plusieurs catégories.
- Exploitation des vulnérabilités. Ce type d'attaque des API permet à des acteurs malveillants d'obtenir un accès non autorisé à l'API en raison d'une faille dans la manière dont elle est construite ou codée.
- Erreurs d'autorisation. Lorsque les autorisations ne sont pas gérées avec soin, les clients qui interagissent avec une API peuvent avoir accès à des données qui ne devraient pas être disponibles, ce qui augmente le risque de violation de données.
- Problèmes d'authentification. Lorsque les processus d'authentification des utilisateurs sont compromis, les API peuvent accepter des demandes provenant de sources illégitimes ou malveillantes.
- Attaques par déni de service distribué. En submergeant les API d'un trop grand nombre de requêtes, les attaques DDoS ou DoS peuvent empêcher les API de répondre ou les faire planter.
Quels sont les 10 principaux risques pour la sécurité des API selon l'OWASP ?
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. Chaque année, l'OWASP publie une liste des 10 principaux risques pour la sécurité des API. La liste 2023 des 10 principaux risques pour la sécurité des API de l'OWASP inclut les menaces de sécurité suivantes :
- Autorisation brisée au niveau de l'objet (BOLA) : les API créent souvent une large surface d'attaque pour les problèmes de contrôle d'accès au niveau de l'objet en exposant des points de terminaison qui gèrent des identifiants d'objets.
- Violation d'authentification : lorsque les mécanismes d'authentification sont mis en œuvre de manière incorrecte, les attaquants peuvent être en mesure de compromettre les jetons d'authentification ou d'exploiter les défauts de mise en œuvre.
- Autorisation brisée au niveau de la propriété de l'objet (BOPLA) : une mauvaise validation de l'autorisation au niveau de la propriété de l'objet peut conduire à l'exposition ou à la manipulation d'informations par des attaquants.
- Consommation de ressources illimitée : étant donné que la satisfaction des requêtes d'API consomme des ressources spécifiques en termes de processeur, de mémoire, de stockage et de bande passante réseau, l'utilisation sans restriction des API peut conduire à un déni de service ou à une augmentation des coûts.
- Autorisation brisée au niveau de la fonction : des politiques de contrôle d'accès complexes peuvent entraîner des failles d'autorisation.
- Accès illimité aux flux d'activité sensibles : lorsque les flux commerciaux sont exposés au public, ils peuvent être utilisés de manière excessive et automatisée pour perturber les processus.
- Falsification de requête côté serveur : lorsqu'une API récupère une ressource distante sans valider l'URL fournie par l'utilisateur, les attaquants peuvent forcer l'application à envoyer une requête élaborée vers une destination inattendue.
- Mauvaise configuration de sécurité : les API sont souvent mal configurées par les ingénieurs logiciels et DevOps, ce qui laisse la porte ouverte à toute une série d'attaques.
- Mauvaise gestion des stocks : lorsque l'inventaire et la documentation ne sont pas correctement mis à jour, des problèmes tels que des versions d'API dépréciées et des points de terminaison de débogage exposés peuvent survenir.
- Consommation d'API non sécurisée : parce qu'ils ont tendance à faire davantage confiance aux données reçues d'API tierces qu'aux données saisies par l'utilisateur, les développeurs peuvent adopter des normes de sécurité moins strictes pour certaines API.
En quoi la sécurité des API diffère-t-elle de la sécurité des applications ?
Bien que la protection des API comprenne un grand nombre de principes de sécurité identiques à ceux de la sécurité Web, la défense des API contre les attaques présente plusieurs défis uniques. Le grand nombre d'API utilisées dans les systèmes d'applications modernes rend plus difficiles l'identification des vulnérabilités des API et la mise à jour des protections pour les équipes de sécurité. Les API étant conçues pour être accessibles à des applications ou services tiers, elles sont souvent exposées à un éventail plus large de menaces potentielles que les applications Web traditionnelles. La flexibilité et la personnalisation rendent également les API plus vulnérables aux attaques. Et comme les API utilisent souvent des jetons ou d'autres types d'authentification pour contrôler l'accès, elles peuvent faire l'objet d'attaques basées sur des jetons volés ou compromis.
Qu'est-ce que la sécurité de la passerelle API ?
Une passerelle API est une couche de logiciel qui sert de point d'entrée unique pour gérer les requêtes clients ou les appels d'API et renvoyer les réponses des points de terminaison API. Les solutions de sécurité des passerelles API peuvent appliquer une limitation du débit pour s'assurer que les API ne sont pas utilisées de manière abusive.. Les passerelles peuvent protéger les API en autorisant et en acheminant les appels d'API vers les services back-end et les points de terminaison front-end appropriés. La sécurité de la passerelle API implique également l'authentification des informations d'identification et la validation des jetons pour vérifier les identités. Bien qu'une passerelle soit un élément important de la protection des API, la sécurité de la passerelle API ne suffit pas à elle seule à garantir une défense adéquate des API. Les passerelles n'offrent pas de visibilité et de contrôle sur l'ensemble de l'architecture des API, et elles peuvent ne pas identifier les API mal configurées, les API fantômes ou l'activité des robots malveillants.
Quelles sont les meilleures pratiques en matière de sécurité des API ?
Les contrôles, protocoles et solutions de sécurité suivants peuvent contribuer à améliorer la protection des API.
- Découvrez et suivez toutes les API. Lorsque les équipes de sécurité ne connaissent pas les API, elles sont incapables de repérer les vulnérabilités, de mettre à jour les correctifs de sécurité ou d'assurer une protection adéquate des API.
- Identifiez les vulnérabilités. Les outils de test de sécurité peuvent aider à identifier les vulnérabilités qui existent dans chaque API. Une fois les vulnérabilités identifiées, elles peuvent être classées par ordre de priorité pour être corrigées, atténuées et configurées correctement en fonction de la tolérance au risque.
- Établissez des stratégies générales de sécurité des API. Au lieu d'adopter des règles uniques pour chaque API, les équipes chargées de la gestion et de la sécurité des API doivent en définir pour toutes les API ou des catégories d'API spécifiques, en évitant de coder les règles directement dans les API.
- Mettez en œuvre l'authentification et l'autorisation. L'authentification et l'autorisation des utilisateurs et des applications sont essentielles pour protéger les API contre les abus.
- Implémentez la limitation du débit. Ces techniques déterminent la fréquence à laquelle les API peuvent être appelées et empêchent les pics de demandes malveillantes qui pourraient entraîner un déni de service.
- Chiffrez les données. Le chiffrement des données est essentiel pour protéger les données sensibles communiquées par l'intermédiaire des API.
- Configurez un pare-feu d'applications Web (WAF). L'utilisation d'un WAF dans le cadre de la sécurité du réseau ajoute une couche de protection supplémentaire contre le trafic API malveillant provenant de l'extérieur du réseau local.
- Implémentez une passerelle API. Une passerelle supérieure peut fournir une variété de protections et aider à analyser la façon dont les API sont accessibles.
- Déployez OAuth. OAuth est un modèle de sécurité OpenAPI qui peut protéger les API en permettant aux utilisateurs de déléguer en toute sécurité l'accès aux ressources sans partager leurs identifiants d'origine.
- Utilisez l'analyse comportementale. Une solution efficace de détection et de réponse aux API peut utiliser l'analyse comportementale pour enregistrer tous les comportements des API et identifier les comportements inhabituels auxquels les équipes de sécurité peuvent répondre.
- Protégez les API B2B. Alors que la plupart des protections des API se concentrent sur les API B2C, les données les plus sensibles sont parfois partagées avec des API B2B supposées sécurisées. Une solution d'analyse comportementale peut surveiller les API B2B et alerter en cas d'activité suspecte.
- Exploitez un lac de données. Toute l'activité des API doit être stockée dans un lac de données pendant au moins 30 jours, ce qui fournira un contexte pour toute alerte ou menace potentielle. En outre, les équipes peuvent tirer des conclusions de ce lac de données pour renforcer leur posture de sécurité.
Foire aux questions (FAQ)
OpenAPI est une spécification pour la création d'API qui définit une interface standard, indépendante du langage, pour décrire les API et leurs capacités d'une manière que les humains et les ordinateurs peuvent comprendre (sans avoir besoin d'accéder au code source ou à la documentation). La sécurité OpenAPI implique des pratiques d'authentification, de chiffrement, d'autorisation et d'autres mesures visant à protéger l'intégrité, la disponibilité et la confidentialité de l'API.
BOLA est l'acronyme anglais de Broken Object Level Authorization (autorisation brisée au niveau de l'objet) et est considérée comme une menace majeure pour la sécurité de la protection des API, car elle est très difficile à découvrir. Cette vulnérabilité permet à un attaquant de manipuler des données d'entrée telles que des paramètres d'URL ou des charges utiles de requête pour accéder à des données non autorisées ou effectuer des actions non autorisées.
Pourquoi les clients choisissent-ils Akamai ?
Akamai soutient et protège la vie en ligne. Les entreprises leaders du monde entier choisissent Akamai pour concevoir, diffuser et sécuriser leurs expériences digitales, et aident des milliards de personnes à vivre, travailler et jouer chaque jour. Akamai Connected Cloud, plateforme cloud massivement distribuée en bordure de l'Internet, rapproche vos applications et expériences des utilisateurs, tout en tenant les menaces à distance.