OTP Pumping: jak oszuści sztucznie zwiększają koszty SMS OTP i jak chronić firmę
OTP Pumping як шахраї накручують витрати на SMS OTP та як захистити бізнес

SMS z jednorazowym kodem działa w prosty sposób: klient podaje numer telefonu, system wysyła OTP, a następnie kod służy do potwierdzenia logowania lub rejestracji. Ten sam mechanizm może jednak zostać wykorzystany do SMS Pumping, czyli OTP Pumping.

Istota ataku polega na sztucznym generowaniu dużej liczby żądań wysłania OTP. System traktuje je jak zwykłe działania użytkowników i wysyła wiadomości SMS, za które płaci firma. W rezultacie koszty rosną, mimo że za tym ruchem nie stoją prawdziwi klienci. Ten rodzaj oszustwa nazywany jest również Artificially Inflated Traffic.

Jak działa OTP Pumping

Oszuści automatycznie uruchamiają formularz logowania, rejestracji lub odzyskiwania dostępu i wielokrotnie proszą o kod na kontrolowane lub specjalnie dobrane numery telefonu. W części takich schematów zysk opiera się właśnie na sztucznie wygenerowanym ruchu SMS.

Dla firmy wygląda to jak nagły wzrost liczby wysyłanych OTP. Jednocześnie liczba udanych rejestracji lub logowań nie rośnie proporcjonalnie do ruchu. Rozbieżność między liczbą wysłanych kodów a zakończonych weryfikacji jest jednym z głównych sygnałów problemu.

Dlaczego jeden limit nie wystarczy

Najbardziej oczywistym zabezpieczeniem jest ograniczenie liczby kodów, które może zamówić jeden numer telefonu. Jest to potrzebne, ale jedna reguła nie wystarczy.

Atak może być rozproszony pomiędzy dużą liczbę numerów telefonu, adresów IP lub krajów. Dlatego warto jednocześnie analizować kilka sygnałów: numer, IP, kraj, częstotliwość żądań oraz odsetek udanych potwierdzeń.

Lepiej stosować ochronę wielowarstwową: limity na numer i IP, opóźnienie pomiędzy kolejnymi żądaniami, analizę podejrzanej aktywności oraz kontrolę geografii wysyłki. OWASP również zaleca stosowanie ograniczeń na podstawie kilku parametrów jednocześnie zamiast polegania wyłącznie na adresie IP.

Zatrzymuj żądanie przed wysłaniem SMS-a

Najważniejsza zasada—podejrzane żądanie należy zatrzymać, zanim wiadomość zostanie przekazana operatorowi.

Po wysłaniu pierwszego OTP nie należy pozwalać na kolejne wysłanie po jednej sekundzie. Warto wprowadzić przerwę, ograniczyć liczbę prób w określonym czasie oraz kontrolować łączną liczbę żądań OTP z jednego adresu IP lub sesji.

W przypadku publicznego formularza warto również stosować ochronę przed botami. CAPTCHA nie powinna być jedyną barierą, ale w połączeniu z limitami i analizą podejrzanego zachowania stanowi dodatkową warstwę zabezpieczeń.

Ogranicz geografię

Jeśli firma działa wyłącznie w Ukrainie i Polsce, żądania OTP na numery z innych krajów nie powinny bez ograniczeń przechodzić przez ten sam scenariusz.

Ograniczenia geograficzne zmniejszają powierzchnię ataku, ponieważ dozwolone pozostają tylko kierunki faktycznie potrzebne produktowi. W przypadku usługi międzynarodowej lepiej ustawić osobne progi dla poszczególnych krajów i monitorować nietypowe skoki ruchu. Blokowanie niepotrzebnych kierunków należy do podstawowych zaleceń dotyczących ochrony przed SMS Pumping.

Monitoruj nie tylko liczbę SMS-ów

Duża liczba OTP sama w sobie nie oznacza jeszcze ataku. Ruch może wzrosnąć po kampanii reklamowej lub wejściu na nowy rynek, dlatego potrzebny jest odpowiedni kontekst.

