Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

API Versioning Security

devsecops

Définition

L'API Versioning Security désigne les pratiques de sécurisation associées à la gestion des versions d'APIs dans leur cycle de vie. La versioning des APIs (v1, v2, v3) est une pratique standard permettant d'introduire des changements incompatibles sans casser les clients existants — mais elle crée des risques de sécurité spécifiques quand les anciennes versions restent accessibles sans les contrôles de sécurité des versions récentes. Le problème central de l'API versioning de sécurité est la divergence progressive des niveaux de sécurité entre versions. L'équipe de développement corrige une vulnérabilité dans l'API v3, mais n'applique pas le correctif à la v1 et v2 "bientôt dépréciées". Les attaquants, qui scannent systématiquement les anciennes versions d'API, exploitent ces vulnérabilités corrigées dans les versions récentes mais pas dans les anciennes. Ce pattern est documenté dans l'API9 OWASP (Improper Inventory Management) et dans de nombreux cas d'exploitation réels. La gestion sécurisée du versioning d'API nécessite plusieurs pratiques. La politique de parité de sécurité : tout correctif de sécurité appliqué à une version doit être appliqué à toutes les versions actives supportées — cette contrainte rend les versions multiples coûteuses à maintenir et accélère les sunsets. La politique de support limité : une politique formelle définit combien de versions majeures sont simultanément supportées (souvent N et N-1) et la durée de support. La liste exhaustive des versions actives dans l'API Inventory : impossible de maintenir la parité de sécurité sans savoir combien de versions sont actives. Les patterns d'URL de versioning (/v1/, /v2/ dans le chemin, Accept: application/vnd.api+json;version=2 dans les headers, ou subdomain api-v1.example.com) influencent la facilité de découverte et d'isolation des versions. Les versions dans les subdomains ou les chemins sont plus facilement bloqueables au niveau du WAF ou du load balancer que les versions dans les headers.

Politique de parité de sécurité entre versions

La parité de sécurité exige que toute correction de sécurité soit appliquée à toutes les versions actives, pas seulement à la dernière. En pratique, cela signifie : maintenir des branches actives pour chaque version supportée, inclure les correctifs de sécurité dans le backport process, et tester les corrections sur toutes les versions avant déploiement. Cette contrainte est coûteuse et justifie une politique agressive de sunset des anciennes versions : chaque version en moins = moins de surface à maintenir.

Versioning des APIs et gestion des sunsets

Un processus de sunset d'API version bien géré : annonce officielle avec date minimum 6 mois à l'avance (communications dans le portail développeur, emails aux consommateurs enregistrés), monitoring de l'usage de la version dépréciée (qui utilise encore la v1 ?), incentivation à migrer (documentation de migration, support technique), et blocage effectif à la date annoncée (retourner 410 Gone avec message de migration). Sans sunset actif, les versions s'accumulent indéfiniment, chacune représentant une surface d'attaque additionnelle.

Détection des API Versions non documentées

Les attaquants utilisent plusieurs techniques pour découvrir les versions non documentées d'une API : fuzzing des chemins URL (/api/v0/, /api/v1/, /api/v2/...), analyse des applications mobiles (les anciens clients gardent souvent des références aux anciennes versions d'API dans leur code), analyse de l'historique Git et des changelogs publics, et Wayback Machine (pour les APIs dont les anciennes URLs étaient publiques). Un pentest d'API doit systématiquement inclure la découverte d'anciennes versions comme première étape de reconnaissance.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis