Sécurité des API : comment protéger vos applications mobiles contre les bad bots
Ceci est la première partie d’une série en deux parties sur la façon de protéger vos API contre les robots malveillants. Voir aussi la partie 2/2 : Comment protéger les API d’applications web mono-page contre les bad bots.
Le monde est devenu mobile ; les robots logiciels aussi.Quel que soit leur objectif, scraper des données, pirater des comptes ou simplement refuser l’accès aux autres utilisateurs, les bots malveillants ciblent les applications mobiles de façon croissante.
Là où les choses deviennent problématiques, c’est que protection d’une API d’application mobile contre ces « bad bots » est très différente de celle qui prévaut pour d’un site Web. Loin de se contenter de surveiller un navigateur, les logiciels de protection doivent être capables de collecter et analyser une multitude de capteurs et d’événements sur une grande diversité d’appareils mobiles.
Les entrées et les déclencheurs étant différents, une protection efficace des applications mobiles nécessite un algorithme très spécifique pour reconnaître les intrus.
Comme la plupart des applications mobiles utilisent des API pour interagir avec les services et les informations back-end, il est également essentiel de protéger les API. Cependant, les outils disponibles sont peu nombreux et pour la plupart peu sophistiqués. Les WAF (‘Web Application Firewalls’) et les passerelles API, par exemple, sont impuissants à protéger les API contre les bots qui utilisent les bonnes clés, authentifications et protocoles API.
Alors, que peut-on faire ?
L’APIfication du contenu en ligne
Tout le monde adore les API. En permettant à toutes sortes d’appareils et d’applications d’échanger des informations, via toutes sortes de protocoles de communication, les API aident les développeurs à créer d’excellentes expériences utilisateur beaucoup plus facilement et efficacement.
Et les bénéfices commerciaux sont tangibles : selon CapGemini, les entreprises qui adoptent l’ « APIfication » augmentent leur chiffre d’affaires 5% plus rapidement, créent des offres commerciales et marketing intégrées avec des partenaires 15% plus souvent, et proposent de nouveaux produits et services 21% plus rapidement que leurs concurrents.
Malheureusement, les hackers, les voleurs de contenu et autres opérateurs de robots malveillants adorent les API et leur accès facile à des informations stables et structurées. Grâce aux API, les bots (tout comme les applications et les appareils légitimes) peuvent facilement trouver les informations qu’ils recherchent au même endroit et dans le même format, à chaque fois.
Afin d’être à l’abri des menaces que représente le trafic automatisé, vous devez donc protéger vos API aussi soigneusement que vos pages html traditionnelles.
Comment les bad bots attaquent les API d’applications mobiles
La plupart des bots qui tentent d’accéder aux API d’applications mobiles sont des bad bots — peu de good bots s’intéressent à vos API. Pour exploiter ou attaquer une API d’application mobile, les cybercriminels disposent de multiples options:
- Rétro-ingénierie de l’API
- Exécution de l’application avec un émulateur
- Utilisation d’un logiciel d’automatisation et d’une ferme mobile
La méthode la plus facile consiste simplement à rétroconcevoir l’API. En configurant un proxy entre l’application et l’API, ils peuvent enregistrer les points de terminaison que l’application appelle afin de récupérer le contenu, se connecter et effectuer d’autres actions. Ils peuvent ensuite automatiser ces mêmes actions à l’aide de bots.
Les hackers peuvent également exécuter l’application à l’aide d’un émulateur. Les émulateurs dupliquent à la fois le matériel et le logiciel d’un appareil réel, afin d’imiter parfaitement le comportement de l’appareil original. Certaines des actions de l’application réelle peuvent alors être automatisées, par exemple pour récupérer des données ou pour essayer de faire du bourrage de données d’identification (ou « credential stuffing »).
Une troisième option consiste à faire tourner un logiciel d’automatisation sur une ferme composée d’appareils mobiles physiques. Les pirates installent sur les appareils une application capable de cliquer, faire défiler l’affichage, copier des contenus, etc., à l’instar des robots qui exécutent des scripts sur les pages Web.
Protégez l’API de votre application mobile contre les robots grâce à DataDome
Afin de détecter les trois types d’accès API non autorisés (appel d’API sans application, applications réelles sur émulateurs Android/iOS et applications automatisées sur des appareils réels), la solution DataDome repose sur une combinaison d’intégration côté client et côté serveur.
Pour l’intégration côté serveur, un module est installé sur l’API. La solution DataDome est compatible avec la grande majorité des architectures et offre un choix de 12 modules, d’Apache et Cloudflare à F5 iRules et Vert.x. L’intégration côté serveur collecte les informations HTTP et applique les décisions de blocage prises par l’IA de DataDome.
Les données des clients DataDome indiquent que les bots génèrent 70% du trafic sur certaines des API mobiles les plus ciblées.
Le module côté client est intégré nativement dans l’application mobile via nos kits de développement logiciels (« SDK ») Android et iOS. Ce module collecte les propriétés de l’appareil et les données comportementales lorsque l’utilisateur interagit avec l’application, et est chargé d’afficher le CAPTCHA aux visiteurs dont l’appel API a été bloqué par le module côté serveur.
Les SDK de DataDome sont extrêmement légers, quelques ko seulement. Ils ont été testés avec de nombreux frameworks et versions mobiles différents, et sont très faciles à intégrer. Sur Android, nous fournissons une dépendance Gradle pour intégrer notre SDK avec seulement quelques lignes de code. Sous iOS, c’est une dépendance CocoaPods qui injectera le SDK de DataDome dans l’application.
La mise en œuvre substituée rend la rétro-ingénierie du code DataDome et la compréhension du fonctionnement de la protection suffisamment complexes pour que les pirates informatiques préfèrent renoncer à leurs méfaits.
De par leur conception, nos kits SDK prennent en charge toutes les bibliothèques de mise en réseau tierces telles qu’Alamofire ou Moya.
Détection du trafic robotisé sur les API d’applications mobiles
Une fois DataDome incorporé à votre application mobile, l’intégration côté serveur bloque tout robot malveillant qui tenterait d’émettre un appel d’API. L’intégration côté client (c’est-à-dire le kit SDK) est chargée de collecter les données, de gérer les cookies et d’afficher un Captcha pour les visiteurs dont l’appel d’API a été intercepté par le module côté serveur.
Lorsqu’un utilisateur interagit avec votre application, le module recueille une grande variété de propriétés et de données comportementales sur le périphérique, depuis la taille de l’écran et le modèle de l’appareil jusqu’aux événements et aux gestes tactiles.
Notez qu’aucune des données que nous recueillons n’est personnelle ou identifiable ; elles servent uniquement à déterminer si un visiteur est un humain ou un bot. La collecte de données que notre solution effectue n’entraîne pas d’exigences supplémentaires en matière de RGPD ou d’autres exigences de conformité — au contraire, elle contribue à votre conformité en protégeant votre application du piratage et de l’usurpation de comptes.
L’utilisation des kits SDK de DataDome garantit votre protection contre les robots malveillants d’une manière évolutive et aisément maintenable. Vous bénéficiez automatiquement des mises à jour et améliorations de l’algorithme de protection anti-bots de DataDome, sans aucun effort de développement ou d’intégration supplémentaire.
L’IA de DataDome identifie et bloque automatiquement toutes les menaces automatisées dès la conception.
Configurer des Custom Rules
La solution DataDome vous permet d’affiner facilement votre configuration. Grâce à notre langage de requête, DataDome DSL, vous pouvez autoriser ou refuser l’accès en fonction de 13 critères différents, dont le domaine du référent, l’agent utilisateur et le code pays. Plusieurs critères peuvent être combinés avec les opérateurs booléens AND, OR et NOT.
Par défaut, une Custom Rule sera appliquée à tous vos points de vulnérabilité en ligne, mais vous pouvez également créer des règles uniquement pour vos API d’applications mobiles.

Démarrage
Pour tester gratuitement la solution DataDome pendant 30 jours, il vous suffit d’installer le module côté serveur de votre choix. Cela prend généralement moins de 10 minutes et il n’est pas nécessaire d’avoir une carte de crédit.
Vous obtiendrez un accès instantané à votre tableau de bord DataDome personnel, où vous pourrez visualiser en temps réel le trafic des bots vers votre API d’application mobile en temps réel.
Si vous souhaitez également essayer le module côté client, installez le SDK pour Android et/ou iOS, publiez la mise à jour de l’application et accédez au tableau de bord DataDome. Ce tableau de bord vous permet de filtrer toutes les données de trafic des bots par point de terminaison, afin que vous puissiez faire un zoom avant pour voir exactement ce qui se passe avec votre application.