Akamai rachète Fermyon pour associer la fonction en tant que service (FaaS) WebAssembly à la plateforme d'Akamai distribuée dans le monde entier. Lire l'actualité

Que sont les API sécurisées ?

Les interfaces de programmation d'applications (API) font partie intégrante de l'architecture d'applications d'aujourd'hui. Les API définissent des règles et des protocoles qui permettent à une application de communiquer et de partager des données avec d'autres logiciels, services et plateformes. Cette fonctionnalité permet aux développeurs de créer des applications plus puissantes en tirant parti des données et des fonctions des logiciels existants, et permet aux entreprises d'intégrer leurs systèmes informatiques avec des services externes et des plateformes tierces.

Les API présentent également des risques opérationnels majeurs. Dans un contexte où les entreprises centrent de plus en plus leurs activités sur le cloud et le numérique, la portée, l'échelle et la complexité de leur parc d'API augmentent. Les API sont souvent réparties dans plusieurs environnements, sur site et dans le cloud hybride. La complexité est encore accrue du fait que l'écosystème d'API d'une organisation s'étend probablement bien au-delà de votre propre réseau et de votre présence dans le cloud. Pensez à la myriade de connexions que vos API établissent avec des applications, des services et des systèmes appartenant à des tiers et à des réseaux de développeurs.

À mesure que la portée, l'échelle et la complexité de vos API augmentent, il est difficile d'obtenir des informations en temps réel sur les points suivants :

  • L'emplacement de vos API dans les différentes unités commerciales qui, dans de nombreux cas, disposent de leurs propres équipes de développeurs

  • La manière dont vos API sont configurées et acheminées et la restriction de leur accès par des dispositifs d'authentification et d'autorisation appropriés

  • Si vos API renvoient des données sensibles lorsqu'elles sont appelées, et qui peut accéder à ces données

Pour compliquer les choses, une grande partie des API accumulées par les entreprises ne sont pas gérées, ne sont pas visibles et ne sont souvent pas protégées. Cela inclut les API dormantes, fantômes et zombies qui, dans de nombreux cas, échappent aux défenses des outils couramment utilisés.

Pour sécuriser les API, ainsi que les applications, les services Web et les environnements informatiques avec lesquels elles interagissent, les équipes de sécurité des entreprises doivent adopter des technologies et des meilleures pratiques pour se prémunir contre les attaques d'API, les violations d'API et les abus d'API. 

Principales menaces pour les API

Schéma illustrant les 8 principales menaces pesant sur les API

