Les principaux risques pour la sécurité des API

OWASP Top 10 API

Quatre ans après, l’OWASP a actualisé son Top 10 des risques de sécurité pesant sur les API. Comment a-t-il évolué ?

Est-il plus facile de détecter des problèmes d’authentification sur les API aujourd’hui qu’il y a quatre ans ? Oui, si on s’en refère à l’OWASP (Open Worldwide Application Security Project).

L’organisation vient de mettre en ligne son deuxième Top 10 consacré aux risques de sécurité pesant sur les API. Elle avait publié le premier en mai 2019.

De l’un à l’autre, le tableau des principales menaces a changé… modérément. La majorité de celles listées voilà quatre ans le sont toujours. Les problèmes d’authentification en font partie. Ils sont toujours communs et facilement exploitables, selon l’OWASP. Entrent dans cette catégorie les vulnérabilités de type :

– Envoi d’éléments d’authentification sensibles dans les URL
– Absence de validation de l’authenticité des tokens et/ou de leur date d’expiration
– Utilisation de mots de passe et/ou de clés de chiffrement faibles

Ces problèmes d’authentification peuvent entraîner la prise de contrôle de comptes utilisateurs. Aussi l’OWASP leur attribue-t-il le score d’impact maximal (3/3).

Objets, attributs, fonctions… Des autorisations problématiques

Autre risque resté présent au Top 10 : les problèmes d’autorisation au niveau des objets. Fondés sur la manipulation des identifiants d’objets envoyés avec les requêtes, ils peuvent aboutir à la diffusion, la perte ou la modification de données, voire la prise de contrôle complète d’un compte. Une vulnérabilité d’autant plus commune que souvent, le composant serveur ne suit pas complètement l’état du client (pour déterminer à quel objet accéder, il se fonde sur des paramètres… dont les fameux ID).

Les problèmes d’autorisation au niveau des fonctions restent eux aussi au Top 10. Leur principe, dans les grandes lignes : accéder à des endpoints auxquels on ne devrait pas pouvoir accéder. Exemple : en changeant simplement la méthode HTTP, un utilisateur effectue des actions sensibles alors qu’il n’y est pas autorisé. Principales cibles : les tâches administratives.

Nouveauté 2023, les problèmes d’autorisation au niveau des attributs d’objet. Cette catégorie combine en fait deux anciennes. Nommément, exposition excessive de données (les réponses de l’API comprennent des éléments sensibles qui ne devraient pas être retournés à l’utilisateur) et assignation massive (filtrage inapproprié au niveau des points d’accès API). Elle traduit le fait que les API – en particulier REST – tendent à exposer des points d’accès qui retournent tous les attributs des objets. Principal risque : l’exposition, la perte ou la corruption de données. Sous certaines circonstances, l’élévation de privilèges ou la prise de contrôle de comptes sont possibles.

Ressources non plafonnées et flux mal protégés

Deux problèmes « intemporels » sont demeurés entre 2019 et 2023 : les mauvaises configurations de sécurité et le manque de limites sur l’usage des ressources. Pour les premières, on parle par exemple de l’utilisation de méthodes HTTP non nécessaires, de messages d’erreur contenant des informations sensibles ou d’absence d’envoi d’instructions d’en-têtes sécurisées au client. Pour les deuxièmes, du mauvais paramétrage de la durée maximale d’exécution, du maximum de mémoire allouable, du nombre de processus, de la taille des charges utiles, etc.

La catégorie « injection » a disparu du Top 10 entre 2019 et 2023. Même chose pour la journalisation et la supervision insuffisantes (logs pas assez détaillés et/ou dont l’intégrité n’est pas garantie, infrastructure de l’API pas monitorée entre permanence…). À la place, il y a, d’une part, l’accès à des flux commerciaux sensibles (ouverts sans anticiper la possibilité d’usages excessifs). Et de l’autre, la contrefaçon de requête côté serveur. Cette attaque peut se produire lorsqu’une API récupère une ressource distante sans valider l’URI fourni par l’utilisateur. Les risques vont jusqu’au déni de service et au contournement de mécanismes de sécurité.

L’OWASP évalue chaque catégorie de risques sous quatre angles : exploitabilité, prévalence, détectabilité et impact. Elle leur attribue des notes de 1 à 3. Plus la note est élevée, plus un risque est exploitable, prévalent, détectable et impactant. En gras, les valeurs qui ont évolué entre 2019 et 2023.

Photo d’illustration générée par IA