Tous les articles

Fraude au SMS pumping : comment un formulaire de verification telephonique peut vider en silence le budget messagerie d'un site d'annonces

10 min de lecture

La facture de SMS arrive, et elle represente trois ou quatre fois la normale. Rien d'autre n'a bouge : le nombre de nouveaux annonceurs a l'air ordinaire, le tableau d'annonces a l'air ordinaire, le compte de paiement ne montre aucune activite inhabituelle. Le premier reflexe est de soupconner une erreur de facturation, alors l'operateur ouvre un ticket aupres du fournisseur de messagerie et attend. La reponse qui revient est pire qu'une erreur de facturation, car elle signifie que chacun de ces messages est reellement parti, et le fournisseur ne va pas annuler une charge pour un texte qui a ete reellement livre.

Ce qui s'est passe a un nom : le SMS pumping, aussi appele fraude au peage SMS ou trafic artificiellement gonfle. Il vise exactement le type de formulaire sur lequel un annuaire d'annonces s'appuie pour garder des annonces honnetes, celui ou un annonceur tape un numero de telephone et appuie sur un bouton qui dit envoyer le code. Ce blog a deja explique pourquoi ce controle existe, puisque les verifications de telephone et d'identite sont ce qui empeche vraiment un tableau d'annonces de se remplir de faux comptes. La fraude decrite ici ne se soucie pas du tout de l'annonce. Elle ne se soucie que du bouton.

Comment la fraude fonctionne vraiment

Le SMS pumping est une variante d'un schema de telecommunications bien plus ancien appele fraude internationale au partage de revenus, et le mecanisme n'a rien de subtil une fois expose. Un fraudeur met en place un arrangement, formel ou exploite, avec un operateur qui gagne de l'argent sur les frais de terminaison des messages, souvent dans un pays loin de la ou l'entreprise opere. Le fraudeur utilise ensuite des bots pour declencher encore et encore l'action envoyer le code du site, visant des numeros de telephone reels situes sur le reseau de cet operateur. Chacun de ces numeros est une carte SIM active capable de recevoir un texte, donc les messages ne rebondissent pas et n'echouent pas. Ils arrivent.

Comme les messages sont reellement livres, il n'y a aucun signal de fraude du cote des telecommunications qui pousserait un operateur a refuser de les envoyer ou un fournisseur de messagerie a refuser de les facturer. L'operateur encaisse des frais de terminaison pour chaque message qu'il livre, et selon l'accord de partage de revenus, une part de ces frais revient a celui qui gere le trafic de bots. L'entreprise qui paie les messages est, du point de vue du reseau, simplement un client qui a demande l'envoi d'un tres grand nombre de textes. Personne en amont n'a de raison d'arreter cela de son propre chef.

Aucune partie en amont de l'entreprise n'est motivee a arreter cela de sa propre initiative, et c'est un detail qui merite qu'on s'y attarde. L'operateur est paye pour des messages qu'il livre reellement, donc dans ses registres rien ne semble anormal. L'API de messagerie se situe entre l'entreprise et l'operateur et facture fidelement ce qu'on lui a demande d'envoyer. La responsabilite de remarquer que le trafic qui arrive sur le formulaire d'inscription ne ressemble pas a des annonceurs finit par reposer sur la seule partie qui a a la fois le motif et la visibilite pour le remarquer : l'entreprise qui paie la facture.

Ce qui rend cela attrayant pour les fraudeurs, et couteux pour un annuaire, c'est que rien de tout cela ne necessite de compte reel. Le bot n'a pas besoin de terminer la verification, n'a pas besoin de publier une annonce, et le code n'a jamais besoin d'etre tape dans une case. Il lui suffit que le formulaire du site accepte un numero de telephone et envoie un message. Un parcours d'inscription qui ne termine jamais une seule verification reussie peut quand meme generer un mois entier de trafic facturable.

Pourquoi la facture arrive avant tout le reste

