Les interfaces applicatives sont devenues la surface d’attaque principale de beaucoup d’organisations, et la moins testée. Elles échappent souvent aux audits parce qu’elles n’ont pas d’interface visible.
Voici les défauts que nous retrouvons le plus souvent.
Ces quatre défauts ne se corrigent pas par une mise à jour : ils supposent de reprendre la logique d’autorisation, ressource par ressource. Source : OWASP API Security Top 10.
1. Le contrôle d’accès au niveau de l’objet
Le défaut numéro un, et de loin. L’application vérifie que l’utilisateur est authentifié, mais pas qu’il a le droit d’accéder à cet objet précis.
Concrètement : une requête sur un identifiant de commande retourne la commande d’un autre client si on modifie le numéro. L’authentification fonctionne, l’autorisation non.
C’est trivial à exploiter, souvent invisible dans les journaux applicatifs, et cela figure en tête de la classification OWASP API Security Top 10.
2. L’exposition excessive de données
L’interface retourne l’objet complet issu de la base, et l’application cliente n’en affiche qu’une partie. Le reste — identifiants internes, données personnelles, jetons — circule quand même et reste lisible.
Le principe correct est de construire explicitement la réponse, champ par champ, plutôt que de sérialiser un objet entier.
3. L’absence de limitation de débit
Sans limite, une interface permet l’énumération massive : parcourir tous les identifiants, tester des combinaisons d’authentification, extraire une base entière requête par requête.
Une limitation par utilisateur et par adresse, assortie d’une alerte au-delà d’un seuil, ferme cette voie — et rejoint la logique de détection d’anomalies.
4. Les interfaces oubliées
Versions antérieures laissées actives, environnements de recette accessibles depuis Internet, points d’entrée de test jamais retirés.
La contre-mesure est d’abord un inventaire : on ne sécurise pas une interface dont on ignore l’existence.
5. Les secrets dans les clients
Une clé d’interface intégrée à une application mobile ou à un code exécuté dans le navigateur n’est pas un secret. Elle est lisible par quiconque examine le code.
Ce qui suppose que toute autorisation reposant sur cette clé doit être considérée comme publique, et que les opérations sensibles doivent être contrôlées côté serveur.
6. Les journaux insuffisants
Beaucoup d’interfaces ne journalisent que les erreurs techniques. Ni l’identité de l’appelant, ni l’objet accédé, ni le volume retourné.
Sans ces éléments, une extraction massive de données est indistinguable d’un usage normal, et l’investigation après incident devient impossible — voir ce qu’il faut collecter.
7. L’authentification entre services négligée
Les appels entre composants internes reposent souvent sur la seule confiance réseau : « ce service est dans le même segment, donc il est légitime ».
C’est précisément l’hypothèse que remet en cause le modèle de vérification systématique. Un composant compromis appelle alors librement tous les autres.
Comment tester
Un test d’intrusion applicatif classique couvre mal les interfaces si l’auditeur ne dispose pas de leur description. Fournir la spécification et des comptes de test de différents niveaux de droits change complètement le résultat.
Le test le plus rentable : prendre deux comptes utilisateurs distincts et tenter d’accéder aux objets de l’un avec le jeton de l’autre. Ce contrôle simple révèle le défaut n° 1, qui est aussi le plus répandu.
Ce que demandent les référentiels
ISO/IEC 27002:2022 traite le sujet par la mesure 8.26 — exigences de sécurité des applications — et 8.28 sur le codage sécurisé, l’une des nouveautés de la révision 2022.
Côté données personnelles, une interface qui expose plus que nécessaire contrevient au principe de minimisation du RGPD, indépendamment de toute intrusion.
Un recrutement cyber raté coûte davantage qu’un poste vacant : le temps d’encadrement consommé, la mission dégradée chez un client, et le délai avant de recommencer. Les causes se répètent. ...
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
L’accès ou le stockage technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.