Les menaces les plus courantes pour les API se divisent en plusieurs catégories.

  • Exploitation des vulnérabilités : De nombreuses API sont créées avec des vulnérabilités qui permettent aux attaquants d'envoyer des requêtes API qui entraînent des comportements indésirables. En exploitant ces vulnérabilités, les pirates peuvent obtenir un accès non autorisé à une API ou à des applications connexes. Les attaques telles que la falsification de requêtes intersites (CSRF) sont des exemples courants.

  • Attaques par injection : Dans les attaques telles que l'injection SQL, le cross-site scripting (XSS), l'injection XML et les scripts, les attaquants injectent du code malveillant dans les requêtes API. Lorsque le code est exécuté par un serveur, l'API peut effectuer certaines actions indésirables ou malveillantes.

  • Problèmes d'authentification : L'authentification consiste à déterminer si un utilisateur, une application ou un terminal est un client légitime avant d'accepter et de traiter les requêtes d'API. Lorsqu'une organisation dispose de mécanismes d'authentification faibles, les attaquants peuvent obtenir les informations d'identification d'un utilisateur légitime, voler une clé d'API, intercepter et utiliser un jeton d'authentification, ou essayer différentes combinaisons de mots de passe ou de clés de chiffrement dans le cadre d'une attaque par force brute.

  • Problèmes d'autorisation : L'autorisation consiste à déterminer le niveau d'accès à l'API accordé à un client. Lorsque les autorisations ne sont pas gérées avec soin, un client d'API peut avoir accès à des données qui ne devraient pas être disponibles, ce qui augmente le risque de violation de données. Un exemple courant est une menace appelée autorisation brisée au niveau de l'objet (BOLA), où un attaquant peut accéder à des objets auxquels il ne devrait pas avoir accès ou les manipuler en raison d'un contrôle d'accès insuffisant.

  • Attaques par déni de service (DoS) ou par déni de service distribué (DDoS) : Ces attaques submergent une API en l'inondant de plus de trafic qu'elle ne peut gérer, ce qui entraîne une panne ou un ralentissement de l'API. Par conséquent, le service peut être refusé aux utilisateurs légitimes.

  • Attaques de type « machine-in-the-middle » (MITM) : Lorsqu'un attaquant est en mesure d'intercepter le trafic et les communications entre deux systèmes, il peut intercepter des données sensibles telles que des clés d'API, des jetons d'accès et des informations d'identification d'utilisateur, ou manipuler des données envoyées d'une partie à une autre.

  • Erreurs de configuration de la sécurité : Lorsque les équipes informatiques ne parviennent pas à configurer correctement les paramètres de sécurité des API, elles peuvent permettre aux attaquants d'obtenir un accès non autorisé, de faire remonter les privilèges et de compromettre l'environnement informatique.

  • Exposition des données : De nombreuses API peuvent être manipulées afin divulguer plus d'informations que nécessaire lors de la réponse aux requêtes d'API, un défaut que les attaquants peuvent exploiter pour voler des données ou obtenir un accès non autorisé.

Nécessité de sécuriser les API

Compte tenu du rôle essentiel que jouent les API dans les applications et applications Web d'aujourd'hui, la sécurisation des API est essentielle à la cybersécurité globale. L'incapacité à sécuriser correctement les API peut avoir un impact négatif important sur une entreprise.

  • Perte de données sensibles : Lorsque les attaquants utilisent des API pour accéder aux systèmes back-end, ils peuvent voler des données sensibles telles que des informations personnelles identifiables pour les clients, les plans commerciaux, les registres financiers et la propriété intellectuelle.

  • Perte de confiance : Les entreprises qui sont victimes de menaces contre la sécurité des API risquent de perdre la confiance de leurs clients et partenaires, ce qui peut avoir un impact considérable sur leurs perspectives commerciales et leur rentabilité. À la suite d'une attaque contre une API, une équipe de sécurité peut également faire face à une perte de confiance et à une dégradation de la crédibilité parmi les principales parties prenantes internes, telles que la direction et le conseil d'administration. 

  • Échecs de conformité : Lorsque des informations sensibles sont volées ou exposées dans le cadre d'une violation de données, cela peut entraîner des amendes importantes et des sanctions légales pour les organisations dans des secteurs fortement réglementés. De nombreuses organisations pensent aux API à l'esprit lorsqu'elles envisagent de se conformer aux réglementations en matière de sécurité des données, mais beaucoup moins connaissent les meilleures pratiques en matière de sécurité et de conformité des API.

  • Atteintes à la protection des données et cyberattaques : De nombreux cybercriminels utilisent des attaques API pour accéder aux environnements informatiques et lancer des cyberattaques plus importantes.

  • Interruptions de service : Comme les API sont essentielles pour connecter les applications et les systèmes, une attaque sur une API peut nuire aux services et aux systèmes, provoquant des pannes ou une perte de productivité importante.

  • Dommages financiers : En plus de permettre aux attaquants de vider les comptes financiers, les attaques contre les API représentent un coût considérable pour une organisation en matière de processus d'atténuation, d'enquêtes judiciaires, de perte de productivité et de perte d'opportunités commerciales.

Défis en matière de sécurité des API

