La prolifération des API étend la surface d'attaque

La croissance rapide des API entraîne désormais des risques de sécurité considérables pour les entreprises

Une API (interface de programmation d’application) est une interface informatique qui définit et permet les interactions entre différents logiciels. De nombreuses tâches quotidiennes sont effectuées au moyen d'API, telles que le partage de contenus sur les réseaux sociaux, le traitement des paiements en ligne et l'agrégation des données analytiques de sites web. Le Cloud permet aux entreprises de déployer plus facilement des infrastructures d'ampleur mondiale à l'aide d'API.

Aujourd'hui, la majorité des logiciels utilisent ou sont des API et, au cours des quatre à cinq dernières années, ces dernières ont connu une croissance exponentielle. À titre d'exemple, la plateforme collaborative Postman, dédiée au développement d'API, a constaté une explosion du nombre de dossiers d'API, de moins d'un demi-million en 2016 à près de 35 millions en 2020.

Les mesures de sécurité associées n'ont toutefois pas connu la même croissance fulgurante que la popularité des API, et maintenant, tandis que les vannes s'ouvrent davantage, cette situation engendre de nombreuses vulnérabilités majeures. Gartner estime qu'en raison de leur croissance explosive et de l'insuffisance des systèmes de sécurité, les API pourraient devenir la plus grande menace de sécurité qui ait jamais existé.

L'essor des API a conduit au développement d'applications privilégiant les API

Un des principaux moteurs de la croissance des API a été la prolifération des micro-services, qui ont commencé à gagner en popularité en 2013. L'architecture caractéristique des micro-services promeut le développement de petites applications individuelles, qui communiquent entre elles à l'aide d'API. Les tâches complexes sont ainsi décomposées en fragments plus petits, chacun étant développé et géré indépendamment.

Le marché mondial de l'architecture des micro-services était estimé à 2,07 milliards de dollars en 2018, et devrait atteindre 8,07 milliards de dollars en 2026 (TCAC de 18,6 % entre 2019 et 2026). La flexibilité, les cycles de développement plus rapides et l'évolutivité supérieure des micro-services ont favorisé leur adoption à grande échelle.

Ainsi, pour répondre à la demande, Netflix a délaissé ses monolithiques datacenters centralisés au profit d'une architecture de micro-services dans le Cloud. Cela a offert aux développeurs une remarquable liberté pour améliorer continuellement l'expérience client, par exemple, en adaptant les contenus à des régions géographiques spécifiques.

Les phénomènes qui ont conduit à l'actuelle hégémonie des API nous permettent également de comprendre où se situent les vulnérabilités. Les API sont omniprésentes, et leur nombre ne cesse de croître ; et, par conséquent, les risques qu'elles entraînent aussi.

Les API : une nouvelle et immense faille de sécurité

L'ampleur du développement et des activités liés aux API ne contribue en rien à la sécurité des applications. Selon Gartner, d'ici 2021, pour 90 % des applications web, la surface d'attaque exposée par les API sera plus étendue que celle exposée par l'interface utilisateur (IU). Gartner a également prédit que d'ici 2022, l'exploitation de failles de sécurité des API deviendra le vecteur d'attaque le plus fréquent, tandis qu'il est marginal aujourd'hui.

Les vulnérabilités des API affectent de nombreux domaines, notamment les terminaux (appareils, serveurs, environnements virtuels, etc.), l'exposition des données, les attaques par déni de service (DoS), les vulnérabilités des systèmes d'autorisation, la configuration incorrecte des systèmes de sécurité, etc. Compte tenu de la surface d'attaque considérable que représentent les milliers de ressources prises en charge par des API au sein de toute entreprise, les vulnérabilités des API peuvent avoir des effets extrêmement variés.

Parmi les exemples figurent les pertes de données, vols de fonds, pertes de productivité, vols de propriété intellectuelle, vols de données personnelles et financières, fraudes, perturbations des activités de l'entreprise, ainsi que le coût de rétablissement et/ou de suppression des données et systèmes endommagés. Les violations d'API peuvent également nuire à la réputation des entreprises et provoquer une perte de confiance des consommateurs, qui est un phénomène fréquent lors de tout incident de sécurité majeur.

Plusieurs cas très médiatisés d'entreprises ayant subi des attaques visant les API malgré des mesures de sécurité performantes ont déjà fait la une des actualités. Par exemple, 50 millions de comptes Facebook ont été exposés suite à l'exploitation d'une vulnérabilité inhérente à la fonctionnalité « Voir en tant que » du site. Les auteurs de l'attaque ont ainsi pu voler des jetons d'authentification pour l'accès aux comptes après que Facebook a créé une fonctionnalité de téléchargement de vidéos reposant sur une API.

Des données d'Uber ont également été exposées lorsque les identifiants universels uniques (UUID) de ses utilisateurs contenus dans des requêtes d'API ont entraîné la divulgation, dans la réponse de l'API, de jetons pouvant être utilisés pour pirater des comptes. Les pirates ont ensuite pu localiser les victimes et même utiliser frauduleusement le service avec leurs comptes.

Les attaques lancées contre Facebook et Uber constituent ce que l'on appelle des attaques d'API par « corruption de l'authentification des utilisateurs ». Lorsqu'un système d'authentification est incorrectement mis en œuvre, il permet à des acteurs malveillants de s'emparer de jetons d'authentification et expose d'autres failles permettant d'usurper l'identité des utilisateurs.

