Les API sont les éléments constitutifs des applications modernes et pilotent des modèles d'entreprise composables et des plates-formes numériques. Alors que de plus en plus d'organisations réalisent l'importance de l'intégration des API, l'utilisation des API monte en flèche.
Actuellement, le nombre total d'API publiques et privées utilisées dans le monde est estimé à environ 200 millions . Étant donné que les API sont si importantes et de par leur conception, elles offrent un accès rapide et facile aux données, aux ressources et aux fonctionnalités ; il n'y a aucun moyen que les attaquants les manquent. Et les bots étant des outils clés dans l'arsenal des attaquants, ils tirent parti des bots pour orchestrer les attaques de bot API.
Que sont exactement les attaques de robots API ? Comment les pirates utilisent-ils les bots pour attaquer les API ? Comment protégez-vous vos API des bots ? Continuez à lire pour le savoir.
Comprenons d'abord les bases des bots avant de nous pencher sur ce que sont les attaques de bot API.
Les robots sont des programmes autonomes utilisés pour la communication de machine à machine. Ils peuvent être programmés pour exécuter des fonctions et effectuer des requêtes Web sans intervention humaine. Il envoie le trafic HTTP d'une adresse IP à un système. Les botnets sont un ensemble de bots qui fonctionnent ensemble et peuvent exploiter plusieurs adresses IP. La taille des botnets varie de quelques centaines à plusieurs milliers d'adresses IP.
Lors d'une attaque de bot, les acteurs malveillants exploitent les bots pour manipuler, frauder ou perturber un site Web, une application, un utilisateur final ou une API cible. Les attaques de robots étaient initialement utilisées pour spammer des cibles. Mais aujourd'hui, ils sont devenus beaucoup plus sophistiqués et peuvent mener des attaques complexes qui imitent étroitement le comportement humain.
Lorsque ces programmes automatisés sont exploités pour attaquer spécifiquement les API ou lorsque les attaquants utilisent des bots pour augmenter l'échelle, l'impact et la sophistication des attaques d'API, il s'agit d'une attaque de bot API.
Les robots sont utilisés dans les cyberattaques depuis des lustres. Mais pourquoi est-ce une source d'inquiétude lorsqu'ils sont utilisés contre des API ? C'est parce que les API sont conçues pour connecter diverses applications, fournir un accès programmatique aux données, aux ressources, etc., et permettre une intégration et un partage faciles par plusieurs clients. De par leur nature même, ils exposent des fonctionnalités et une logique métier à forte valeur ajoutée et rendent les ressources accessibles. Ainsi, ils augmentent le risque d'exposition à des informations sensibles.
Les API sont des cibles attrayantes pour les attaques de bots car les organisations manquent de visibilité sur les API tout au long du cycle de vie. Et le fait qu'ils travaillent dans les coulisses n'aide pas trop. Lorsque vous ignorez l'existence d'API dans votre architecture, comment allez-vous les examiner, les gérer et les protéger ? Cela vous laisse avec plusieurs API vulnérables, fantômes, zombies, malveillantes et mal configurées. Par conséquent, ils sont souvent moins sécurisés que les terminaux traditionnels et augmentent vos risques de manière exponentielle.
Vous avez une recette pour un désastre lorsque vous ajoutez des bots à ce mélange. Les organisations peuvent ne pas savoir quelles API existent, qui les utilise, à quelles ressources elles ont accès et quelle logique métier elles exposent. Mais les pirates exploitent les bots pour cartographier l'architecture informatique de l'organisation et rechercher les points faibles des API. Les robots rendent en fait le processus rapide, facile et agile pour les attaquants.
Les bots sont également utilisés pour les attaques API car ils peuvent être extrêmement furtifs et éviter la détection par les outils de sécurité traditionnels. En fait, les bots les plus sophistiqués d'aujourd'hui peuvent également éviter d'être détectés par des outils de sécurité plus avancés.
Par exemple, vous avez peut-être temporairement réglé vos règles d'authentification API pour geler un compte après trois tentatives de connexion infructueuses. Les robots passeront simplement à une autre adresse IP après deux tentatives infructueuses dans une attaque de bourrage d'informations d'identification. Grâce à une automatisation intelligente, ils font tout cela sans intervention humaine, prenant des décisions en déplacement en fonction des règles avec lesquelles ils sont programmés et de leur apprentissage au fil du temps.
Les attaques de robots d'API sont souvent utilisées comme distractions ou écrans de fumée par les attaquants qui cherchent à orchestrer d'autres types d'abus d'API. Par exemple, les attaquants peuvent tirer parti des botnets pour déclencher des milliers d'alertes de sécurité que les équipes de sécurité doivent suivre. Mais leur intention est d'énumérer les identifiants pendant que les équipes de sécurité enquêtent sur les alertes de sécurité.
Les acteurs de la menace exploitent les robots pour attaquer les API, car ils offrent une vitesse, une flexibilité et une agilité inégalées dans le processus. Par exemple, le credential stuffing ou les attaques par force brute ne peuvent pas être effectués manuellement sans déclencher les défenses de sécurité. Mais les bots rendent le brute forcer et le credential stuffing rapides, faciles et évolutifs.
Voici un autre exemple de la façon dont les bots aident les attaquants à cibler les API. Les attaquants pourraient envoyer de gros volumes de requêtes API à un point de terminaison sans authentification et collecter de gros volumes de données en peu de temps.
Les outils de sécurité traditionnels font défaut même avec des attaques régulières de bots. Mais ils sont plus inefficaces pour arrêter les attaques de robots API car ils ne sont pas conçus spécifiquement pour les API. Premièrement, les outils traditionnels ne peuvent pas faire la distinction entre un bot et une activité humaine et entre une bonne et une mauvaise activité de bot. Cela limite considérablement leur capacité à protéger les API contre les attaques basées sur des bots.
Deuxièmement, avec moins d'indices laissés par les robots et moins de détails collectés par les API, les outils traditionnels ne peuvent pas déterminer efficacement si un appel d'API est malveillant ou légitime. Essentiellement, les bots demandent les mêmes données qu'ils le feraient avec des attaques de navigateur.
La différence est que les attaques de robots API ne donnent aucune information sur la version du navigateur, les cookies utilisés, le type d'appareil, etc., utilisés par les outils traditionnels pour détecter l'activité des robots. Étant donné que les attaques d'API sont entièrement virtuelles, les bots peuvent contourner les attaques, se déplacer entre différents clouds, faire pivoter les adresses IP, utiliser des réseaux proxy et faire bien plus encore pour contourner les défenses traditionnelles.
Les développeurs ont tendance à utiliser des ensembles de règles génériques et à laisser les API avec des configurations par défaut sans tenir compte de la logique métier. Cela crée des failles de logique métier que les bots peuvent exploiter pour semer le chaos tout en évitant la détection via des requêtes API apparemment légitimes.
Les attaques de robots sur les API sont beaucoup plus faciles et plus rentables à orchestrer que les attaques de robots sur les applications mobiles et Web. Alors que différentes applications nécessitent des approches et des capacités de bot différentes, les attaquants peuvent utiliser la même infrastructure et le même mécanisme d'attaque pour les API directes et Web. De plus, les API permettent aux attaquants d'obtenir un accès plus étroit à l'infrastructure informatique centrale et aux actifs critiques.
De plus, les bots, les botnets et les kits d'outils d'attaque sont facilement disponibles à la location et souvent à bas prix. Ainsi, les attaquants n'ont pas besoin de trop de ressources ou de connaissances techniques approfondies pour monter des attaques de robots API.
Reconnaissance : les attaquants exploitent les bots et les botnets pour découvrir les terminaux API vulnérables, tester les seuils de détection, cartographier la surface d'attaque, etc.
Attaques : les bots et les botnets sont utilisés pour attaquer les API. Certaines attaques de bot API courantes sont le bourrage d'informations d'identification, les attaques par force brute, les attaques de grattage de contenu, les injections, etc.
Evasion : dans les attaques basées sur l'API, les bots et les botnets sont également exploités par les attaquants pour échapper aux défenses de sécurité par leur comportement furtif ou en créant des distractions.