Nazad na blog
SigurnostAIT prevaraVerify Call

AIT prevara objašnjena: Kako napadači prazne vaš OTP budžet

Novauth Team4 min čitanja

Negdje u vašem toku registracije nalazi se endpoint koji šalje tekstualnu poruku bilo kome ko je zatraži — bez potrebne prijave, namjerno, jer je čitava poenta verifikovati nekoga prije nego što ima nalog. To je takođe tačno ono što čini isplativim za napad. Ova šema se zove prevara vještački naduvanog saobraćaja (AIT), ponekad nazvana SMS pumpanje, a procjene industrije stavljaju štetu na otprilike 1,6 milijardi dolara godišnje. Većina timova nikada nije čula za nju sve dok im SMS račun ne skoči bez razloga.

Evo kako zapravo funkcioniše, zašto je tako teško uhvatiti, i šta je zapravo zaustavlja.

Šta je AIT prevara

AIT prevara ne cilja vaše korisnike — cilja direktno vaš OTP endpoint. Prevarant kontroliše, ili ima dogovor o podjeli prihoda sa, rutom za terminaciju po premium tarifi: opsegom brojeva telefona gdje lokalni operater (ili "gray route" preprodavac koji stoji između vašeg SMS provajdera i operatera) naplaćuje naknadu za terminaciju za svaku poruku isporučenu na taj broj. Prevarant zatim koristi botove ili skripte da hiljadama puta pokrene vaš endpoint za "slanje verifikacionog koda" prema brojevima na toj ruti.

Vaš SMS provajder isporučuje poruke — ili prijavljuje da jeste — i naplaćuje vam po poruci. Dio onoga što ste platili vraća se onome ko kontroliše odredišnu rutu. Niko nikada ne unese kod. Nikom to nije ni trebalo. Prevara je završena u trenutku kada je poruka poslana.

Zašto je tako teško uhvatiti

Jedan lažni OTP zahtjev izgleda identično kao pravi: jedan broj telefona, jedan API poziv, bez lozinke, bez naloga koji bi se mogao označiti kao kompromitovan. Kada se poveća na hiljade brojeva i rasporedi na mnogo IP adresa, gotovo savršeno se stapa sa normalnim saobraćajem registracije. Osnovne odbrane takođe malo pomažu — CAPTCHA usporava naivne skripte, ali ne i finansiranu operaciju koja koristi rezidencijalne proksije, a ograničavanje brzine samo po IP adresi lako se zaobilazi.

Trag se obično nalazi u brojkama koje biste primijetili tek naknadno: obim slanja verifikacija raste dok su stvarne registracije ravne, troškovi isporuke se koncentrišu na šačicu nepoznatih pozivnih brojeva zemalja, a stope završetka (kodovi koji su stvarno uneseni) padaju za podskup saobraćaja. Do trenutka kada se to pojavi u mjesečnoj fakturi, šteta je već nastala.

Uobičajeni obrasci napada

  • Zloupotreba registracije putem botova — skripte napadaju javni formular za registraciju ili resetovanje lozinke isključivo da bi pokrenule slanje OTP-a, nikada ne završavajući tok.
  • Ciljanje ruta — saobraćaj je nesrazmjerno usmjeren ka premium ili neobičnim odredištima, jer je tu isplata za terminaciju najveća.
  • Iskorištavanje gray-route ruta — prevara je najlakša tamo gdje SMS poruka prolazi kroz više preprodavaca prije nego što stigne do operatera; više skokova znači više prilika da neko u lancu profitira od naduvanog obima.
  • Spore i prikrivene kampanje — neke operacije namjerno ostaju ispod očiglednih pragova ograničenja brzine, raspoređujući zahtjeve kroz vrijeme i IP opsege da bi potpuno izbjegle detekciju.

Šta zapravo to zaustavlja

Ništa od ovoga nije egzotično — to je ista higijena u koju većina timova ne ulaže dovoljno dok ih to ne košta:

  • Ograničavanje brzine po broju telefona i uređaju, ne samo po IP adresi — pravi korisnik ne traži pet kodova za deset sekundi.
  • CAPTCHA ili proof-of-work prije slanja OTP-a, posebno na neautentifikovanim endpointima poput registracije i resetovanja lozinke.
  • Validacija broja telefona prije slanja — provjera operatera/HLR-a hvata nevažeće, nedostupne ili poznato zloupotrijebljene opsege brojeva prije nego što platite da im pošaljete poruku.
  • Praćenje isporuke i troškova sa upozorenjima na anomalije — označite nagle skokove obima prema nepoznatim zemljama, a ne samo mjesečne ukupne iznose nakon što faktura stigne.
  • Manje preprodavaca na putu isporuke — svaki gray-route skok između vašeg provajdera i odredišnog operatera je potencijalni učesnik u lancu isplate prevare.

Ta posljednja tačka je strukturno rješenje, ne samo ublažavanje. To je takođe mjesto gdje izbor kanala znači više nego što većina timova shvata.

Zašto Verify Call u potpunosti zaobilazi problem

AIT prevara je u suštini iskorištavanje naknade za terminaciju SMS-a — zavisi od toga da poruka bude naplativa i rutabilna kroz lanac gdje neko nizvodno profitira od obima. Verify Call nema tu ekonomiju. Ne postoji SMS tekst koji se može rutirati kroz preprodajive gray route rute i nema naknade za terminaciju po poruci koju bi prevarant mogao ukrasti; "kod" je caller ID na direktnom govornom pozivu preko infrastrukture operatera, a ne naplativi teret koji putuje kroz posrednike. Zato AIT ne čini samo težim — u potpunosti uklanja površinu napada.

Za SMS saobraćaj koji i dalje šaljete — na primjer kroz WhatsApp ili Telegram rezervne koridore — rutiranje kroz manje posrednika i dalje je važno. Novauth se direktno povezuje na mreže operatera prvog nivoa preko osiguranih SS7 i SIP konekcija umjesto preprodaje kroz gray-route agregatore, a svako slanje se bilježi sa operaterom, trajanjem i ishodom, tako da je anomalan obim vidljiv na vašoj kontrolnoj tabli, a ne skriven u sljedećoj mjesečnoj fakturi.

Zaključak

AIT prevara napreduje na osnovu dvije stvari: neautentifikovanog endpointa koji šalje nešto naplativo, i dovoljno skokova na putu isporuke da bi neko profitirao od naduvanog obima. Ne možete ukloniti prvo bez narušavanja svog proizvoda — verifikacija mora raditi prije nego što prijava uopšte postoji. Ali možete ukloniti drugo, bilo pooštravanjem SMS puta koji već imate, ili prebacivanjem primarnog kanala verifikacije na onaj gdje ovaj eksploit jednostavno ne važi.

Uporedite kanale na cijenama, pročitajte više o sigurnosti, ili pogledajte kako Verify Call radi od početka do kraja.