Ce qu’il faut savoir sur les API, les « rampes d’accès au monde numérique »


Une interface de programmation d’application, ou API, est un processus défini qui permet de partager des données entre des applications ou des programmes. Chaque API consiste en un ensemble de règles qui dictent comment la communication se produit entre un client et un serveur ou un programme externe. Le format de demande requis, le processus d’authentification et le cryptage des données ont tous défini des directives afin que l’API sache quelles informations partager et quand et comment les partager.

Des exemples d’API incluent des interfaces de connexion universelles, lorsqu’un site Web permet aux utilisateurs de se connecter à l’aide de leurs informations d’identification à partir d’un site comme Google ou Facebook plutôt que de créer un nouvel ensemble d’informations d’identification de connexion pour chaque site Web, et des processus de paiement tiers. , lorsqu’un paiement est traité à l’aide d’une application tierce telle que PayPal. Ils permettent de collecter des données à partir d’un serveur ou d’un programme externe afin de faciliter le processus de connexion à un compte ou de soumission d’un paiement en ligne.

Les API sont utiles non seulement pour aider les consommateurs à simplifier leur expérience en ligne, mais aussi pour faciliter la communication, l’intégration et la collaboration entre les entreprises et les organisations. Ils sont polyvalents et en constante évolution, permettant aux développeurs d’innover dans leur utilisation, et ils rassemblent les données de nombreuses sources en un seul endroit pour en faciliter l’accès. C’est pourquoi le nombre moyen d’API par entreprise a augmenté de 221 % au cours de l’année écoulée. Malheureusement, les fonctionnalités qui rendent les API pratiques et nécessaires sont également les facteurs qui en font une cible idéale pour les cyberattaques. Le même article qui détaillait le rapport de recherche de Salt Labs avec les tendances récentes en matière de sécurité des API, décrit les API comme « les rampes d’accès au monde numérique ».

Sécurité des API : les plus grandes menaces

Étant donné que le trafic API augmente si rapidement, les cybercriminels profitent de la large surface d’attaque ; alors que le trafic API a augmenté de 321 % en 12 mois, le trafic d’attaques API a augmenté de 681 % dans le même temps. Le développement d’API se déroule rapidement, de sorte que le paysage de la sécurité des API évolue constamment, ce qui rend difficile la mise à jour des pratiques de sécurité. De plus, il est difficile de se prémunir contre les attaques d’API, car chaque attaque est unique et résulte de la recherche de faiblesses.

La menace la plus courante pour la sécurité des API est l’autorisation au niveau de l’objet (BOLA) interrompue. Un attaquant peut falsifier un objet dans la demande d’API sans que le composant serveur ne suive le changement. Les failles BOLA ne peuvent pas être détectées par des tests statiques ou dynamiques automatiques et peuvent permettre à des acteurs malveillants de visualiser, modifier ou supprimer des données sensibles. Pour empêcher les attaques BOLA, un processus de sécurité devrait être capable de détecter un comportement anormal de l’API ; pour ce faire, la sécurité de l’API doit comprendre le comportement normal de l’API.

Une autre forme courante d’attaque d’API est l’authentification d’utilisateur cassée, où les attaquants profitent de procédures de sécurité faibles dans l’authentification d’utilisateur. En utilisant le credential stuffing, le credential cracking, les jetons d’authentification volés et d’autres méthodes d’infiltration des interfaces d’authentification vulnérables, les cybercriminels peuvent accéder aux comptes d’utilisateurs, aux données et aux transactions.

Les attaquants profitent également souvent de l’exposition excessive des données dans les attaques d’API. Lors du processus d’obtention et de partage d’informations, les API fournissent souvent plus de données que nécessaire pour la tâche ; les attaquants exploitent cela en utilisant les données excédentaires pour accéder à des informations sensibles. De nombreuses API laissent l’application cliente filtrer les données et décider de ce que l’utilisateur voit de son côté, mais les données redondantes fournies par l’API sont toujours vulnérables aux attaques.

Les erreurs de configuration de sécurité de toutes sortes offrent aux cybercriminels la possibilité d’acquérir des connaissances sur un programme et ses composants API à utiliser pour planifier leurs attaques. Une API avec des paramètres de sécurité mal définis ou déployés avec des paramètres par défaut est vulnérable aux attaquants ciblant les données ainsi que l’infrastructure. Étant donné que les API sont différentes et doivent être sécurisées par des méthodes spécifiques, il est difficile de repérer une mauvaise configuration de sécurité et de mettre en œuvre une solution spécifique. Dans l’ensemble, les attaques d’API les plus réussies s’attaquent aux lacunes de la logique métier.

