Connaître les changements apportés au « Top 10 » des vulnérabilités API de l’OWASP
septembre 2023 par Salt Security
L’OWASP (Open Web Application Security Project), fondation à but non lucratif consacrée à la sécurité des applications web, a publié dernièrement l’édition 2023 de sa liste API Security Top 10. Celle-ci vise à sensibiliser aux risques les plus fréquents qui, en menaçant la sécurité des API, gangrènent les entreprises et aux moyens à mettre en œuvre pour s’en prémunir.
Cette version 2023 est une actualisation de la liste d’origine, publiée en 2019. Depuis lors, les menaces pesant sur la sécurité des API se sont accentuées et ont évolué, ce que met en évidence cette nouvelle mouture. Chez Salt, nous sommes fiers d’avoir participé à la rédaction de la première liste, et d’être de nouveau l’un des principaux contributeurs de sa mise à jour.
Pour que les entreprises gardent une longueur d’avance sur les risques toujours plus nombreux visant les API, il importe qu’elles connaissent ces domaines de vulnérabilités. Sont répertoriées ci-après les principales menaces et vulnérabilités figurant dans la nouvelle liste, et les différences notables par rapport à la liste d’origine :
● API1:2023 – Broken Object Level Authorization (BOLA)
Le vecteur d’attaque de type BOLA (Broken Object Level Authorization) trouve sa source dans l’absence de contrôles d’accès adéquats sur les points de terminaison API, laquelle permet à des utilisateurs non autorisés d’accéder à des données sensibles et de les modifier. BOLA est la menace la plus fréquente côté API, représentant environ 40 % de toutes les attaques ciblant celles-ci. Les vulnérabilités BOLA, qui figurent en tête de la liste de l’OWASP depuis 2019, demeurent indétrônables dans sa version 2023.
● API2:2023 – Broken Authentication
Une authentification défaillante permet aux pirates de recourir à des jetons d’authentification dérobés, au credential stuffing (ou « bourrage d’identifiants ») et à des attaques par force brute pour se ménager un accès non autorisé à des applications. La fonctionnalité incorrecte de « social login » (identification via un compte sur un réseau social) sur Booking.com, aujourd’hui corrigée, est un parfait exemple d’authentification défaillante, qui a pu donner lieu à des attaques de type ATO (Account Takeover), autrement dit occasionner des piratages de comptes. Cette vulnérabilité dans la sécurité des API conserve sa deuxième place au classement de la liste de l’OWASP depuis 2019.
● API3 : 2023 – Broken Object Property Level Authorization
Le vecteur de type BOPLA (Broken Object Property Level Authorization) fusionne les attaques imputables à l’obtention d’un accès non autorisé à des informations sensibles, soit par « Exposition excessive de données » (catégorie qui figurait jusqu’ici en troisième position sur la liste 2019 de l’OWASP), soit par « Attribution de masse » (jusqu’ici en sixième position sur cette même liste). Ces deux techniques recourent à la manipulation de points de terminaison API pour accéder à des données névralgiques.
● API4:2023 Unrestricted Resource Consumption
Les API qui ne mettent pas correctement en œuvre ou n’encadrent pas la consommation de ressources sont extrêmement vulnérables aux attaques par force brute. La catégorie « Consommation illimitée de ressources » remplace la précédente catégorie n°4 de la liste API Security Top 10 de l’OWASP, « Manque de ressources et limitation du débit ». En dépit d’une nouvelle désignation, cette vulnérabilité demeure globalement inchangée.
● API5 : Broken Function Level Authorization
Si l’autorisation n’est pas correctement implémentée, des utilisateurs non autorisés peuvent exécuter des fonctions via l’API, comme l’ajout, la mise à jour ou la suppression d’une fiche client ou d’un rôle utilisateur. Le classement de cette catégorie, à la cinquième position, demeure inchangé depuis 2019.
● API6 : Unrestricted Access to Sensitive Business Flows
Cette nouvelle menace, qui remplace « Attribution de masse » à la sixième place de la liste de l’OWASP, se produit dès lors qu’une API expose un flux métier sans compenser le préjudice que pourrait causer une utilisation excessive de cette fonctionnalité par l’automatisation. Pour exploiter cette vulnérabilité, un pirate devra cerner la logique métier derrière l’API en question, repérer les flux métier stratégiques et automatiser l’accès à ceux-ci pour nuire à l’entreprise.
● API7 : Server-Side Request Forgery (SSRF)
Une faille SSRF se produit lorsqu’une URL saisie par l’utilisateur esquive une API pour être traitée par le serveur back-end. Si le serveur back-end tente de se connecter à l’URL fournie par l’utilisateur, c’est aussitôt une porte ouverte à l’exploitation de cette vulnérabilité. Cette menace remplace « Attribution de masse » à la sixième place de la liste de l’OWASP.
● API8 : Security Misconfigurations
Cette appellation fourre-tout englobe un large éventail d’erreurs de configuration de sécurité qui portent souvent préjudice à la sécurisation des API dans son ensemble et introduisent malencontreusement des vulnérabilités. Cette menace figurait jusqu’à présent en septième position au classement de la liste de l’OWASP publiée en 2019.
● API9 : Improper Inventory Management
Un parc obsolète ou incomplet donne lieu à des failles inconnues dans la surface d’attaque des API et complique l’identification des anciennes versions d’API à mettre hors service. La catégorie « Mauvaise gestion du parc » remplace « Mauvaise gestion des ressources » à la neuvième place de la liste API Security Top 10 de l’OWASP ; si la nouvelle appellation met l’accent sur l’importance de disposer d’un parc d’API précis et à jour, la menace, elle, demeure inchangée. Le piratage d’Optus entre dans cette catégorie : deuxième opérateur télécoms en Australie, Optus a laissé fuiter plus de 11,2 millions de dossiers clients contenant plusieurs dizaines d’informations nominatives en raison d’une API « oubliée » accessible au public.
● API10 : Unsafe Consumption of APIs
Cette vulnérabilité trouve sa source dans l’usage impropre des API par les clients d’API, comme dans le contournement des contrôles d’authentification ou la manipulation des réponses API, qui peuvent aboutir à des accès non autorisés et à une exposition des données. Cette vulnérabilité API peut être exploitée en employant les données des API elles-mêmes ou en utilisant abusivement des intégrations tierces. La catégorie « Exploitation peu sûre des API » remplace « Journalisation et surveillance insuffisantes » à la dixième place de la liste API Security Top 10 de l’OWASP. L’exemple le plus pertinent, dans cette catégorie, est sans doute celui de la tristement célèbre faille Log4Shell.
Les API jouent un rôle charnière dans les applications modernes actuelles et dynamisent l’innovation des entreprises. Mais elles sont aussi devenues une cible de choix pour les pirates. En connaissant les principaux facteurs de menaces les concernant, vous serez mieux à même de mettre en place une stratégie de sécurisation des API à la fois solide et mature.