Beaucoup d’entre nous ont peut-être entendu parler du terme interface de programmation application (API) , mais à moins d’être des développeurs application ou d’occuper des postes techniques, nous ne savons peut-être pas exactement ce qu’est réellement une API (ou ce qu’elle fait). Le sens n’est certainement pas intuitif.
Une API facilite un canal permettant à une application d’accéder aux informations et aux fonctionnalités d’une autre. Toutefois, un contexte supplémentaire peut être nécessaire, alors commençons par une analogie de base.
Imaginez que vous ayez un accident de voiture et que vous ayez besoin de faire réparer votre voiture. Vous trouvez un atelier de réparation réputé et travaillez avec un représentant du service pour discuter du travail à effectuer, obtenir des réponses à vos questions, obtenir un devis et planifier un rendez-vous.
Ce n’est pas à vous d’embaucher un mécanicien, de commander des pièces, de fournir les outils et l’équipement d’atelier nécessaires, d’effectuer des tests de diagnostic, etc. Si le pare-brise doit être remplacé, la carrosserie doit être repeinte ou les roues doivent être réalignées, votre représentant de service organisera également l'exécution de ces services externes.
Vous pouvez considérer le représentant du service comme l’interface entre vous et l’atelier : le messager et l’interprète qui gère votre demande de services et, en même temps, vous évite d’avoir à connaître tous les détails et complexités des coulisses impliqués dans la réparation de votre voiture.
Le représentant du service travaille en votre nom en prenant votre demande, en l'interprétant et en la traduisant correctement, en organisant tous les services nécessaires pour répondre à votre demande et en vous répondant éventuellement en vous rendant votre voiture en état de marche.
Les termes et concepts importants auxquels il faut prêter attention dans ce scénario sont l'interface en tant que messager et interprète/traducteur, le processus de demande-réponse et la notion de protection de vous, le demandeur, des détails sur la manière dont les réparations sont effectuées. Ces concepts sont tous essentiels au fonctionnement des API.
Appliquons maintenant certains de ces concepts à une application typique que vous pouvez utiliser tous les jours, comme une application de voyage typique sur votre téléphone. L'application fournit probablement des informations à jour sur les vols, les hôtels, les croisières, les transports terrestres, les circuits et bien plus encore. Il est peu probable que l’entreprise qui crée cette application dispose de toutes ces informations stockées dans ses propres bases de données ou de toute l’expertise en interne. Au lieu de cela, ces données sont fournies via une application utilisant des API mises à leur disposition par des fournisseurs partenaires tels que des hôtels, des compagnies aériennes, des compagnies de croisière, etc. Les API sont comme ces représentants de service dans l'atelier de réparation, fournissant ce qui est nécessaire au client demandeur (dans ce cas, votre application de voyage) et minimisant la complexité inutile.
Aujourd’hui, les API sont devenues les éléments de base des applications modernes. Et comme nous l'avons décrit dans notre blog précédent de cette série, Comment les applications modernes sont créées et déployées , les conteneurs sont également essentiels aux applications modernes, décomposant l' application en composants distincts afin de faciliter la gestion du développement et des mises à jour futures.
Les API sont en fait les canaux de communication entre ces clusters de conteneurs et les services application qu’ils partagent. De plus, ils facilitent les échanges de données avec des serveurs et des bases de données externes. (Voir la figure 1 ci-dessous.)
L’inconvénient est que les API peuvent exposer des données à des personnes extérieures. Cela rend les API d’une organisation extrêmement attrayantes pour les attaquants, non seulement pour l’accès aux données, mais également comme points d’entrée potentiels vers d’autres systèmes critiques au sein de l’infrastructure d’une organisation. Si les précautions et les contrôles de sécurité appropriés ne sont pas en place, les API peuvent présenter de graves risques pour les organisations.
À mesure que les API deviennent fondamentales pour le développement application modernes, la surface d’attaque continue de s’étendre. Malheureusement, de nombreuses organisations ont tardé à maintenir un inventaire approprié des API se connectant à leurs applications. Ils doivent également s’assurer que les API sont régulièrement entretenues et mises à jour pour éviter de nouvelles vulnérabilités.
En exploitant les vulnérabilités des API, les attaquants peuvent accéder au réseau et potentiellement compromettre les données les plus sensibles d'une organisation, notamment les informations personnellement identifiables (PII) ou la propriété intellectuelle (IP). Cela peut nuire à la marque et à la réputation d’une entreprise, entraîner une perte de revenus et des amendes importantes.
Les API sont exposées à de nombreux types d’attaques similaires à celles qui ciblent les applications Web et mobiles, notamment :
Les API sont devenues la méthode privilégiée pour créer des applications modernes. Et même si le concept d’extraction d’informations dans une application à partir d’une source externe n’est pas nouveau, l’évolution constante des méthodes de développement d’applications et la pression pour innover signifient que les organisations n’ont peut-être pas encore saisi les risques potentiels liés à la mise à disposition publique de leurs API avant de les sécuriser correctement.
La bonne nouvelle est qu’il n’y a pas de grand mystère dans la sécurisation des API. La plupart des organisations ont déjà mis en place des mesures pour lutter contre les attaques bien connues telles que les attaques par injection, les menaces DDoS, le credential stuffing et d’autres types d’attaques qui ciblent également les API.
Regardez la vidéo ci-dessous pour découvrir comment F5 aide les organisations à protéger les API qui alimentent leurs expériences numériques.
N'oubliez pas de consulter les autres articles de blog de notre série en quatre parties pour le Mois de sensibilisation à la cybersécurité : Comment les applications modernes sont créées et déployées , comment les mauvais acteurs exploitent les applications avec des attaques et comment les comptes en ligne sont piratés par les cybercriminels .