La plupart des API SMS et de verification, dont celle de Twilio, facturent par message envoye ou tente, pas par verification effectivement terminee. Ce modele de facturation n'est pas un defaut de conception propre a un fournisseur : c'est ainsi que le reseau telephonique sous-jacent facture deja l'entreprise pour la livraison d'un message, et l'API se contente de repercuter ce cout. L'effet concret est qu'une campagne de fraude coute de l'argent a l'operateur des le premier message, des heures ou des jours avant que quiconque remarque que le taux d'achevement sur le formulaire d'inscription s'est effondre en silence.

L'ampleur que cela peut atteindre n'est pas theorique. En decembre 2022, Elon Musk a declare publiquement, lors d'une session Twitter Spaces, que Twitter perdait environ soixante millions de dollars par an a cause exactement de ce schema, et a nomme environ 390 operateurs telecoms qu'il disait impliques dans le gonflement de trafic frauduleux d'authentification a deux facteurs vers la plateforme. Ce chiffre etait une affirmation propre a Musk, pas une divulgation d'entreprise auditee, mais la reponse a ete reelle et rapportee bien au-dela du marketing de prevention de la fraude : Twitter a coupe les liens avec les operateurs dont le trafic semblait frauduleux, et quelques mois plus tard a reserve l'authentification a deux facteurs gratuite par SMS aux abonnes payants precisement a cause du cout. Une entreprise avec le volume et le personnel technique de Twitter a quand meme mis des mois a le remarquer et a reagir. Un annuaire qui fonctionne sur un seul compte de messagerie independant, sans equipe antifraude lisant les journaux chaque matin, dispose de bien moins d'alerte integree.

Le chiffre qui revele vraiment la fraude n'est pas le volume de messages envoyes, puisqu'une vraie poussee marketing ou une semaine authentiquement chargee peut aussi faire monter ce chiffre. C'est le rapport entre les codes envoyes et les codes saisis avec succes. Un taux d'achevement qui baisse en silence par rapport a sa valeur habituelle, meme quand le volume total grimpe, est le signal que le trafic qui arrive sur le formulaire n'est pas compose de gens qui ont l'intention de terminer leur inscription.

Pourquoi un formulaire d'annonces ouvert est exactement le profil vise

Un annuaire d'annonces a une raison structurelle de rendre le bouton envoyer le code facile a atteindre : toute friction ajoutee a l'inscription d'un annonceur de premiere fois coute des conversions, et ce blog a deja explique pourquoi cette friction merite d'etre defendue avec soin des la porte avant meme que le paiement n'entre en jeu. Une etape de verification telephonique rapide et accueillante pour un annonceur legitime est, par la meme conception, rapide et accueillante aussi pour un bot qui n'a aucune intention de le devenir.

L'exposition est aussi plus vive pour un operateur petit et independant qu'elle n'y parait de l'exterieur. Une grande plateforme negocie des tarifs au volume et dispose generalement d'un contrat incluant un certain suivi antifraude dans le cadre de la relation. Un annuaire qui fait passer son parcours d'inscription par une API de messagerie standard payee a l'usage n'a aucun coussin de ce genre : chaque message frauduleux est facture au meme tarif par message que chaque message legitime, directement sur la carte enregistree, sans rien pour absorber le pic jusqu'a ce qu'un humain remarque la facture.

Rien de tout cela ne signifie que bloquer un prefixe de pays est une decision a fixer une fois pour toutes. Un annuaire qui s'etend vers une nouvelle ville, ou qui accueille des annonceurs qui voyagent, peut se retrouver avec un groupe legitime d'inscriptions derriere un prefixe qui avait ete bloque pour de bonnes raisons un an plus tot. Traiter la liste des prefixes restreints comme quelque chose a revoir tous les quelques mois, avec tout le reste revu a ce rythme, empeche la defense de se transformer en silence en une deuxieme source d'inscriptions perdues.

