Guides techniques 14 min de lecture

Test d'intrusion d'API selon l'OWASP API Security Top 10 : sécuriser vos interfaces applicatives en Suisse

Les interfaces de programmation applicative (API) véhiculent l'immense majorité des données sensibles entre portails clients, applications mobiles bancaires et logiciels de gestion d'entreprise. Elles constituent aujourd'hui la surface d'attaque la plus exploitée. Guide d'audit selon le référentiel OWASP API Top 10.

L'essentiel de la sécurité des API

  • Le risque n° 1 BOLA (Broken Object Level Authorization) : Permet à un utilisateur authentifié de consulter les dossiers ou factures d'un tiers en modifiant simplement un identifiant dans l'URL.
  • L'invisibilité pour les scanners web traditionnels : Sans documentation OpenAPI/Swagger ni compréhension de la logique d'authentification par jeton (JWT), un scanner classique est totalement aveugle face aux failles d'API.
  • Protection des données sensibles : Les failles d'API exposent directement les entreprises à des amendes pénales nLPD en cas d'exfiltration de bases clients entières.

1. Pourquoi les API sont-elles les cibles préférées des assaillants ?

Une application web traditionnelle renvoie du code HTML formaté pour un navigateur. Une API renvoie directement des données brutes au format JSON ou XML. Lorsqu'un développeur oublie de vérifier les droits d'accès à chaque point de terminaison (endpoint), l'attaquant peut aspirer l'intégralité d'une base de données citoyenne ou bancaire en quelques requêtes automatisées.

2. Les failles critiques selon l'OWASP API Security Top 10

Référence OWASP Description de la vulnérabilité Exemple d'attaque concrète
API1:2023 - BOLA Rupture d'autorisation au niveau de l'objet Remplacer /api/patients/1042/dossier par /api/patients/1043/dossier et accéder aux dossiers médicaux d'autres personnes sans blocage.
API2:2023 - Broken Authentication Défaut d'authentification Jetons JWT mal signés avec algorithme « none », absence de révocation de jeton lors de la déconnexion, ou expiration infinie.
API3:2023 - BOPLA Rupture d'autorisation au niveau de la propriété de l'objet Attaque de type Mass Assignment : envoyer {"is_admin": true} lors de l'enregistrement de profil pour s'auto-promouvoir administrateur.
API4:2023 - Unrestricted Resource Consumption Consommation de ressources non restreinte Absence de limitation de débit (Rate Limiting) permettant de faire saturer les serveurs de production en requêtes simultanées.