OTP Pumping як шахраї накручують витрати на SMS OTP та як захистити бізнес
Зміст:
Зміст:
SMS з одноразовим кодом працює просто: клієнт вводить номер, система надсилає OTP, після чого код підтверджує вхід або реєстрацію. Але саме цю схему використовують для SMS Pumping, або OTP Pumping.
Суть атаки — штучно створити велику кількість запитів на відправлення OTP. Система сприймає їх як звичайні дії та надсилає SMS, за які компанія платить. У результаті витрати ростуть, хоча реальних клієнтів за цим трафіком немає. Такий тип шахрайства також називають Artificially Inflated Traffic.
Як працює OTP Pumping
Шахраї автоматично запускають форму входу, реєстрації або відновлення доступу та багато разів запитують код на контрольовані або спеціально підібрані номери. У частині схем заробіток будується саме на штучно створеному SMS-трафіку.
Для компанії це виглядає як різкий ріст OTP-відправлень. При цьому кількість успішних реєстрацій або входів не росте разом із трафіком. Невідповідність між кількістю кодів і завершеними перевірками — один із головних сигналів проблеми.
Чому одного ліміту недостатньо
Очевидний захист — дозволити одному номеру запитувати код лише кілька разів. Це потрібно, але одного правила недостатньо.
Атака розподіляється між великою кількістю номерів, IP-адрес або країн. Тому перевіряти варто одразу кілька ознак: номер, IP, країну, частоту запитів і частку успішних підтверджень.
Краще використовувати багаторівневий принцип: ліміти на номер та IP, затримку між повторними запитами, перевірку підозрілої активності й контроль географії відправлень. OWASP також рекомендує застосовувати обмеження одразу за кількома параметрами, а не покладатися лише на IP.
Зупиняйте запит до SMS
Найважливіше правило — відсікати підозрілий запит до того, як повідомлення пішло оператору.
Після першого OTP не потрібно дозволяти повторне відправлення через секунду. Варто встановити паузу, обмежити кількість спроб за певний час і контролювати загальну кількість OTP з одного IP або сесії.
Для публічної форми доречний і захист від ботів. CAPTCHA не повинна бути єдиним бар’єром, але разом із лімітами та аналізом підозрілої поведінки вона додає ще один рівень захисту.
Обмежте географію
Якщо компанія працює лише в Україні та Польщі, OTP на номери інших країн не повинні безконтрольно проходити через той самий сценарій.
Географічні обмеження скорочують площу атаки: дозволеними залишаються напрямки, які реально потрібні продукту. Для міжнародного сервісу краще задати окремі пороги для країн і стежити за незвичними стрибками трафіку. Обмеження непотрібних напрямків входить до базових рекомендацій із захисту від SMS Pumping.
Стежте не лише за кількістю SMS
Великий обсяг OTP сам по собі ще не означає атаку. Трафік росте після рекламної кампанії або виходу на новий ринок, тому потрібен контекст.
Порівнюйте кількість запитів на код із кількістю успішних перевірок. Якщо відправлень стало в кілька разів більше, а підтверджень майже не додалося, трафік потрібно перевірити.
Окремо налаштуйте сповіщення про різкі зміни: незвичну країну, серію запитів з одного IP, стрибок витрат або падіння частки успішно введених OTP. Моніторинг аномальної автоматизованої активності та витрат також входить до рекомендацій OWASP.
Не генеруйте код безкінечно
Поширена помилка — створювати новий OTP при кожному натисканні «Надіслати ще раз».
Краще не дозволяти нове відправлення до завершення паузи та встановити чіткий ліміт повторних запитів. Так багаторазові кліки не перетворюються на серію нових платних SMS.
Обмежувати потрібно й кількість неправильних введень. Після визначеної кількості невдалих спроб перевірку варто тимчасово зупинити. Для таких сценаріїв також використовують поступове збільшення паузи між повторними спробами.
Що робити при стрибку витрат
Спочатку зупиніть джерело аномального трафіку: посильте ліміти, закрийте непотрібні країни та перевірте форму, яка запускає OTP.
Далі порівняйте відправлення за країнами, часовими проміжками, IP та часткою успішних підтверджень. Так легше відокремити реальний ріст аудиторії від штучної активності.
Після інциденту правила потрібно переглянути. Якщо атака пройшла через конкретний сценарій, без змін він залишиться слабким місцем.
Як працювати з OTP через SMS Club
SMS Club підтримує автоматичне відправлення одноразових кодів через інтеграції та API. Наприклад, OTP використовується для підтвердження реєстрації або входу користувача.
Сам захист від OTP Pumping потрібно закладати ще на рівні сайту або застосунку: контролювати частоту запитів, географію та результат перевірки до запуску відправлення.
Логіка того, кому і коли дозволено запросити код, залишається частиною самого продукту. Саме на цьому етапі варто зупиняти підозрілу активність до появи витрат на SMS.
Часті питання
Що таке OTP Pumping?
Це схема, за якої шахраї штучно створюють багато запитів на SMS з одноразовими кодами. Компанія оплачує відправлення, хоча за ними немає реальних клієнтів або корисних для продукту дій.
Як швидко помітити атаку?
Порівнюйте кількість відправлених OTP з успішними підтвердженнями. Різкий ріст SMS без відповідного росту входів або реєстрацій, незвичні країни та багато запитів за короткий час — основні сигнали для перевірки.
Чи достатньо CAPTCHA для захисту?
Ні. Захист від ботів відсікає частину автоматичних запитів, але його потрібно поєднувати з лімітами на номер та IP, паузами між повторними OTP, контролем географії й моніторингом аномального трафіку.
Де краще ставити захист від OTP Pumping?
Якомога раніше — до фактичної відправки SMS. Система повинна перевірити номер, частоту запитів, IP, країну та інші сигнали, а вже після цього дозволити відправлення одноразового коду.