C'est une defaillance differente de celle que ce blog a decrite en traitant pourquoi un e-mail de verification n'atteint parfois jamais la boite de reception d'un annonceur. Cet article portait sur un message qui echoue en silence, ne coutant rien de plus qu'une inscription perdue. Celui-ci porte sur un message qui reussit bruyamment, arrivant exactement comme prevu, et coutant de l'argent reel chaque fois que cela se produit.

Ce qui l'arrete vraiment

La premiere couche est la limitation de debit sur l'action envoyer le code elle-meme, appliquee cote serveur plutot que confiee au navigateur : un plafond strict sur le nombre de codes qu'une seule adresse IP, session ou numero de telephone peut demander dans une courte fenetre. A elle seule, cela n'arretera pas un reseau de bots distribue sur de nombreuses adresses IP, mais cela elimine la version la plus economique et paresseuse de l'attaque et oblige tout ce qui est plus determine a travailler davantage.

La deuxieme couche est un controle antibot place avant que l'action d'envoi ne se declenche, pas apres : quelque chose qui confirme qu'un humain a declenche la demande sans lui demander de resoudre quoi que ce soit d'agacant, comme un defi invisible qui evalue la demande en arriere-plan. Comme toute la fraude depend du declenchement d'envois de facon automatique et en volume, tout ce qui ralentit significativement le declenchement automatise reduit directement le cout de l'attaque, meme si cela laisse passer quelques bots.

La troisieme couche consiste a appliquer de la friction, pas necessairement un blocage pur et simple, aux prefixes telephoniques que la base reelle d'annonceurs d'un annuaire n'utilise pratiquement jamais. Un site qui dessert des villes d'un seul pays a peu de raisons d'accepter, sans un second controle, une vague de demandes de verification visant un indicatif de pays ou la base d'annonceurs n'a jamais eu de presence significative.

La quatrieme couche consiste a activer toute protection antifraude que le fournisseur de messagerie propose deja, plutot que de supposer que les reglages par defaut suffisent. Twilio, pour prendre un exemple concret, propose une fonction appelee Verify Fraud Guard qui analyse les schemas de trafic pour detecter et bloquer automatiquement l'activite suspecte de pumping, et elle est activee par defaut pour les clients Verify, avec des niveaux de protection ajustables qui echangent un petit taux de faux positifs contre un taux de blocage plus eleve. Confirmer qu'une telle fonction est activee, et reglee a un niveau adapte au trafic reel du site, ne coute rien et attrape ce que la logique propre du site laissera passer.

La cinquieme couche est une alerte de depense configuree directement avec le fournisseur, et non decouverte un mois plus tard sur une facture. Un seuil qui declenche une notification des que la depense de messagerie quotidienne depasse un niveau sans explication ordinaire transforme une campagne de fraude qui tournerait sinon en silence pendant des semaines en une campagne remarquee en quelques heures.

Que faire cette semaine

Sortez les journaux de messagerie du mois dernier et calculez le rapport reel entre les codes envoyes et les codes verifies avec succes, pas seulement le volume total. Un chiffre qui parait correct globalement peut quand meme cacher une semaine precise ou un prefixe de pays precis ou le rapport s'est effondre. Ce seul calcul en dira plus a un operateur sur le fait que cette fraude se produit deja que tout le reste de cet article.

Verifiez ensuite trois reglages directement aupres du fournisseur de messagerie : si une protection antifraude comme Fraud Guard est active et a quel niveau, si une alerte de depense existe et a quel seuil, et si le point d'entree envoyer le code dispose d'une limite de debit cote serveur qui ne depend de rien que l'on puisse demander au navigateur d'ignorer. Aucun de ces trois controles ne necessite de nouveau logiciel ni de nouvelle relation fournisseur, seulement le temps de demander directement au fournisseur et de lire la reponse qui revient.

Essayez la DÉMO

Logiciel d'annuaire d'escorts, prêt à l'emploi