Guide sur la sécurité des API
25 avril 2023
0 minutes de lectureWordPress alimente plus de 40 % d’Internet, ce qui rend d’autant plus inquiétantes les récentes informations concernant une faille de sécurité exposant une API.
En janvier 2022, un chercheur en sécurité a découvert que plus de 20 000 sites WordPress étaient vulnérables à l’injection de code malveillant, aux campagnes d’hameçonnage et à la prise de contrôle de sites, en raison d’une API REST mal configurée dans une extension WordPress. L’API REST devait permettre aux utilisateurs de mettre à jour les modèles de leur site et d’en modifier les paramètres, mais son point de terminaison ne comportait aucune authentification pour empêcher les pirates de l’exploiter.
Les failles de sécurité des API de ce type ne sont pas rares. Gartner a récemment prédit que les attaques contre les API deviendraient le vecteur d’attaque le plus fréquent. Cet article explique pourquoi la sécurité des API est essentielle et quelles bonnes pratiques les entreprises peuvent mettre en œuvre pour mieux protéger leurs API.
Qu’est-ce que la sécurité des API ?
La sécurité des API est un volet important de la sécurité des applications. Elle vise à sécuriser les services d’API afin d’éviter les fuites de données et les utilisations abusives. Une API (interface de programmation d’applications) permet à différents logiciels de communiquer entre eux, tout en respectant la logique métier et les règles auxquelles un utilisateur humain serait soumis dans l’interface. Les API masquent la complexité des interactions avec les logiciels, ce qui permet à différentes applications de fonctionner ensemble et aux utilisateurs de naviguer facilement entre ces interactions. Comme toute autre interface, les API peuvent présenter un risque de sécurité. La solution consiste toutefois à les sécuriser, et non à les éviter.
Pourquoi la sécurité des API est-elle importante ?
La sécurité des API est importante, car si des pirates parviennent à accéder à une API et à la contrôler, ils peuvent contrôler les services auxquels vos API sont connectées et même voler les données qu’elles utilisent. Les API sont les canalisations du monde logiciel : y accéder signifie donc inévitablement accéder aux données qu’elles acheminent d’un produit à un autre ou d’un service à un autre. Les types d’API les plus courants, notamment GraphQL et REST, doivent être sécurisés pour empêcher tout accès malveillant. Consultez notre guide pour créer une API GraphQL sécurisée.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
Quel est le rôle de la sécurité des API dans la sécurité des applications ?
Traditionnellement, la sécurité des API relève des ingénieurs en sécurité. Cependant, ces dernières années, à mesure que les entreprises intègrent la sécurité plus tôt dans le cycle de développement et adoptent des approches DevSecOps, les développeurs en sont de plus en plus responsables. Une étude de 42Crunch, une plateforme de sécurité des API, a montré que dans 44 % des entreprises, l’équipe de développement était principalement responsable de la sécurité des API.
Même si les API présentent des menaces qui leur sont propres, leur sécurisation s’inscrit parfaitement dans le cadre de la sécurité moderne des applications. Les applications comprennent souvent de nombreuses API : tout effort visant à sécuriser une application doit donc nécessairement inclure la sécurisation des API dont elle dépend.
Menaces courantes visant les API
Les risques courants liés aux API vont des erreurs d’implémentation à l’absence de limitation du débit. L’OWASP met en évidence les dix menaces de sécurité les plus courantes pour les API :
Défaillance de l’autorisation au niveau des objets
Défaillance de l’authentification des utilisateurs
Exposition excessive de données
Manque de ressources et absence de limitation du débit
Authentification défaillante au niveau des fonctions
Affectation de masse
Mauvaise configuration de sécurité
Injection
Mauvaise gestion des ressources
Journalisation et surveillance insuffisantes
Nous avons analysé cette liste plus en détail dans notre article sur les dix principaux risques liés aux API selon l’OWASP.
10 bonnes pratiques pour la sécurité des API
1. Utilisez des passerelles d’API
Une passerelle d’API aide les entreprises à acheminer les requêtes d’API, à organiser les réponses et à gérer les accords de niveau de service (SLA). Elle facilite l’utilisation des API, mais constitue aussi une mesure de sécurité essentielle, car elle fournit des fonctions de chiffrement et de contrôle des accès.
2. Utilisez correctement l’authentification à tous les niveaux
Un élément essentiel de la sécurité des API consiste à s’assurer que la bonne application envoie la bonne requête. Les trois formes d’authentification les plus courantes pour les API sont l’authentification HTTP Basic, l’authentification OAuth et l’authentification par clé d’API. Il est préférable d’authentifier les API à tous les niveaux et de veiller à la manière dont vous stockez vos clés d’API.
3. Chiffrez les requêtes et les réponses
Les API sont souvent vulnérables aux attaques de type « homme du milieu », lors desquelles des pirates s’interposent dans le trafic des API pour l’observer ou le détourner. La bonne pratique consiste à chiffrer tout transfert de données entre un utilisateur et un serveur d’API, ainsi qu’entre un serveur d’API et un utilisateur. Grâce au chiffrement, même si des pirates interceptent des requêtes ou des réponses, ils ne peuvent pas comprendre les données volées. Lors de la configuration des API, utilisez HTTPS partout pour garantir le chiffrement des données.
4. N’incluez pas d’informations superflues dans une API
La sécurité des API repose sur le « principe du moindre privilège » : lors de la création d’une API, vous ne devez inclure que les informations nécessaires, et rien de plus. Moins vous transmettez d’informations, moins une éventuelle violation de données aura de conséquences.
5. Effectuez régulièrement des tests de sécurité et recherchez les vulnérabilités des API
Même lorsque les autres bonnes pratiques de sécurité des API sont appliquées, les entreprises doivent effectuer régulièrement des tests de sécurité et analyser leurs API à la recherche de vulnérabilités. Ces tests et analyses réguliers restent utiles même pour les entreprises qui ont réussi à intégrer la sécurité plus tôt dans le cycle de développement.
6. Collectez les journaux des API
Une sécurité efficace des applications dépend en partie de processus efficaces de collecte et d’analyse des journaux. Avec un système de journalisation efficace, vous pouvez consigner chaque appel à une opération d’API et suivre chaque événement lié aux API. Ces données détaillées peuvent vous aider à détecter les attaques malveillantes avant qu’elles ne se produisent et à analyser a posteriori leur déroulement. Veillez à savoir quelles données vos journaux collectent afin de ne pas conserver d’informations sensibles, telles que des données personnelles ou des données de sécurité.
7. Définissez des quotas et limitez le débit des requêtes d’API
Les attaques par déni de service distribué (DDoS), parmi les plus anciennes attaques de cybersécurité, peuvent également viser les API. Lorsqu’une attaque DDoS cible une API, elle vise souvent à la fois le serveur qui l’héberge et chacun de ses points de terminaison. Pour prévenir ces attaques, définissez des quotas de trafic et des limites de débit pour les API, et régulez les requêtes afin de restreindre le flux de trafic.
8. Sensibilisez votre équipe aux 10 principaux risques de sécurité des API selon l’OWASP
La cybersécurité repose largement sur la répétition plutôt que sur l’innovation : la plupart des attaques réussies ne résultent pas de techniques inédites, mais de l’exploitation de failles bien connues. Prenez le temps de sensibiliser votre équipe aux dix principaux risques de sécurité des API selon l’OWASP, qui répertorient les risques les plus courants. Snyk Learn propose également des cours gratuits sur la sécurité à destination des développeurs, pour aider votre équipe à mieux comprendre les concepts de cybersécurité.
9. Validez et assainissez les données des API
Valider et assainir les données des API permet de s’assurer que les données reçues correspondent à vos attentes. La validation consiste à vérifier que les données reçues sont du type et du format attendus. L’assainissement consiste à supprimer les caractères dangereux des données reçues.
10. Mettez à jour les services et la documentation des API
Une autre pratique essentielle en cybersécurité, qui s’applique aussi à la sécurité des API, consiste à tout maintenir à jour. Pour la sécurité des API, cela signifie notamment s’assurer que les API sont à jour et que leur documentation l’est également.
Comment Snyk peut vous aider à sécuriser vos API
La puissance même des API les rend dangereuses. Il est donc essentiel que toutes les entreprises adoptent les bonnes pratiques de sécurité des API et utilisent les outils disponibles pour les sécuriser.
Snyk peut vous aider à préserver la sécurité de vos API de quatre façons :
De nombreux services d’API backend reposent sur des bibliothèques open source : utilisez Snyk pour détecter les versions vulnérables.
Les développeurs utilisent et créent fréquemment des API : utilisez Snyk Code pour effectuer des tests de sécurité statiques des applications.
Les conteneurs sont souvent utilisés pour déployer des services d’API : utilisez l’analyse de Snyk Container pour détecter les vulnérabilités du système d’exploitation et de l’environnement d’exécution.
Les services d’API backend sont souvent déployés dans le cloud à l’aide de l’infrastructure as code : utilisez Snyk pour vérifier que la configuration de votre infrastructure as code n’expose aucune faille de sécurité.
Les API sont puissantes : ne les laissez pas tomber entre de mauvaises mains. Appliquez ces bonnes pratiques de sécurité et utilisez des outils d’analyse pour protéger vos API et toutes les données auxquelles elles accèdent.
Lancez-vous dans les challenges Capture The Flag
Apprenez à résoudre des challenges Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
