Antoine Vastel, PhD, Head of Research chez DataDome, discute de la recherche sur les menaces et de ce qu’il faut pour analyser, évaluer et automatiser les informations sur les menaces.
Quand quelqu’un vous attaque, il ne respecte pas les règles et ne se soucie pas de l’université que vous avez fréquentée. Il est donc bon d’avoir une diversité de compétences pour s’assurer que nous avons toujours ce qu’il faut pour garder une longueur d’avance sur les bots.
Antoine Vastel, PhD, Head of Research chez DataDome
En tant que Head of Research, Antoine analyse les demandes des clients et les alertes des systèmes de surveillance internes, garantissant que l’équipe mondiale de DataDome reste à jour sur les nouvelles découvertes et les activités suspectes. Il travaille également directement avec les clients pour préparer les ventes flash et les éditions limitées. Anecdotes : Antoine construit ses propres (bons) bots — pour la recherche, bien sûr — et dans ses moments de loisirs, il écrit du code que même les concurrents attendent avec impatience d’intégrer dans leurs produits !
Q : À quoi ressemble votre journée de travail typique ?
R : Lors d’une journée typique, je passe beaucoup de temps à examiner les demandes des clients de DataDome et les alertes de nos systèmes de surveillance internes, dans le but de trouver de nouvelles façons d’améliorer nos capacités de détection des bots. Nous surveillons une large gamme de signaux liés à un trafic potentiellement suspect, et dès que cela semble trop suspect, nous y regardons de plus près.
Par exemple, un site web américain peut avoir un trafic légitime en provenance d’Europe, mais si le volume de trafic provenant d’Europe augmente beaucoup sans raison apparente, nous l’examinerons pour comprendre le contexte et voir s’il y a des motifs récurrents, afin de nous assurer que nous ne manquons rien.
Notre objectif est toujours d’utiliser ces demandes des clients et alertes internes comme entrée pour améliorer notre moteur de détection de bots à long terme. Le but n’est pas seulement de fermer un ticket ou de faire disparaître une alerte, mais de s’assurer que toutes les entrées sont correctement traitées et prises en compte.
En tant que responsable d’une équipe mondiale distribuée, je dois également veiller à ce que nous communiquions et partagions nos connaissances entre nous. Par exemple, lorsque nous créons des modèles de machine learning, l’objectif est d’automatiser la détection à grande échelle et de résoudre des problèmes spécifiques.
Lorsque nos analystes de données partagent les problèmes qu’ils rencontrent, cela aide les data scientists à comprendre ce qu’il est précieux d’automatiser. De même, il est utile pour les chercheurs en menaces de connaître les limites de notre détection actuelle. Si quelqu’un découvre une nouvelle façon de forger correctement de nombreux attributs, nous savons que nous devons investir du temps pour améliorer la détection de ce problème spécifique.
Enfin, je travaille directement avec nombre de nos clients pour préparer les ventes flash ou les sorties de produits en édition limitée. Pour ce type d’événement, nous avons un mode de protection pour les ventes flash avec des modèles de détection comportementale plus agressifs pour s’assurer que seuls les humains participent, et nous pouvons également surveiller manuellement le trafic pendant la durée des ventes.
Q : Comment vous et votre équipe abordez-vous la recherche sur les menaces ?
R : Nous avons différentes façons de garder une longueur d’avance sur les bots. Toutes les demandes et signaux que nous collectons pour nos clients sont stockés dans un grand cluster Elasticsearch interne.
Après une attaque de bot, nous pouvons accéder aux données Elasticsearch soit avec Kibana, soit avec un script Python pour analyser comment notre détection a fonctionné. Pourrions-nous l’améliorer en ajustant nos modèles ou en ajustant certaines signatures ?
Parfois, lorsque nous regardons les données, nous réalisons que nous avons besoin de nouveaux signaux pour optimiser la détection. Si les attaquants ont utilisé un outil open source, nous pouvons simplement le télécharger et le tester, analyser le code, le surveiller lorsqu’il interagit avec une page protégée par DataDome, et voir ce que nous pouvons observer.
C’est la même chose pour les produits payants, comme les bots scalpeurs : nous pouvons les acheter, les analyser, comprendre leur mode de fonctionnement et essayer de trouver de nouvelles façons de les détecter en fonction de leur signature ou de leur comportement.
Ensuite, il y a les proxies. Nous sommes déjà abonnés à de nombreux fournisseurs de proxies pour nous assurer de bien les détecter. Si une adresse IP a été utilisée par un fournisseur de proxies, nous utilisons cette information pour entraîner nos modèles de machine learning et surveiller leurs performances.
Pour détecter les bots, il est également important de comprendre l’état d’esprit des attaquants, donc oui — je crée et utilise aussi des bots, de manière respectueuse bien sûr !
Un attaquant a toujours un objectif, généralement gagner de l’argent. Alors j’essaie de penser de la même manière : si j’ai x dollars à investir, que puis-je faire pour réaliser un profit le plus rapidement possible ? Lorsque je prends en compte le paramètre coût, quelle est la meilleure direction et comment j’adapte ma stratégie ?
Le but est vraiment de rester au top des outils que les attaquants utiliseront, de s’assurer que nous les détectons, et si ce n’est pas le cas, nos analystes et chercheurs rechercheront de nouveaux signaux ou ajusteront les modèles de détection actuels.
Q : Comment êtes-vous entré dans le domaine de la recherche sur les menaces ?
R : Mes recherches de PhD portaient initialement sur les sujets de confidentialité. J’étudiais le fingerprinting des navigateurs, et j’ai fait beaucoup d’appels aux sites web du top 1 million d’Alexa pour identifier les trackers, les traces d’exécution de scripts, etc. À l’époque, si vous vouliez créer un bot, vous faisiez soit des requêtes HTTP avec un script Python, soit utilisiez PhantomJS, qui était bon, mais pas très avancé.
Puis, Google a lancé Headless Chrome, et tout est devenu simple. Il était si facile et direct de créer un bot réaliste. J’ai donc continué à scraper des sites web pour collecter des informations pour mes recherches sur la confidentialité. Mais à un moment donné, j’ai été bloqué parce que je ne cachais pas vraiment mon empreinte.
En essayant de comprendre exactement ce qui avait déclenché le blocage, j’ai réalisé qu’il existait des solutions de détection pour des programmes comme Selenium et PhantomJS, mais il n’y avait rien pour Headless Chrome car il était tout nouveau. J’ai donc commencé à faire de la rétro-ingénierie sur certains codes, et j’ai aussi démarré un dépôt GitHub appelé Headless Cat & Mouse, avec quelqu’un de l’équipe Headless Chrome de Google.
J’ai vraiment aimé ce travail, et finalement mes recherches de PhD se sont orientées vers la détection des bots. Cela faisait aussi sens car le fingerprinting des navigateurs est moins utilisé pour le suivi maintenant, car les vendeurs de navigateurs ont fait beaucoup de travail pour réduire l’entropie des attributs. Cependant, le fingerprinting est toujours très précieux pour détecter les bots, tant côté serveur que côté client.
Donc, j’ai gardé toutes mes connaissances en fingerprinting pour le suivi, mais maintenant je les applique à la détection des bots et à la protection des sites web et des applications contre les attaquants.
Fun fact : Il y a quelques années, Antoine a écrit une implémentation open-source d’un algorithme de canvas fingerprinting inspiré par le Picasso paper d’Elie Bursztein. Son code est maintenant utilisé par d’autres entreprises, y compris Discord, dans leurs scripts de détection des bots.
Q : Comment avez-vous vu les menaces automatisées évoluer depuis que vous avez commencé ? »
R : Comme je viens de le mentionner, à l’époque de PhantomJS, il était difficile de rendre les navigateurs sans tête réalistes. Il y avait beaucoup de tests open-source pour les détecter, et la détection était assez facile. Tout cela a changé avec Headless Chrome et les bibliothèques d’automatisation comme Puppeteer.
Ces bots ont des en-têtes HTTP cohérents (car ce sont des navigateurs), des empreintes TLS cohérentes, etc., et vous avez vraiment besoin de connaissances d’expert pour les détecter.
Une autre évolution est la disponibilité de bibliothèques open-source comme Puppeteer Extra Stealth. Vous pouvez simplement installer le package, et il s’occupera de forger votre empreinte de manière très réaliste. Cela a rendu beaucoup plus facile la création de bots réalistes, et beaucoup plus difficile de les détecter.
Certaines entreprises proposent même des bots « as-a-service », notamment pour des fins de scraping et de scalping. Les utilisateurs n’ont pas besoin d’être des développeurs de bots, car le service s’occupe de forger l’empreinte, de faire tourner les user-agents et les proxies, etc., et ils ne paient que pour les requêtes réussies.
Il y a une nouvelle économie autour des bots de scraping qui n’existait pas lorsque j’ai commencé, avec beaucoup d’argent à gagner pour les développeurs de bots.
Une autre tendance émergente est que, ironiquement, il y a de plus en plus d’humains dans la boucle. Les attaquants utilisent des bots pour automatiser une partie du processus, mais les humains interviendront pour aider les bots à contourner la détection à un moment donné.
Les fermes de CAPTCHA en sont un exemple typique. Lorsque j’ai rejoint DataDome, il était encore rare que les bots forgent des CAPTCHAs. Maintenant, c’est fréquent. Des bibliothèques comme Puppeteer Extra Stealth proposent même des plugins qui interagissent avec les fermes de CAPTCHA, donc si un attaquant ne sait pas comment contourner un CAPTCHA, il peut simplement utiliser un plugin fournisseur pour le faire à sa place.
Enfin, les développeurs de bots investissent beaucoup plus de ressources qu’auparavant. Les données sont le nouvel or, et de nombreuses entreprises vivent de la collecte, de l’emballage et de la revente de données. Elles ont besoin de web scraping pour exister, donc elles sont prêtes à investir beaucoup de temps et d’argent. C’est un jeu sans fin, et il faut une réelle expertise pour comprendre les stratégies de plus en plus avancées des bots.
Q : Quelle est la meilleure partie de votre travail ?
R : DataDome protège certains des plus grands sites web et applications du monde, et bloquer les attaquants a un impact positif réel, tant pour les entreprises que pour leurs utilisateurs finaux. C’est agréable de se promener dans la rue et de voir des marques familières partout, en sachant que nous protégeons leurs activités et les aidons à fonctionner sans problème. Ce qui est également vraiment cool chez DataDome, c’est que notre moteur de détection est construit de manière à ce qu’il soit très facile de déployer de nouveaux signaux et de nouvelles stratégies. Si nous avons une idée ou une intuition, nous pouvons la déployer sur un sous-ensemble de trafic, commencer à collecter des signaux pour confirmer si notre intuition était correcte, et utiliser très rapidement ces signaux pour bloquer des millions de requêtes malveillantes.
Bien sûr, nous examinons et surveillons soigneusement tous nos changements pour nous assurer que nous ne perturbons jamais le trafic de nos clients. Mais en très peu de temps, nous pouvons commencer à collecter de nouveaux signaux et appliquer de nouveaux modèles de détection, ce qui est vraiment utile lorsqu’un client subit une nouvelle forme d’attaque.
Q : Si vous deviez travailler dans une autre industrie ou un autre rôle, que serait-ce ?
R : Difficile à dire ! J’aime vraiment la sécurité, donc peut-être quelque chose lié à la fraude humaine, comme la lutte contre le blanchiment d’argent. C’est un sujet intéressant avec un impact potentiellement énorme.
Q : Quel conseil donneriez-vous à quelqu’un qui cherche à entrer dans la recherche de menaces en ligne ?
R : Il n’y a pas vraiment de bon ou de mauvais parcours pour ce travail, et c’est quelque chose que vous pouvez commencer à apprendre par vous-même si vous êtes motivé.
Il est important de bien comprendre comment fonctionne le web : architecture web, réseaux, JavaScript, proxies, etc. Et bien sûr, vous devriez essayer de créer quelques bots et voir ce que vous pouvez apprendre ! Le plus important est d’être curieux. Vous ne trouverez pas de tutoriel en ligne, donc vous devez expérimenter et développer vos connaissances par vous-même.
Lorsque nous recrutons pour mon équipe, nous recherchons des personnes ayant une mentalité d’automatisation. À notre échelle, le traitement et l’automatisation des données sont très importants.
En dehors de cela, nos membres de l’équipe ont des compétences variées. Certains sont des data scientists avec une expertise approfondie en machine learning ; certains ont un mélange de compétences en science des données et en analyse de la cybersécurité. D’autres sont de véritables experts en sécurité, avec des compétences spécialisées dans des sujets comme la sécurité des réseaux et du web.
Nous avons donc un large éventail de profils, et nous voulons continuer ainsi. Quand quelqu’un vous attaque, il ne respecte pas les règles et ne se soucie pas de l’université que vous avez fréquentée. Il est donc bon d’avoir une diversité de compétences pour s’assurer que nous avons toujours ce qu’il faut pour garder une longueur d’avance sur les bots.