Les interfaces de programmation d'applications (API) sont au coeur de presque toutes les expériences numériques modernes et leurs performances et leur sécurité sont essentielles pour séduire les clients et accroître les bénéfices.
Aujourd’hui, on remarque que les utilisateurs sont tous équipés d’appareils mobiles et que pour les entreprises qui souhaitent faire adopter leurs produits, elles doivent proposer ces services sous forme numérique. On voit par exemple fleurir énormément de nouvelles applications mobiles qui mettent en avant des programmes de bien-être. Ces applications mobiles s’appuient sur les technologies API pour proposer une expérience améliorée à leurs consommateurs. Cette même philosophie est également reprise par les assureurs afin d’optimiser les factures de leurs clients. Ceux-ci s’appuient sur de nouveaux services numériques afin d’analyser le comportement de leurs clients et en fonction de celui-ci, les clients peuvent bénéficier de réduction sur leurs cotisations. Par ces exemples, on voit bien que l’adoption de cette nouvelle approche API permet aux fournisseurs de services de gagner de nouveau client et aux consommateurs de bénéficier de nouveaux services innovants.
Cependant, les dernières actualités sur les failles de sécurité qui exposent des données privées ont mis en lumière la question de la gestion des API. Dans de nombreux cas, le simple fait de ne pas traiter correctement et avec respect les aspects sécuritaires des API a entraîné d'importantes violations de données touchant des millions d'utilisateurs.
Par exemple, au début de l'année, Peloton a été sous le feu des projecteurs en raison d'une vulnérabilité qui permettait aux requêtes API d'accéder aux informations de profil de ses utilisateurs. Cela signifiait que n'importe qui, n'importe où, pouvait avoir accès aux informations de tous les utilisateurs de Peloton. Une situation peu réjouissante.
Le problème sous-jacent est que de nombreuses entreprises ne considèrent toujours pas les API comme des "citoyens de première classe" de leur activité. Une partie du problème vient du fait que tous les professionnels de l'informatique n'ont pas l'expérience nécessaire pour en comprendre pleinement le fonctionnement, de leur conception à leur gestion en toute sécurité. Face à l'augmentation des attaques ciblant les API, et sachant que le Gartner prévoit qu’elles deviendront le principal vecteur d'attaque d'ici 2022, les entreprises connectées devraient déjà disposer de structures garantissant une conception, une mise en œuvre et une gestion correctes de leurs API.
Analyse des vulnérabilités de l'API
Dans ce contexte, les cybercriminels sont de plus en plus à l'affût des vulnérabilités potentielles des API. La liste des risques de sécurité est variée et commence souvent par de mauvaises pratiques de codage, où de graves risques de sécurité sont intégrés dès le départ dans l'interface, ce qui augmente considérablement la probabilité que leur intégrité soit compromise.
Cela pose également la question générale - et importante - de la responsabilité. La question de savoir qui est responsable des risques de sécurité des API peut s'avérer difficile à résoudre. En réalité, la responsabilité commence avec le développeur, qui devrait être chargé de construire une interface qui adresse efficacement les principales vulnérabilités. Mais la responsabilité ne s'arrête pas là et doit également incomber à la personne qui utilise l'API, qui doit également se demander si des mesures de sécurité API supplémentaires doivent être incluses.
Une autre question importante est la classification des API. Ces dernières peuvent être déployées dans des configurations publiques, privées et partenaires, et les entreprises spécialisées dans les applications et les appareils grand public classifient souvent leurs API à la fois comme publiques et privées. Cela s'explique par le fait que, contrairement aux employés, les utilisateurs externes n'y accèdent pas via un intranet privé de l'entreprise.
Le problème est que cette approche peut créer une vulnérabilité potentielle si les équipes techniques partent du principe qu'une API privée ne nécessite pas une sécurité équivalente à celle d'une mise en œuvre publique. En réalité, restreindre l'accès à l'API aux utilisateurs authentifiés n'est tout simplement pas suffisant. Il existe ainsi des exemples d'entreprises qui laissent leur API privée exposée et vulnérable et se retrouvent ensuite dans la position difficile de devoir identifier et résoudre un grave problème de sécurité et de confidentialité.
Reprenons l’exemple de Peloton : La mise en oeuvre de cette approche permettait à de nouveaux utilisateurs de créer un compte, mais aussi de récupérer des détails du profil d'autres personnes, comme leur nom, leur localisation, leur sexe, etc. Le fait que les utilisateurs aient défini leur compte de profil comme "privé" n'avait aucune importance : la vulnérabilité de l'API offrait une autre voie d'accès aux données, avec des implications évidentes en matière de confidentialité et de protection des données.
Dans de telles situations, au lieu de construire l'API de manière à accorder l'accès aux données de l'utilisateur lorsque certaines conditions sont remplies, comme la fourniture d'un token "utilisateur authentifié", le code de l'API devrait être renforcé pour empêcher l'exposition des données. Pour couronner le tout, le processus de correction a duré plus de trois mois, alors que l'intégration d'une sécurité API efficace directement dans le processus de développement aurait permis de s'assurer que la vulnérabilité ne pouvait pas être exploitée.
Une approche globale pour garder une longueur d’avance
La liste des défis à relever est longue. Mais il suffit de dire et de faire en sorte que les entreprises doivent adopter une approche globale de la sécurité des API, de la conception à la livraison, pour avoir une longueur d'avance sur les cybercriminels qui sont de plus en plus habiles à identifier et à exploiter les vulnérabilités. Si l'on ne met pas davantage l'accent sur les risques et les efforts de prévention, nous pourrions voir se multiplier les cas de violation des données et de la vie privée imputés aux API, ce qui, selon certains, aurait pu être évité.
Alors que la mise en œuvre des API se développe pour répondre aux besoins des entreprises en voie de transformation numérique, l'intérêt des cybercriminels qui cherchent à exploiter les vulnérabilités potentielles augmente également. Pour minimiser les risques, il convient de s'assurer que la conception, la mise en œuvre et la gestion des API de bout en bout répondent aux besoins des services basés sur des applications, qui sont au cœur des expériences des consommateurs d'aujourd'hui. En adoptant un état d'esprit où les API sont traitées comme une priorité technologique de l'entreprise, les équipes informatiques et de sécurité peuvent disposer d’une plus grande confiance dans leur stratégie de sécurité.