Géant du commerce en ligne Français, Cdiscount héberge en son sein une filiale technologique loin d'avoir autant été mise sous le feu des projecteurs que sa maison-mère, Peaksys. Regroupant 650 employés dont environ 350 développeurs, cette entité ne s'occupe pas seulement de fournir les moyens techniques et humains affectés aux projets informatiques de Cdiscount. Elle édite également depuis deux ans une solution, Baleen, spécialisée dans la protection anti-DDoS, du WAF et du CDN mais aussi de la lutte contre les bots malveillants à base d'IA. Parmi les utilisateurs de ce produit, Cdiscount bien sûr, mais aussi d'autres comme Pix, le Journal Officiel, le ministère de la Transition Energétique...

« L'IA fait partie de notre stratégie aussi bien dans nos équipes de développement que btob », nous a expliqué Fabien Poletti, CTO de Peaksys. Alors qu'il regarde de près l'IA générative d'OpenAI ChatGPT pour catégoriser les fiches produits du e-commerçant, le groupe s'est tourné depuis plusieurs années sur la datascience et l'IA pour lutter contre les attaques de bots devenues de plus en plus agressives et efficaces avec le temps. « Nous avons 20 millions de visiteurs par mois et des centaines de milliers de requêtes par seconde à identifier », fait savoir Fabien Poletti. Autant le dire : compliqué pour Peaksys de les traiter manuellement, ce qui a poussé alors la filiale à se tourner vers un modèle de ML basé sur du random forest pour gagner en efficacité et fiabilité de sa lutte contre les bots malveillants avant d'aller un cran plus loin. « On se base sur un réseau neuronal pour isoler et scorer en temps réel toutes les requêtes selon un tas de critères pour détecter les utilisateurs légitimes des bots. Une fois l'analyse statistique effectuée, on envoie un captcha ce qui permet aujourd'hui de limiter à 0,1 % les faux positifs », raconte Fabien Poletti.

Baleen

Les requêtes entrantes non légitimes sont bloquées par Baleen. (crédit : Peaksys)

4 ans de travail

Au départ, Peaksys avait commencé avec du random forest pour son scoring mais a décidé de remonter par-dessus une bibliothèque ML spécifique pour améliorer ses résultats. « On a commencé il y a 4 ans et notre équipe de datascientists travaille pour faire face à des bots de plus en plus évolués. Il a donc fallu passer à la vitesse supérieure avec du machine learning sur les logs », poursuit le CTO de Peaksys. 

Le fonctionnement de Baleen ? Une requête arrive sur la plateforme qui va être enrichie d'informations de l'utilisateur, de sa réputation et de sa connexion, et sera scorée avec l'arbre décisionnelle du modèle ML pour se voir attribuer une notre comprise de 0 à 1. Des historiques de notes sont aussi considérées dans le cadre de cette analyse. En fonction du résultat, la requête est alors acceptée ou bien redirigée sur un captcha. « Nous attrapons de plus en plus de rebonds liés à de l'intelligence économique », avance également Fabien Poletti. « Nous allons utiliser de plus en plus de logs pour nourrir cette IA et nous irons un cran plus loin en termes d'analyse comportementale en se concentrant sur le temps de navigation. Nous avons une vision encore un peu trop statique, nous allons la rendre plus dynamique pour identifier un parcours type ».

Peaksys Cdiscount

La vigie de Peaksys surveille comme le lait sur le feu les attaques potentielles sur le réseau de Cdiscount comme ceux de ses autres clients. (crédit : Cdiscount / Peaksys)

Relever le challenge de faire travailler ensemble datascientists et développeurs

Pour faire tourner ses modèles IA et d'apprentissage machine, Peaksys utilise plusieurs briques technologiques. Côté développement, beaucoup de code Python moulinant sur de grosses bases de données SQL et noSQL couplé à du data streaming Apache Kafka. « Nous avons une intégration 100 % open source qui pour l'instant n'est pas conteneurisée sur des machines virtuelles », explique le CTO de Peaksys. Les systèmes utilisés pour entrainer le modèle d'apprentissage ne sont pas des foudres de guerre : « Nous avons des serveurs Dell, du Nutanix et un peu de GPU et de CPU mémoire pour faire tourner l'algorithme. Nous avons un ADN de discounter aussi sur nos plateformes ».

Dans le cadre de ce projet, Fabien Poletti ne fait pas mention de difficultés techniques majeures rencontrées, mais quelques difficultés plutôt à surmonter en termes culturelles : « ce sont des projets où il faut faire travailler ensemble des datascientists qui sont des mathématiciens avec des développeurs qui sont des ingénieurs. Il faut donc trouver les meilleurs compromis possibles chacun ayant ses compétences mais devant comprendre aussi celles des autres pour travailler ensemble ».