Porównuj liczbę żądań kodu z liczbą udanych weryfikacji. Jeśli liczba wysłanych wiadomości wzrosła kilkukrotnie, a liczba potwierdzeń prawie się nie zmieniła, ruch należy sprawdzić.

Warto także skonfigurować alerty dotyczące nagłych zmian: nietypowego kraju, serii żądań z jednego adresu IP, gwałtownego wzrostu kosztów lub spadku odsetka poprawnie wprowadzonych OTP. Monitorowanie nietypowej zautomatyzowanej aktywności i wydatków również znajduje się w zaleceniach OWASP.

Nie generuj kodów bez końca

Częstym błędem jest tworzenie nowego OTP po każdym kliknięciu „Wyślij ponownie”.

Lepiej zablokować ponowne wysłanie do momentu zakończenia określonej przerwy i ustawić wyraźny limit kolejnych żądań. Dzięki temu wielokrotne kliknięcia nie zamieniają się w serię nowych płatnych SMS-ów.

Należy również ograniczyć liczbę błędnych prób wpisania kodu. Po określonej liczbie nieudanych prób weryfikację warto tymczasowo zatrzymać. W takich scenariuszach stosuje się także stopniowe wydłużanie przerwy pomiędzy kolejnymi próbami.

Co zrobić przy nagłym wzroście kosztów

Najpierw zatrzymaj źródło nietypowego ruchu: zaostrz limity, zablokuj niepotrzebne kraje i sprawdź formularz uruchamiający wysyłkę OTP.

Następnie porównaj wysyłki według krajów, przedziałów czasowych, adresów IP oraz odsetka udanych potwierdzeń. Ułatwia to oddzielenie rzeczywistego wzrostu liczby użytkowników od sztucznej aktywności.

Po incydencie należy ponownie przeanalizować zasady. Jeśli atak przeszedł przez konkretny scenariusz, bez zmian nadal będzie on słabym punktem.

Jak korzystać z OTP przez SMS Club

SMS Club obsługuje automatyczną wysyłkę jednorazowych kodów poprzez integracje i API. OTP może być na przykład wykorzystywane do potwierdzania rejestracji lub logowania użytkownika.

Ochronę przed OTP Pumping należy wdrożyć już na poziomie strony internetowej lub aplikacji: kontrolować częstotliwość żądań, geografię oraz wynik weryfikacji przed uruchomieniem wysyłki.

Logika określająca, kto i kiedy może poprosić o kod, pozostaje częścią samego produktu. To właśnie na tym etapie należy zatrzymywać podejrzaną aktywność, zanim pojawią się koszty SMS.

Najczęściej zadawane pytania

Czym jest OTP Pumping?

To schemat oszustwa, w którym przestępcy sztucznie generują dużą liczbę żądań wysłania SMS-ów z jednorazowymi kodami. Firma płaci za wiadomości, mimo że za żądaniami nie stoją prawdziwi klienci ani działania wartościowe dla produktu.

Jak szybko wykryć atak?

Porównuj liczbę wysłanych OTP z liczbą udanych weryfikacji. Nagły wzrost liczby SMS-ów bez odpowiedniego wzrostu logowań lub rejestracji, nietypowe kraje oraz wiele żądań w krótkim czasie to najważniejsze sygnały ostrzegawcze.

Czy CAPTCHA wystarczy do ochrony?

Nie. Ochrona przed botami może odfiltrować część automatycznych żądań, ale należy ją łączyć z limitami na numer telefonu i adres IP, przerwami między kolejnymi OTP, kontrolą geografii oraz monitorowaniem nietypowego ruchu.

Gdzie najlepiej wdrożyć ochronę przed OTP Pumping?

Jak najwcześniej—przed faktycznym wysłaniem SMS-a. System powinien sprawdzić numer telefonu, częstotliwość żądań, adres IP, kraj i inne sygnały, a dopiero potem zezwolić na wysłanie jednorazowego kodu.

Oceń artykuł
Rate this post
Przeczytaj także:
TOP