Pour sécuriser les API, les équipes informatiques doivent relever un certain nombre de défis majeurs.

  • Écosystèmes d'API complexes : Avec des milliers d'API, de nombreux points de terminaison d'API et différents types de requêtes, l'écosystème d'API d'une organisation est généralement assez complexe. En outre, l'empreinte digitale d'une organisation peut contenir des API open source, tierces et fantômes qui rendent difficile l'inventaire de chaque ressource. Par conséquent, les équipes informatiques peuvent ne pas être en mesure de visualiser 100 % des API, et encore moins de les protéger à l'aide de mesures de sécurité strictes.

  • Menaces évolutives : Les attaquants développent constamment de nouvelles façons d'exploiter les API, ce qui nécessite une vigilance constante et des mises à jour des mesures de sécurité.

  • Interconnexion : Étant donné que les API sont si étroitement intégrées dans un environnement informatique, les équipes informatiques hésitent à introduire des mesures de sécurité qui pourraient entraîner une latence, une mauvaise performance ou des limites de scalabilité.

  • Prolifération non gérée : Dans de nombreuses entreprises, les API sont rapidement développées par diverses équipes sans structure centrale pour sécuriser les API et gérer le développement.

  • Pression de refoulement : Le rythme rapide des cycles de développement logiciel actuels entraîne une tension entre la nécessité de sécuriser les API et la pression exercée pour faire passer rapidement de nouvelles versions en production.

La technologie pour sécuriser les API

Les équipes informatiques peuvent adopter plusieurs couches de technologie pour sécuriser correctement les API. Voici quatre exemples d'outils traditionnels que les organisations utilisent généralement pour gérer les API et fournir un ensemble de protection de base.

  • Protocoles d'authentification et d'autorisation : L'authentification et l'autorisation sont des éléments essentiels de la sécurité des API . Des protocoles tels que OAuth 2.0, OpenID Connect et JSON Web tokens (JWT) peuvent aider à vérifier l'identité des utilisateurs et à contrôler l'accès aux ressources. La mise en œuvre de ces technologies en combinaison avec un contrôle d'accès basé sur les rôles et un contrôle d'accès basé sur les attributs peut considérablement améliorer les efforts de sécurisation des API.

  • Plateformes de gestion des API : Les fournisseurs de plateformes de gestion d'API offrent des outils complets pour aider les organisations à créer, publier, surveiller, analyser et sécuriser des API. Ces solutions offrent un moyen centralisé de gérer l'ensemble du cycle de vie des API, du développement au retrait.

  • Passerelle d'API : Une passerelle d'API sert de point d'entrée unique pour tout le trafic d'API, en gérant des tâches telles que la limitation du débit et la validation des demandes d'API. Comme les API et les passerelles enregistrent des journaux détaillés du trafic et des activités, elles peuvent également fournir des fonctions de surveillance en temps réel.

  • Web application firewall (WAF) : Les WAF protègent les API en filtrant et en surveillant les requêtes HTTP. Un WAF se trouve entre les clients et les serveurs pour surveiller, filtrer et analyser le trafic HTTP/HTTPS vers et depuis les applications Web. Il est particulièrement utile pour se défendre contre les attaques ciblant la couche applicative.

Cependant, la complexité et la fréquence des attaques contre les API nécessitent une couche de sécurité supplémentaire au-delà des outils traditionnels utilisés par de nombreuses organisations. Les organisations doivent utiliser une solution complète de sécurité des API qui fournit la découverte des API, la gestion des stratégies de sécurité des API, la protection de l'exécution et les tests de sécurité des API. 

Cette approche complète est un complément important aux outils existants d'une organisation 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 la durée 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

Note: 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.

Meilleures pratiques globales pour sécuriser les API

