API : les 5 types d’attaques les plus courants
Un nombre croissant d’attaques d’API expose les entreprises à des risques de violations graves de données. Découvrez comment ces attaques fonctionnent et explorez les meilleures pratiques pour les prévenir.
Les attaques visant les API se multiplient, exposant les entreprises à de nouveaux risques de sécurité.
Les cyberattaques traditionnelles contre les sites web ciblent l’application elle-même, mais comme les entreprises exposent un nombre croissant d’API sur Internet, ces connexions attirent de plus en plus l’attention des acteurs malveillants.
Une API permet à un logiciel de communiquer avec d’autres logiciels pour partager des données et des fonctionnalités. Par exemple, une API peut permettre à un utilisateur de se connecter à une application avec les informations d’identification d’un compte tiers tel que Facebook ou Google.
Une clé API autorise une connexion entre des programmes logiciels, agissant comme un mot de passe pour identifier l’application qui appelle l’API et prouver qu’elle dispose des droits d’accès.
Les requêtes d’API sont similaires aux demandes d’accès que les utilisateurs envoient à partir de leur navigateur, ce qui signifie que de nombreuses attaques visant les sites web peuvent également compromettre les API.
5 types d’attaques contre les API
Les acteurs malveillants utilisent un certain nombre d’attaques et de techniques d’abus d’API. Il s’agit notamment des techniques suivantes.
1. Attaques par injection
Une API est vulnérable aux injections si les développeurs ne nettoient pas correctement ses paramètres de requête afin de s’assurer que l’API n’envoie et ne reçoit que des données appropriées.
Dans les attaques par injection, les cybercriminels insèrent un code malveillant dans leurs requêtes pour inciter l’API à accorder un accès non autorisé à des données sensibles. Ils peuvent alors voler, modifier, supprimer et remplacer ces informations à leur guise.
2. Attaques par rupture du contrôle d’accès
Dans certains cas, les acteurs malveillants peuvent contourner les garde-fous du contrôle d’accès standard en interagissant directement avec les API cibles et en exploitant leurs vulnérabilités en matière de sécurité. Dans le pire des cas, les API dont les contrôles d’authentification et d’autorisation sont défaillants ouvrent la voie à des violations massives de données.
Dans une attaque d’autorisation au niveau de l’objet, par exemple, une API peut réussir à authentifier un utilisateur par le biais d’une valeur d’ID d’utilisateur dans la demande d’API, mais accepter un ID différent dans le paramètre de la requête.
Si l’API ne valide pas que l’utilisateur authentifié devrait avoir accès aux données demandées – c’est-à-dire que l’identifiant de l’utilisateur dans la demande correspond à l’identifiant de l’utilisateur dans la requête –, un pirate peut facilement accéder aux détails du compte de n’importe quel autre utilisateur.
Et si la limitation du débit de l’API n’est pas appliquée (limitation du nombre d’appels qu’un utilisateur peut effectuer dans un laps de temps donné afin de réduire la surface d’attaque), l’acteur malveillant pourrait exfiltrer des quantités massives d’informations sensibles.
Dans certaines attaques antérieures, les endpoints d’API vulnérables ne nécessitaient aucune authentification de la part de l’utilisateur, ce qui les rendait accessibles aux pirates.
3. Exposition excessive aux données
Les organisations qui ne gèrent pas efficacement leurs API laissent souvent un trop grand nombre d’API – par exemple, des versions anciennes ou des versions de test – exposées sur Internet. Dans certains cas, ces API renvoient trop d’informations lorsqu’elles reçoivent des requêtes, ce qui peut exposer des données sensibles.
4. Attaques DoS et DDoS
Si une API n’est pas protégée contre les attaques en déni de service et les attaques en déni de service distribué (DDoS), des acteurs malveillants peuvent lancer une attaque en envoyant un énorme volume de données à l’API et provoquent l’arrêt de la réponse de l’ensemble des sites et applications reposant sur l’API concernée.
5. Attaques de tiers
Les attaquants peuvent également cibler les API par l’intermédiaire de tiers. Un pirate pourrait être en mesure de compromettre un partenaire de confiance disposant d’une clé API légitime, par exemple, et de l’utiliser pour accéder à l’API cible.
Se défendre contre les attaques d’API
Les entreprises doivent défendre leurs API comme elles protègent n’importe quelle application web traditionnelle, en suivant les meilleures pratiques de sécurité des applications et en déployant les mesures de cybersécurité appropriées. Envisagez les moyens suivants pour atténuer les vulnérabilités des API :
- Assainir tous les paramètres de requête que l’API peut interpréter, afin d’éviter les attaques de type injection SQL et autres attaques similaires.
- Mettre en place des mécanismes d’authentification et d’autorisation des utilisateurs robustes afin d’empêcher un utilisateur malveillant d’accéder aux données par l’intermédiaire d’une API.
- Veiller à ce que les logiciels de sécurité DoS et DDoS protègent non seulement le site web principal, mais aussi les API.
- Tenir un inventaire précis des API exposées sur Internet et savoir quels organismes et utilisateurs tiers y ont accès. Évaluez le type et la quantité d’informations que l’API renvoie à l’utilisateur final et veillez à ce qu’il n’y en ait pas plus que nécessaire.