État des API
Au cours des dernières années, de nombreuses organisations ont entrepris une transformation numérique, un processus qui s’est accéléré en raison de la pandémie de COVID-19.
Et les API jouent un rôle majeur dans cette transformation. Dans le cadre de leur transformation numérique, nombre de ces mêmes organisations affirment désormais adopter une approche « API-First ». Une organisation « API-First » commence par concevoir les API avant de développer une application. Elle s’appuie ensuite sur ces API pour concevoir le reste de l’application. L’objectif est que l’application exploite ces API fondamentales pour communiquer avec d’autres applications et en récupérer des informations.
Ces organisations développent et utilisent généralement des API afin de soutenir leurs partenariats avec des organisations externes, de réduire leurs délais et leurs coûts de développement, et d’améliorer l’interopérabilité entre leurs systèmes, outils et équipes internes.
Comme l’indique le rapport State of Application Strategy 2021 de F5 Labs, les API constituent également la pierre angulaire de la modernisation des applications. Elles sont utilisées pour faciliter l’adaptation et la mise à jour d’applications classiques plus anciennes afin qu’elles prennent en charge des langages, des outils et des plateformes applicatifs plus récents et plus modulaires. Par ailleurs, les API, qu’elles soient bonnes ou mauvaises, représentent désormais la grande majorité du trafic web total.
C’est le premier tranchant de « l’épée à double tranchant » que représentent les API.
Selon Gartner, le second tranchant de l’« épée à double tranchant » que représentent les API est que leur exploitation abusive deviendra le vecteur d’attaque le plus fréquent d’ici 2022. Les attaquants savent que les API peuvent présenter des vulnérabilités, voire être laissées sans protection par certaines organisations, car elles reposent sur un flux ouvert de données et d’informations échangées entre leur application et d’autres applications. Dans d’autres cas, il s’agit simplement d’un oubli, mais celui-ci offre aux attaquants un point d’entrée rapide et facile pour compromettre une application. Cette situation nécessite un traitement particulier, notamment une prise en charge native de l’ensemble des protocoles et technologies d’API utilisés dans le secteur.
API GraphQL
GraphQL est une technologie d’API relativement récente qui a connu une croissance rapide ces dernières années et continue de gagner du terrain. Développé en interne par Facebook en 2012 et désormais intégré à la Linux Foundation, GraphQL permet de surmonter des difficultés majeures propres aux API REST. Les organisations se tournent vers GraphQL plutôt que vers REST ou SOAP pour développer leurs API.
Ces défis comprennent notamment la récupération insuffisante ou excessive de données, l’accélération du développement front-end sans avoir à créer de nouveaux points de terminaison d’API (GraphQL utilise un point de terminaison unique), de puissantes analyses côté back-end grâce aux requêtes GraphQL, ainsi qu’un schéma structuré et un système de types.
L’année dernière, GraphQL avait déjà atteint un taux d’adoption de plus de 22 % dans le secteur1, touchant ainsi les innovateurs, les adopteurs précoces et la majorité précoce du cycle d’adoption de l’innovation.
GraphQL devrait devenir l’une des principales normes pour les API dans les années à venir.
Sécurité de GraphQL
Cependant, la croissance fulgurante et l’adoption de GraphQL ont également rapidement attiré l’attention des cybercriminels, dont certains ont déjà commencé à exploiter les vulnérabilités de l’écosystème GraphQL et à développer des outils pour les attaquer.
Les techniques d’attaque visant les API utilisant GraphQL comprennent les bonnes vieilles injections SQL, ainsi que de nouvelles attaques qui exploitent la spécification GraphQL pour révéler des données sur l’API et les utiliser à l’avantage de l’attaquant.
En outre, de nouvelles méthodes d’attaque par déni de service (DoS) exploitant les API conçues avec GraphQL ont fait leur apparition et épuisent rapidement les ressources des serveurs.
À partir d’Advanced WAF v16.1, F5 prend désormais en charge nativement la sécurité des API GraphQL.
Avant toute chose, F5 a développé une analyse native du trafic GraphQL afin de permettre l’application des signatures d’attaque d’Advanced WAF.
D’une part, cette approche détectera les attaques aux emplacements appropriés de la charge utile (en appliquant les signatures aux valeurs) ; d’autre part, elle évitera les faux positifs dus à l’application des signatures d’attaque aux parties inappropriées des requêtes GraphQL.
Deuxièmement, F5 crée le modèle de stratégie GraphQL et le profil de contenu dans le cadre de la stratégie de sécurité des applications.
Dans ce nouveau profil de contenu, l’utilisateur peut configurer la longueur totale des paramètres ainsi que la longueur de leurs valeurs, et les limiter conformément à sa politique.
En outre, l’utilisateur peut configurer la profondeur maximale de la structure afin d’éliminer les requêtes GraphQL récursives susceptibles d’entraîner une attaque par déni de service (DoS), ainsi que le nombre maximal de requêtes groupées afin de limiter le nombre de requêtes GraphQL distinctes dans une même requête HTTP.
Les requêtes d’introspection peuvent également être contrôlées, car elles pourraient sinon aider les attaquants à comprendre la structure de l’API et à compromettre plus facilement une application.

Pour lutter contre ce phénomène, F5 a également ajouté la prise en charge de la configuration déclarative des politiques, la protection contre les attaques DoS volumétriques grâce à sa fonctionnalité Behavioral DoS, ainsi que le filtrage des réponses à l’aide de la fonctionnalité DataGuard de F5 Advanced WAF.
En résumé, GraphQL offre de nouvelles façons de créer et de gérer des API, d’accélérer la modernisation des applications classiques existantes et de soutenir la transformation numérique. Mais comme toujours, de nouvelles menaces apparaissent pour exploiter les failles de toute nouvelle technologie, et vous risquez d’être pris au dépourvu.
Commencez dès aujourd’hui à protéger vos API GraphQL avec F5 Advanced WAF !
Pour en savoir plus, consultez notre article sur DevCentral ainsi que notre leçon Lightboard sur YouTube.
1 Rapport 2020 sur l’état des API, Postman
À propos de l’auteur
Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.
L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).
Appliquer le principe de Peter Parker à l’inspection TLS
« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.
Le NetOps a besoin de défenseurs, pas d’adversaires
Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.
Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…
Les templates prennent le contrôle du cloud
Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.