Il existe de nombreuses attaques, en voici une liste non-exhaustive qui permettra de vous donner une idée des potentielles offensives malveillantes sur internet en termes d’API. Nous essaierons de vous expliquer dans chaque type d’attaque les mesures à mettre en place afin d’éviter de vous faire pirater.
Injections
Les injections consistent à insérer dans les codes un programme un autre programme malveillant. Généralement
La plus connue des injections est l’injection SQL qui permet d’attaquer directement une base de données et y prendre le contrôle. L’attaquant peut alors se servir librement de toutes les informations récoltées.
Afin d'atténuer les risques d'injection, il est primordial de valider et nettoyer ses données dans les requêtes d’API. Vous pouvez également mettre en place des restrictions de données de réponse afin d’éviter les fuites involontaires de données sensibles.
Cross-Site Scripting (XSS)
Le Cross-Site scripting, abrégé XSS, est une type de faille de sécurité des sites web permettant d’injecter du contenu dans une page. Ces attaques touchent directement les utilisateurs des sites internets ciblés puisque les scripts installés sur la page attaquent tous les visiteurs. Des informations sensibles peuvent être procurées via cette méthode ou alors l’accès direct à certains ordinateurs dans le plus grand secret.
Comme pour les injections, la résolution de ce problème passe par la validation et le nettoyage de toutes les données en entrée. Il faut également filtrer toutes les données et échappement de caractères possibles.
DDoS
Les attaques par déni de service distribué ou “Distributed Denial-of-Service” en anglais consistent à rendre un site web, un système ou un réseau inaccessible en générant une quantité de trafic importante voire supérieure à ce dont il est possible de prendre en charge. Les API ne sont pas épargnées puisqu’il est possible d’attaquer de cette manière ce système.
La solution à ce problème est de limiter le trafic possible sur les services proposés. Il est également possible de limiter la taille de la charge utile des applications. C’est pour cela que parfois vous possédez une limite d’utilisation de certains services sur le web.
Main-in-the-Middle
Les attaques MitM (Man-in-the-Middle), appelé en français “l’Attaque de l’homme du milieu”, est une attaque qui a pour but d’intercepter des communications entre deux parties. La particularité de cette attaque est que les deux communicants ne se doutent en aucun cas que leur communication vient d’être interceptée.
Pour les API, les attaques MitM surviennent entre le client et l’API ou bien entre l’API et son endpoint.
La meilleure solution à ce problème serait tout simplement de chiffrer la totalité de son trafic. Grâce à cela, si une information est interceptée, il sera impossible de déchiffrer le contenu du message.
Credential stuffing
La dernière attaque notable concerne le credential stuffing. Cette offensive consiste à voler des informations de comptes volés, généralement des identifiants, adresses mails et mot de passe. Ceux-ci sont alors utilisés afin d’obtenir un accès non autorisé à des comptes utilisateurs par le biais de connexion automatisée via des applications web.
Il n’est pas évident de contrer ce genre d’attaque mais la meilleure solution serait d'exploiter un flux de renseignements afin d’identifier le credential stuffing.