SMS pumping: o que é, quanto custa e como proteger sua API
SMS pumping é a fraude que usa o seu formulário de verificação para disparar milhares de mensagens pagas. Veja como ela funciona, os sinais de ataque e as defesas que realmente funcionam.
Imagine acordar e descobrir que o seu formulário de cadastro enviou dezenas de milhares de códigos de verificação durante a madrugada, para números que nunca vão criar conta. A conta do provedor de mensagens chega alta e nenhum usuário novo apareceu.
Isso tem nome: SMS pumping, também chamado de fraude de tráfego artificial (Artificially Inflated Traffic, ou AIT).
O que é SMS pumping
É uma fraude em que o atacante usa um formulário legítimo seu (cadastro, login, "esqueci minha senha") para disparar mensagens em massa para números que ele controla ou com os quais tem acordo.
O lucro vem da tarifa de terminação: algumas operadoras, especialmente em rotas internacionais caras, repassam parte do valor de cada mensagem recebida. Quanto mais mensagens o seu sistema manda, mais o fraudador ganha. Quem paga é você.
Como o ataque funciona
- O atacante encontra um endpoint que envia código sem proteção.
- Usa bots para preencher o formulário com milhares de números, em geral sequenciais ou de prefixos internacionais caros.
- Cada requisição gera uma mensagem paga.
- O ataque costuma acontecer em rajadas, fora do horário comercial.
Sinais de que você está sob ataque
- Pico de envios sem aumento proporcional de cadastros concluídos.
- Taxa de verificação despencando: muitos códigos enviados, quase nenhum digitado.
- Números sequenciais ou concentrados em poucos prefixos.
- Destinos internacionais incomuns para o seu público.
- Muitas requisições vindo de poucos IPs ou com o mesmo user-agent.
Uma métrica simples para acompanhar: códigos verificados ÷ códigos enviados. Se essa razão cai de repente, investigue.
Como proteger sua aplicação
1. Limite de envios por minuto
Um teto global de envios por minuto impede que um ataque escale sem controle. Na aut2fa, toda conta tem esse teto por padrão (600 envios por minuto na configuração padrão).
2. Limite por destinatário
Ninguém precisa de 30 códigos por hora no mesmo número. Limitar envios por destinatário por hora corta ataques que repetem o mesmo número e também abusos contra uma pessoa (inundar o celular de alguém).
Na aut2fa você ativa, por aplicação, limites por minuto e por destinatário por hora. Quando habilitados, os valores iniciais são 60 por minuto e 5 por destinatário por hora, e você ajusta no painel.
3. Responder 429 antes de enviar
O ponto mais importante: o bloqueio tem que acontecer antes da mensagem sair. Na aut2fa, uma requisição acima do limite recebe HTTP 429 com o header Retry-After, e nada é enviado nem cobrado.
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Retry-After: 37
Use o Retry-After para mostrar uma contagem regressiva no botão "reenviar código".
4. Restrinja os países que você atende
Se o seu produto só atende o Brasil, não há motivo para aceitar números de outros países. Valide o prefixo +55 no seu backend antes de chamar a API.
5. Proteja o formulário
- CAPTCHA ou desafio invisível em formulários públicos.
- Limite por IP e por sessão no seu próprio backend.
- Exija interação mínima (por exemplo, aceitar termos) antes de liberar o envio.
6. Prefira canais menos expostos à fraude
O SMS pumping explora a tarifa de terminação de operadoras. Enviar o código pelo WhatsApp reduz bastante a superfície desse tipo de ataque, e ainda costuma ter melhor entrega no Brasil. Veja o comparativo entre SMS e WhatsApp.
7. Pague só pelo que foi entregue
Com a aut2fa, cada envio custa o preço do canal que entregou o código. Envio que falha não é cobrado, o que limita o prejuízo em tentativas para números inválidos.
Checklist rápido
- Teto de envios por minuto na conta
- Limite por destinatário por hora ativado
- Tratamento do HTTP 429 com
Retry-After - Validação de país/prefixo no backend
- CAPTCHA no formulário público
- Alerta quando a taxa de verificação cair
Conclusão
SMS pumping não é ataque sofisticado: ele explora formulários sem limite. Com limites por minuto, por destinatário e bloqueio antes do envio, o ataque deixa de dar lucro e o fraudador vai embora.
A aut2fa já vem com essas proteções de fábrica. Crie sua conta grátis e veja os detalhes em Limites e reenvio na documentação.