Ces meilleures pratiques en matière de sécurité des API peuvent aider les organisations à atténuer les risques de sécurité et à garantir une sécurité applicative Web robuste :

  • Chiffrement des données en transit : Utilisez les protocoles TLS (transport Layer Security) et SSL (Secure Sockets Layer) pour chiffrer les données lorsqu'elles se déplacent entre les clients et l'API, afin de vous assurer que les appels d'API ne peuvent pas être interceptés ou falsifiés.

  • Validez et nettoyez les entrées : Assurez-vous que toutes les entrées sont correctement validées pour empêcher les menaces telles que les attaques par injection. La validation est le processus de vérification pour s'assurer que les entrées sont conformes aux attentes concernant les données considérées comme valides. Le nettoyage est le processus de nettoyage ou de filtrage des entrées visant à supprimer tout contenu potentiellement malveillant ou nuisible.

  • Implémentez la limitation du débit : Contrôlez le nombre de requêtes API pour éviter l'abus ou la surutilisation des API, prévenir la consommation excessive de ressources et bloquer les attaques DoS et DDoS potentielles.

  • Surveillez et consignez l'activité de l'API : Conservez des journaux détaillés des appels d'API et surveillez-les pour détecter toute activité inhabituelle. En analysant les journaux, les équipes de sécurité peuvent identifier des schémas d'activité suspects ou anormaux, tels que des pics de trafic anormaux ou des tentatives de connexion infructueuses répétées pouvant indiquer une menace pour la sécurité.

  • Effectuez régulièrement des tests de sécurité : Utilisez des tests de sécurité et des audits réguliers pour identifier et corriger les vulnérabilités. Les tests peuvent être effectués dans les environnements de développement et de production afin d'optimiser la capacité d'une équipe de sécurité à détecter les défauts.

  • Fourniture d'un accès de moindre privilège : Assurez-vous que les utilisateurs et les services disposent uniquement du niveau d'accès minimal nécessaire pour exécuter leurs fonctions. Cela permet d'empêcher tout accès non autorisé aux API et aux ressources informatiques, assurant ainsi la sécurité des données et des systèmes.

  • Points de terminaison API sécurisés : Protégez les points de terminaison d'API avec des mesures de sécurité appropriées, telles que l'utilisation d'une passerelle d'API et d'un pare-feu d'applications Web.

  • Conception d'API sécurisée : L'un des moyens les plus importants de sécuriser les API est d'introduire la sécurité dès le début du processus de conception. En testant et en éliminant les failles au cours du développement, les équipes de développement peuvent limiter le risque d'exploitation des vulnérabilités par les attaquants après le passage des API en production.

  • Surveillez le Top 10 de l'OWASP : L'Open Web Application Security Project (OWASP) est une fondation à but non lucratif qui travaille à améliorer la sécurité des logiciels. Le Les 10 principaux risques pour la sécurité des API selon l'OWASP sont une liste des problèmes de sécurité des API les plus critiques que les développeurs et les professionnels de la sécurité doivent résoudre.

  • Adoptez les principes du 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 une authentification et une validation continues de chaque demande d'accès aux API, une structure Zero Trust empêche les accès non autorisés et limite les dommages causés par les attaques qui ont réussi à violer les défenses d'une entreprise.

  • Utilisez les clés d'API : Une clé d'API est un identifiant unique qui authentifie l'application ou le site Web effectuant un appel d'API, plutôt que la personne qui utilise le site Web. Les clés API permettent d'éviter les appels indésirables, les accès non autorisés et les violations de données.

FAQ

Les protocoles SOAP (Simple Object Access Protocol) et REST (Representational State Transfer) sont différents types d'API. En tant que protocole de messagerie hautement structuré qui utilise le langage XML pour la messagerie, les API SOAP sont plus sécurisées dès leur conception grâce à des normes intégrées telles que WS-Security. Les API REST offrent une approche plus simple des API, mais elles ne disposent pas de fonctionnalités de sécurité intégrées. La sécurité doit être ajoutée pour la transmission, le déploiement et l'interaction des données.

Les points de terminaison API sont des chemins spécifiques par lesquels les API interagissent avec d'autres systèmes ou applications. Chaque point de terminaison représente une fonction ou une ressource unique dans l'API, et la sécurisation de ces points de terminaison est essentielle pour empêcher les accès non autorisés et les attaques.

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