Qu'est-ce que le SMS pumping et comment s'en protéger ?

La fraude appelée SMS pumping survient lorsque des fraudeurs exploitent un champ de saisie de numéro de téléphone de votre application pour recevoir des codes envoyés par SMS.
La fraude consiste à faire envoyer à votre application (web ou mobile) des milliers de SMS à des numéros contrôlés par un opérateur de réseau mobile (ORM) spécifique, qui permet aux fraudeurs de recevoir une partie des revenus générés par l'envoi de ces SMS.
L'impact principal pour vous et votre entreprise est financier, car vous devez payer pour l'envoi massif de ces SMS.
Comme l'explique Twilio dans son article dédié au sujet, deux cas peuvent expliquer comment les fraudeurs récupèrent des revenus depuis l'ORM :
  1. L'ORM est complice et a un accord de partage des revenus avec les fraudeurs.
  2. L'ORM est exploité à son insu par les fraudeurs. Par exemple, les fraudeurs créent une fausse entreprise, qui conclut un partenariat avec l'ORM dans le but de leur apporter des abonnés et du trafic. L'ORM pourrait ne pas se soucier de la provenance du trafic et soutenir la fraude à son insu.
Dans les deux situations, ce type de fraude est plus susceptible de se produire avec des ORM relativement petits.

Comment savoir si je suis victime de SMS pumping ?

Il est important de mettre en place un mécanisme d'alerte de coûts sur le service que vous utilisez pour envoyer des SMS, afin de pouvoir rapidement vous apercevoir que vos coûts d'envoi de SMS sont anormalement élevés.
Pour soutenir l'hypothèse d'une attaque de type SMS pumping, deux critères principaux sont à considérer :
  • un pic soudain du nombre de SMS envoyés
  • des SMS envoyés sur des numéros appartenant à des pays inhabituels pour votre application
À noter que le SMS pumping ne se produit pas nécessairement avec des numéros de pays très lointains. Des attaques de SMS pumping via des numéros basés au Royaume-Uni sont par exemple souvent constatées.

Comment se protéger contre le SMS pumping ?

En 2023, Twitter a supprimé l’authentification à deux facteurs par SMS afin d’éviter les attaques de SMS pumping. Il n'est donc pas trivial de se protéger contre ce type d'attaques. Plusieurs mesures peuvent cependant être mises en place et, ensemble, vous permettre de diminuer considérablement la fraude :
  • Bloquer l'envoi des SMS aux pays qui ne sont pas censés utiliser votre application
  • Ajouter un captcha à votre formulaire et valider le captcha au moment d'envoyer le code SMS
  • Utiliser un service de protection contre la fraude proposé par votre service d'envoi de SMS, tels que Verify Fraud Guard dans le cas où vous utilisez Twilio
  • Limiter le nombre de SMS pouvant être envoyés à un même numéro de téléphone (cependant, il est probable que les attaquants utilisent un grand nombre de numéros différents)
Bonne chance dans votre lutte contre le SMS pumping !
Vous souhaitez être accompagné pour lancer votre projet digital ?
Déposez votre projet dès maintenant
Comment utiliser GitLab CI/CD pour améliorer votre flow de développement ?
Lors du développement d'une application, il y a toujours une petite appréhension lors la mise en production. Cette petite ...
Matthieu Locussol
Matthieu Locussol
Full-Stack Developer @ Galadrim
Comment changer de version de Node.js avec NVM ?
Vous voulez changer rapidement de version de `node` ? nvm est l’outil qu’il vous faut. Pourquoi nvm ? `node` est un exécutable. ...
Florian Yusuf Ali
Florian Yusuf Ali
Full-Stack Developer @ Galadrim
Next.js App Router : le cache et ses dangers
“Il y a seulement 2 problèmes compliqués en informatique : nommer les choses, et l’invalidation de cache”. Phil Karlton. Avec ...
Valentin Gerest
Valentin Gerest
Full-Stack Developer @ Galadrim