Meilleures pratiques de sécurité des API

Étant donné que les API sont particulièrement difficiles à sécuriser, il n’existe aucun moyen infaillible de s’assurer qu’elles sont correctement protégées contre les attaques. Cependant, il existe de nombreuses pratiques qui, si elles sont mises en œuvre et maintenues, rendront une API plus sûre et plus difficile à cibler pour les cybercriminels. Ces pratiques entrent en jeu pendant le développement et les tests ainsi que pendant la production, présentant un large éventail d’opportunités pour améliorer la sécurité des API.

Dès le début, il est important d’établir une conception et un développement d’API sécurisés, en s’assurant que l’API est construite à l’aide de processus de codage et de configuration sécurisés. Il est également utile de mener des revues de conception qui incluent la logique métier pour augmenter les chances que des défauts soient détectés dès le début. Les tests de sécurité peuvent identifier les erreurs de configuration et les vulnérabilités dans une API, tandis que l’analyse et les tests fuzz peuvent détecter les problèmes de logique métier.

La documentation des API et le maintien d’un inventaire précis des API sont essentiels à la sécurité des API. Cela garantit que les équipes de sécurité et les acteurs internes peuvent voir et comprendre la structure de l’API, comment elle est intégrée, testée et protégée, et la surface d’attaque totale des API utilisées. Une documentation précise et détaillée est essentielle pour s’assurer que les problèmes et les solutions sont suivis et disponibles pour référence future.

Après le développement et les tests, il existe d’autres outils et pratiques qui peuvent aider à maintenir la sécurité des API. L’utilisation de la journalisation et de la surveillance sur les API recueille des données sur le comportement normal des API afin que toute occurrence anormale ressorte et puisse être corrigée. Les systèmes automatisés peuvent comparer la documentation au comportement afin d’identifier quand une API a changé afin que la documentation puisse être mise à jour en conséquence. Le chiffrement des données envoyées via les API et incluant les passerelles API, les magasins d’identité, la gestion des clés et l’infrastructure à clé publique ajoutera des couches de sécurité au fonctionnement de l’API, ce qui rendra plus difficile pour les acteurs malveillants de contourner l’authentification et l’autorisation.

Les API sont extrêmement importantes pour le fonctionnement des applications de multiples façons, mais la sécurité des API est différente de la sécurité des applications. Il est essentiel de comprendre les défis uniques de la sécurité des API afin de résoudre les problèmes qui mettent les API en danger. La responsabilité de la sécurité des API ne repose pas sur un domaine ou une étape de développement en particulier, elle passe donc trop souvent inaperçue, mais chaque étape du processus et chaque membre de l’équipe d’application doit être conscient des attaques et de la défense des API, de la nécessité de documentation et les mesures qu’ils peuvent prendre pour rendre chaque API aussi sécurisée que possible.


v\:* {comportement:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {comportement:url(#default#VML);}
.shape {behavior:url(#default#VML);}

Normal
0
faux

faux
faux
faux

FR-FR
X-AUCUN
X-AUCUN

/* Définitions de style */
table.MsoNormalTable
{nom-de-style-mso : »Table normale » ;
mso-tstyle-rowband-size:0 ;
mso-tstyle-colband-size:0 ;
mso-style-noshow : oui ;
mso-style-priorité : 99 ;
mso-style-parent : » » ;
mso-padding-alt : 0 pouce 5,4 pt 0 pouce 5,4 pt ;
mso-para-marge : 0 po ;
mso-pagination:veuve-orpheline;
taille de police : 12,0 pt ;
famille de police : « Calibri », sans empattement ;
mso-ansi-language:EN-US ;}

A propos de l’auteur: PJ Bradley est un écrivain sur une grande variété de sujets, passionné par l’apprentissage et l’aide aux autres avant tout. Titulaire d’un baccalauréat de l’Université d’Oakland, PJ aime utiliser son désir de toujours comprendre comment les choses fonctionnent pour écrire sur des sujets qui suscitent l’intérêt. PJ passe la majeure partie de son temps libre à lire et à écrire. PJ est également écrivain régulier à Bora.

Note de l’éditeur: Les opinions exprimées dans cet article de l’auteur invité sont uniquement celles du contributeur et ne reflètent pas nécessairement celles de Tripwire, Inc.

Laisser un commentaire