OWASP API Security Top 10 RC

image
Ce projet est destiné à un nombre toujours croissant d'organisations qui implémentent des API potentiellement sensibles dans le cadre de leurs solutions logicielles. Les API sont utilisées pour des tâches internes et pour interagir avec des services tiers. Malheureusement, de nombreuses API ne passent pas de tests de sécurité rigoureux qui les mettraient à l'abri des attaques, élargissant ainsi le paysage des menaces pour l'application Web.

Le projet de sécurité OWASP API Security Top 10 est conçu pour mettre en évidence les risques potentiels dans les API dangereuses et suggérer des mesures pour atténuer ces risques.

OWASP


Le projet OWASP est référencé par de nombreuses normes, outils et organisations, dont MITRE, PCI DSS, DISA, FTC et bien d'autres. Méthodologies OWASP est une méthodologie reconnue pour évaluer les vulnérabilités des applications Web dans le monde entier. Les projets OWASP reflètent les menaces les plus importantes pour les applications Web et mobiles, les API, décrivent les méthodes et méthodologies de test.

En tant que développeurs ou consultants en sécurité, de nombreuses personnes ont rencontré une API dans le cadre d'un projet. Bien qu'il existe des ressources pour aider à créer et à évaluer ces projets (par exemple, le cheat sheet de sécurité OWASP REST ), aucun projet de sécurité complet n'a été développé pour aider les développeurs, les pentesters et les professionnels de la sécurité.

API MODERNE


Ce document est au statut Release Candidat; une présentation officielle est prévue pour le deuxième trimestre 2020. L'API Security se concentre sur des stratégies et des solutions pour comprendre et atténuer les vulnérabilités et les risques de sécurité uniques des interfaces de programmation d'applications (API).

Ce qui est devenu la condition préalable à la création de cette feuille:

  • Les appareils clients deviennent de plus en plus diversifiés et complexes.
  • La logique passe du backend au frontend (avec quelques vulnérabilités).
  • Moins de couches d'abstraction.
  • Le client et le serveur (et la base de données) "parlent" dans le même langage JSON.
  • Le serveur est davantage utilisé comme proxy pour les données.
  • Le composant de rendu est le client, pas le serveur.
  • Les clients consomment des données brutes.
  • Les API révèlent l'implémentation sous-jacente de l'application.
  • Le statut de l'utilisateur est généralement maintenu et surveillé par le client.
  • Chaque requête HTTP envoie des paramètres supplémentaires (identifiants d'objet,
  • filtres).

Une application Web moderne est presque impossible à imaginer sans l'aide d'une API.



Top 10 de la sécurité de l'API OWASP


A1 Autorisation incorrecte au niveau de l'objet


Souvent, les API exposent les points de terminaison qui sont responsables des identifiants, ce qui ouvre de grandes possibilités d'attaques au niveau du contrôle d'accès. Les vérifications d'autorisation au niveau de l'objet doivent être implémentées dans chaque fonction qui accepte l'entrée utilisateur.

A2 Authentification non valide


Les mécanismes d'authentification sont souvent mis en œuvre de manière incorrecte, ce qui permet aux attaquants de compromettre les jetons d'authentification ou d'exploiter des erreurs dans la mise en œuvre afin d'usurper l'identité d'un autre utilisateur de manière temporaire ou permanente. Compromettre la capacité du système à identifier le client / utilisateur compromet la sécurité de l'ensemble de l'API.

A3 Emission d'informations redondantes


Dans un souci de standardisation, les développeurs peuvent divulguer tous les paramètres de l'objet, sans tenir compte de la criticité de chacun d'entre eux, en espérant que le client filtrera les données avant de les montrer à l'utilisateur.

A4 Absence de limites sur les ressources et les demandes


Très souvent, les API n'imposent aucune restriction sur la taille ou la quantité de ressources demandées par l'utilisateur. Cela peut entraîner non seulement une dégradation des performances et même du DoS, mais également des attaques d'authentification - par exemple, bruteforce.

A5 Autorisation incorrecte des fonctions


Des politiques d'accès complexes avec des hiérarchies, des groupes et des rôles différents, ainsi qu'une séparation opaque entre les fonctions administratives et normales, entraînent souvent des vulnérabilités dans l'autorisation. En exploitant ces vulnérabilités, les attaquants ont accès aux ressources d'autres utilisateurs ou aux fonctionnalités de l'administrateur.

A6 Réattribution des paramètres


La liaison de données reçues du client (par exemple, en JSON) à des modèles de données sans filtrage entraîne généralement une réaffectation des paramètres. Les attaquants, en explorant l'API, en lisant la documentation ou simplement en devinant peuvent ajouter des paramètres «supplémentaires» aux demandes, en modifiant les objets auxquels ils n'ont pas accès.

Erreurs des paramètres de sécurité A7


Les erreurs dans les paramètres de sécurité sont le plus souvent le résultat de paramètres par défaut, de «béquilles», d'un stockage dans les nuages, d'une configuration incorrecte des en-têtes HTTP, de méthodes HTTP inutiles, de paramètres CORS trop larges et d'une sortie d'erreur activée.

Injection A8


Vulnérabilités d'injection telles que SQL, NoSQL, injection de code / commande, etc. se produit lorsque des données non fiables sont envoyées au gestionnaire dans le cadre d'une demande ou d'une commande. Les données incorporées par l'attaquant peuvent «tromper» le gestionnaire et il exécutera une commande arbitraire ou recevra des données sans autorisation appropriée.

A9 Gestion des ressources incorrecte


Les API fournissent souvent plus de fonctionnalités que les applications Web traditionnelles, il est donc particulièrement important que la documentation soit complète et à jour. Les API correctement installées et configurées jouent un rôle important dans la protection contre les problèmes tels que l'accès ouvert aux anciennes versions de l'API et la fonctionnalité de débogage.

A10 Enregistrement et surveillance inadéquats


Une journalisation et une surveillance inadéquates, associées à une mauvaise ou à une faible intégration dans les processus de réponse, permettent aux attaquants de développer leurs attaques, de prendre pied dans le réseau, de capturer de nouvelles cibles, de télécharger ou de détruire des données. La plupart des enquêtes de piratage montrent que le temps de détection moyen dépasse 200 jours, et le fait de piratage est détecté par des entrepreneurs externes, plutôt que par des systèmes de surveillance internes.

OWASP API Security Top 10 2019


Chapitre OWASP Russie : OWASP Russie
Chat OWASP Russie: https://t.me/OWASP_Russia
Chaîne OWASP Russie: https://t.me/OWASP_RU

Source: https://habr.com/ru/post/fr470395/


All Articles