L'utilisation massive d'adresses IP résidentielles qu'entraîne l'essor du télétravail en raison de l'épidémie de Covid-19 rend encore plus indispensable la séparation des appels API malveillants et légitimes. Les attaques par infiltration de comptes ou par spam de botnets peuvent utiliser jusqu'à 10 000 adresses IP différentes correspondant à des serveurs, des postes de travail et même des équipements IoT compromis.

Déjouer les attaques sur les API exige une bonne stratégie et un bon réseau

Étant donné que les API exposent la logique des applications et des données confidentielles telles que les informations personnellement identifiables (IPI), elles sont une composante vitale de l'infrastructure et de la stratégie de sécurité des entreprises. Pourtant, les stratégies de sécurité des applications web traditionnelles (qui reposent, en grande partie, sur un modèle de « sécurité négative ») ne parviennent pas à arrêter la plupart des menaces liées aux API.

La protection des API par sécurité positive

Dans un modèle de « sécurité négative », chaque requête transite via un pare-feu d'application web (WAF), sauf si elle figure sur une « liste noire » de menaces connues ou suspectées. Ce modèle peut générer des faux positifs et entraîner le blocage d'appels d'API légitimes, et peut également manquer de détecter certaines attaques plus ciblées. Toutefois, les pare-feu d'application web ont un rôle essentiel à jouer dans la sécurité des API. Par exemple, du trafic authentifié transitant par quelques étapes de validation de schéma (par exemple, un terminal, une méthode et des paramètres) peut toujours être porteur d'une attaque SQL, qu'un pare-feu d'application web pourrait permettre d'intercepter. En outre, certaines API ne sont pas adaptées au protocole TLS ou présentent des problèmes de validation de schéma. Si les schémas ne sont pas à jour, ou si les API sont fragmentées et difficiles à regrouper dans un schéma unique, un pare-feu d'application web peut permettre de pallier cette faille.

Cela dit, compter uniquement sur un pare-feu d'application web avec une liste noire pour la sécurisation des API ne suffit pas à protéger efficacement une entreprise. L'atténuation des menaces pour les API peut permettre d'éviter ces risques, grâce à un modèle de « sécurité positive », tel qu'API Shield, qui autorise uniquement les comportements connus, tout en identifiant et en refusant les autres.

La mise en place d'un modèle positif nécessite le déploiement d'un système d'authentification et d'autorisation fiable, qui ne permet ni la réutilisation, ni le partage de mots de passe, par exemple TLS ou OAuth. La gestion des autorisations et du partage des certificats peut être très fastidieuse ; c'est pourquoi les développeurs doivent privilégier les outils qui simplifient autant que possible le processus d'autorisation.

Il n'est bien sûr pas impossible d'extraire un certificat d'un appareil pour le réutiliser ailleurs. Les développeurs ont également besoin d'un moyen de valider eux-mêmes les appels d'API. La validation de schéma peut accomplir cette tâche en établissant une correspondance entre le contenu de requêtes d'API (les paramètres de requête qui suivent l'URL et le contenu du corps de la requête POST) et un contrat ou « schéma » contenant les règles définissant la réponse attendue. En cas d'échec de la validation, l'appel d'API est bloqué, protégeant l'origine contre une requête non valide ou une charge utile malveillante.

Déjouer les attaques contre les API - les réseaux renforcent les outils individuels

S'il est important de garantir une sécurité positive via l'authentification/l'autorisation et la validation des appels d'API, il convient également de recourir à des mesures de sécurité supplémentaires. Par exemple, les API restent encore vulnérables aux attaques volumétriques, aux attaques par force brute et à l'infiltration d'identifiants. Par conséquent, l'atténuation des attaques DDoS et la limitation de débit restent des outils nécessaires dans la posture de sécurité globale d'une entreprise.

L'ajout de nouveaux outils de sécurité aux outils existants, à l'image de l'atténuation des attaques DDoS et de la limitation du débit, peut créer des difficultés. Lorsque les appels d'API transitent par de nombreux outils disparates, ils deviennent plus difficiles à suivre et à journaliser. En outre, l'acheminement du trafic à travers différents outils dans des datacenters géographiquement dispersés peut ajouter de la latence et grever les performances des applications.

La sécurisation des API est ainsi mieux assurée par plusieurs dispositifs de sécurité intégrés à un réseau de périphérie plus vaste, ce qui présente plusieurs avantages :

Conçu pour l'architecture d'entreprise moderne, Cloudflare facilite la sécurisation des API grâce à un contrôle des identités puissant, reposant sur des certificats de clients, et un système de validation strict à base de schémas. Solution intelligente, intégrée et évolutive, ce pare-feu vous permet de protéger vos applications web stratégiques contre les attaques malveillantes, sans modifier votre infrastructure existante.

Cet article fait partie de notre série consacrée aux tendances et sujets d’actualité qui intéressent les décideurs technologiques d’aujourd’hui.

Approfondissez
ce sujet

Consultez le rapport Gartner Magic Quadrant 2020 consacré aux pare-feu d'application pour en savoir plus sur la protection contre les vulnérabilités des API.

Obtenir le guide