Définir ce qu'est une bonne API : un préalable indispensable pour une approche de réduction des risques

Tout le monde sait, dans les grandes lignes au moins, ce qui définit un pont sécurisé. Ce n'est, en revanche, pas vraiment le cas dans le domaine des APIs.

Personne n'imaginerait un réseau autoroutier sans aucun pont pour connecter les routes entre elles. Personne, non plus, n’oserait s’aventurer sur un ouvrage qui ne présenterait pas des garanties de sécurité minimum. Signalisation claire, glissières de sécurité, éclairage approprié… Tout le monde sait ainsi, dans les grandes lignes au moins, ce qui définit un pont sécurisé. Ce n’est, en revanche, pas vraiment le cas dans le domaine des APIs. Pourtant, en connectant les différentes applications entre elles, ces interfaces jouent, dans l’univers numérique, le même rôle que les ponts autoroutiers. 

L’absence de définition claire de l’API en termes de sécurité

Si l’on interroge les différents acteurs intervenant tout au long du cycle de vie des APIs, chacun d’eux donnera une définition différente de ce qu’ils considèrent comme une « bonne » APIs en termes de sécurité. Dès lors, sans consensus sur le sujet, comment pouvons-nous faire confiance à ces outils ?

Jusqu’à présent, les problématiques de sécurité liées à ces applications étaient traitées par le renfort des systèmes de protection existants. Malheureusement, la simple mise à jour des outils de tests est loin d’être suffisante. De même, l’évolution des défenses périmétriques vers des technologies de type « check-the-box » ne permet pas, elle non plus, de garantir les niveaux de protection appropriés. Ainsi, les équipes de sécurité continuent d’être confrontées à des configurations erronées, ainsi qu’à des mauvaises appréciations du comportement des API, n’opposant que peu de barrières aux tentatives d’intrusion. Il est devenu clair, aujourd’hui, que le problème n’est pas tant celui des outils que celui de l’absence de véritable stratégie de réduction des risques. 

Définir un programme de gouvernance efficace 

Face à l’accélération de l’IA, cette situation n’est pas prête de s’améliorer. L’intelligence artificielle a besoin des APIs pour convertir les données. De nombreuses organisations vont donc, de plus, s’appuyer sur l’IA générative pour développer leurs propres interfaces : une pratique présentant des risques majeurs sans norme claire établie au préalable, autour de la définition d’une "bonne" API.  

C’est pourquoi les entreprises doivent rapidement adopter une stratégie efficace de réduction des risques, pensée sur le long terme. Celle-ci s’appuiera sur un programme de gouvernance de la posture de sécurité des APIs, s’étendant de leur conception à leur déploiement. Beaucoup trop d’organisations, en effet, se sont lancées dans l’API-first** sans mettre en place les garde-fous nécessaires. Pour elles, la première étape consistera à dresser un inventaire de leurs actifs APIs, incluant les informations contextuelles : types d’usages, données associées, architecture et attributs de sécurité. 

Ce travail permettra de documenter les normes de l’entreprise qui serviront de références aux différents acteurs tout au long du cycle de vie des APIs. Ainsi, si une norme exige que les identifiants des utilisateurs soient au format UUID, le développeur intègrera alors cette exigence dès la conception de l’API. Il en sera de même pour l’architecte IT lorsqu’il mettra au point ses solutions, ou pour les équipes de sécurité lorsqu’elles procéderont à des tests. 

Évaluer en permanence la conformité des APIs

Pour être efficace, le programme de gouvernance devra aussi prévoir un contrôle permanent des APIs pour s’assurer qu’elles soient conformes aux normes établies. Des processus clairs, établis en amont, permettront aussi de remédier rapidement aux anomalies, et d’identifier leurs sources.

De nombreuses attaques visant les API sont dites « logiques », c’est-à-dire issues d’appréciations erronées des comportements de l’application. Or, ce type de menaces échappent aux défenses Web traditionnelles car un grand nombre de données, ainsi qu’une une immense puissance de calcul sont nécessaires pour détecter les comportements anormaux. Les informations contextuelles recueillies dans le programme de gouvernance de la posture de sécurité des APIs constitueront ainsi la base de la protection. Elles aideront également les équipes en charge de la sécurité à hiérarchiser les vulnérabilités découvertes au moment de l'exécution, afin d’y apporter des solutions rapides et efficaces. 

Alors que l’univers des APIs est en constante évolution, une stratégie de sécurité bien exécutée doit ainsi consister en un parcours progressif, abordant à la fois la gouvernance de la posture et la protection contre les menaces comportementales de ces applications.

*Application Programming Interface

** Stratégie consistant à concevoir les API en amont du code