Logo GH

Bot Protection va antifrod API

1) Nima uchun bu zarur?

Botlar va tajovuzkorlar o’sish va pul o’sish nuqtalariga hujum qilishadi: ro’yxatdan o’tish, login (ATO), depozitlar/xulosalar, promo-mexanika, o’yinlar/koeffitsiyentlar kataloglari. Qo’l qoidalari va sof rate limit etarli emas: ko’p darajali signallar, real vaqt skoringi va biznes voqealaridan (charjbeki, chargeback-ratio, KYC-feyl) fikr-mulohazali yechimlarni (allow/deny/challenge/throttle) nazorat qilish kerak.

2) Tahdidlar taksonomiyasi

Ro’yxatdan o’tish/onbording: ommaviy akkauntlar, bir martalik e-mail/sim-banklar, qurilmalar fermalari.
ATO (Account Takeover): credential stuffing, password spraying, session hijack.
Bonus-abyuz: multiakkauting, geo/yurisdiksiya arbitraji, self-exclusion aylanma.
Karting/to’lov frodlari: kartalar testi, o’g "irlangan hamyonlar, mablag’larni qaytarish.
Skreyping/inventar: kontent, narxlar, koeffitsiyentlarni tajovuzkor tortish.
Past intensivlikdagi API-DoS: toshbaqa hujumlari, slow-POST, mobil SDK emulatsiyalari.
Vebxuka/integratsiya: HMAC/mTLSsiz xabarnomalarni qalbakilashtirish, replay.

3) Himoya arxitekturasi

3. 1 qatlamlar

1. Edge (CDN/WAF/shlyuz): erta nosozliklar (ASN/Geo/IP-obro’si), engil challenglar, limitlar, PoW.
2. Risk API (risk bo’yicha PDP): qoidalarning markazlashtirilgan dvigateli/ML; ответ — `decision`, `score`, `reason`, `ttl`.
3. App-daraja: domen invariantlari, biznes-mantiq (limitlar, KYC, AML), asinxron revyu.
4. Voqealar oqimi: Kafka/Kinesis → feature store/model → to’lovlar/munozaralardan fikr.

3. 2 Yechim konturi


[Request] → Edge Plugins → (enrich) → Risk API (rules+ML) → Decision:
allow      deny      throttle      challenge(type=captcha    sms    PoW    biometry)

Yechim’ttl’soniyada (masalan, device × account × route) kesh qilinadi.

4) Signallar va boyitish

Tarmoq/kanal: IP/ASN, proksi/VPN/Tor, rdns, rtt/jitter, SYN-rate, TLS-fingerprint (JA3/JA4), HTTP/2/3 xulq-atvor.
Qurilma/brauzer: canvas/audio/WebGL FP (ehtiyotkorlik bilan), platforma/SDK, timezone/locale, ruxsatnoma, shriftlar, WebDriver/headless indikatorlari, mobile attestation (SafetyNet/DeviceCheck, iloji boricha).
Xulq-atvori: kiritish tezligi, sichqoncha/tach trayektoriyalari, ekranlar ketma-ketligi, dwell-time, urinishlar chastotasi, brauzer identifikatorlari orasidagi oʻtishlar.
Kontent/so’rov: e-mail/domen shakli, disposable-provayderlar, telefon HLR/yoki raqam turi, BIN kartalar, sank-reyestrlardagi hisob/IBAN, F.I.O./manzillarning o’xshashligi.
Hisob/tarix: hisob yoshi, KYC-maqomi, retenshn, ARPPU, depozitlar/xulosalar/bonuslar bo’yicha velocity.
Tashqi manbalar: kompromatatsiya ro’yxatlari (HIBP-ga o’xshash), to’lov tavakkalchilik signallari (PSP), ASN-obro’si.

5) Yechim: qoidalar + ML

5. 1 Qoidalar (determinirlangan)

Velocity: «N registrov s/24 v 10 min», «M loginov s tek devaysom k X schyotov», «K 3DS-faylov podryad».
Geo/yurisdiksiya: IP-geo ziddiyatlari vs manzil/hujjat, manzilning to’satdan sakrashi.
Biznes-invariantlar: mas’ul to’lovlar limitlari, self-exclusion, sanksiya ro’yxatlari.

5. 2 ML-skoring (real-taym)

Yengil model (GBM/logreg) onlayn belgilarida:’ip _ risk’,’device _ age’,’account _ age’,’pwd _ fail _ rate’,’bin _ risk’,’velocity _’,’behavioral _’.
ATO uchun alohida model va to’lovlar/xulosalar uchun alohida model.
Yurisdiksiya/tenant bo’yicha segmentatsiya (per-bozor chegaralarini kalibrlash).

5. 3 Qaror qabul qilish


if ip_blacklisted or bad_asn then deny else if rule_severe then challenge(hard)
else if score >= 0. 9 then deny else if 0. 7 <= score < 0. 9 then challenge(soft)
else allow

’challenge’ da o’tish/muvaffaqiyatsizlik faktlarini saqlash; ishqalanishni dinamik ravishda kuchaytirish/kamaytirish.

6) Velocity va kvotalar (kalitlar va derazalar)

Ключи: `ip`, `ip/24`, `device_id`, `account_id`, `payment_instrument`, `email_domain`, `bin`.
Oynalar: sirpanadigan (1m/5m/1h/24h) + alohida «burst «/« sustained ».
Siyosatlar: issiq marshrutlarda «qattiq» deny (login/depozit), kontentda yumshoq throttle.

Redis qoidalari misoli (psevdo):
pseudo allow, retry_after = gcra_allow(key="login:ip:"+ip, rate=60/min, burst=30)
if not allow:
return 429, {"Retry-After": retry_after}

7) Challenglar va «insoniylikni» tekshirish

CAPTCHA/turnstile: как soft-challenge; «sof» sessiyaga yuqori ishonchdan keyin olib tashlash.
Proof-of-Work (PoW): API/skriptlar uchun - belgilangan murakkablikdagi xeshni hisoblash; yuklamaning o’sishida dinamik murakkablik.
OTP/SMS/Email/Push: ATO/tanqidiy operatsiyalar uchun; suiiste’mol qilmaslik (qiymati/UX).
WebAuthn/biometriya: cash-out/payout-detallarni o’zgartirish bo’yicha yuqori darajadagi ishonch.
Tasdiqlangan qurilmaga Device trust: bind akkaunt; yangi qurilmalar → challenge.

8) Shlyuzga/proksiga integratsiya

8. 1 Envoy: ext_authz → Risk API (psevdo)

yaml http_filters:
- name: envoy. filters. http. ext_authz typed_config:
http_service:
server_uri: { uri: http://risk-api:8080, cluster: risk, timeout: 80ms }
authorization_request:
allowed_headers:
patterns:
- exact: "x-tenant"
- exact: "x-device-id"
- exact: "user-agent"
authorization_response:
allowed_upstream_headers:
patterns: [{ exact: "x-risk-score" }, { exact: "x-risk-decision" }]
- name: envoy. filters. http. router

8. 2 NGINX/Lua: engil PoW va velocity

nginx lua_shared_dict vel 20m;

access_by_lua_block {
local ip = ngx. var. remote_addr if not gcra_allow("reg:ip:"..ip, 20, 40) then ngx. header["Retry-After"] = 30; return ngx. exit(429)
end

local pow = ngx. req. get_headers()["X-POW"]
if not verify_pow(pow, ngx. var. request_id, 18) then ngx. status = 401; ngx. say('need-pow'); return ngx. exit(401)
end
}

9) Risk API kontrakti

So’rov (boyitilgan):
json
{
"tenant":"eu-1",
"route":"POST /v1/login",
"subject":{"account_id":"a123","email":"u@d. com"},
"device":{"id":"d-xyz","fp":"...","ja3":"...","headless":false},
"network":{"ip":"203. 0. 113. 10","asn":12345,"country":"DE","rtt_ms":42},
"context":{"fail_5m":3,"pwd_reset_24h":1}
}
Javob:
json
{ "decision":"challenge", "score":0. 83, "reason":"high_velocity+new_device", "ttl_sec":900, "challenge":"captcha" }

10) Ma’lumotlar, chichlar va modellar

Feature Store (onlayn): Redis/Scylla/KeyDB - hisoblagichlar/velocity/vaqt belgilari.
Batch/oflayn: DWH (BigQuery/S3 + Athena) o’qitish/refitlar uchun; chiqib ketish belgilari, chargeback, qo’l shovqini saqlang.
Modellar: real-time uchun oddiy (logreg/GBM); og’ir (XGBoost/NN) - PGMs/shkalalash va keyinchalik distillash bilan oflayn.
Driftni nazorat qilish: PSI, AUC/PR, mintaqalar/kanallar bo’yicha ostonalarni kalibrlash.

11) Kuzatuvchanlik va operatsion konturi

Metriklar:
  • `risk_requests_total{route,decision}`
  • `risk_score_bucket` (distribution)
  • `waf_block_total`, `velocity_block_total`, `challenge_pass_rate`
  • `ato_incidents`, `carding_detected`, `cashout_denied`
  • biznes-metriklar:’chargeback _ rate’,’bonus _ abuse _ rate’,’false _ positive _ rate ’
  • Loglar (tahrirlangan):’decision’,’score’, asosiy signallar,’trace _ id’, PII/sirlarsiz.
  • A/B va Shadow: shadow rejimida yangi siyosat (yechimlarni logga olamiz), so’ngra canary (1-5%), SLO/FP bo’yicha avtorollbek.
  • Playbooks: eskalatsiya, vaqtincha kuchaytirish, orqaga qaytish, «virtual patchlar».

12) Maxfiylik va muvofiqlik

PII ni minimallashtiring; barqaror identifikatorlarni (masalan, email SHA-256 tuz bilan) xeshlash.
Mintaqaviy yurisdiktsiyani hurmat qiling (ma’lumotlarni mahalliylashtirish, rozilik).
Qo’l qisqichlari uchun yechimlarning shaffof tushuntirishlari; faqat kerakli va TTL bilan saqlang.

13) iGaming/Moliya xususiyatlari

Roʻyxatdan oʻtish: disposable e-mail/VoIP, velocity po/24, devays-fermalar → challenge/deny.
Login/ATO: yangi qurilmalar/geo-poygalar → OTP/WebAuthn; password spraying → throttle/deny.
Bonuslar: «yuvish yo’li» uchun limitlar (depozit → bonus → minimal aylanma → chiqish), affillashuvning graph-tahlili (manzil/qurilmalar/kartalar).
To’lovlar/xulosalar: BIN-tavakkalchilik, country-mismatch, PSP-signallar; cashout yangi vositaga → yuqori chegara va chekap KYC.
PSP/KYC vebxuklari: HMAC + mTLS, tor IP-allow-list, anti-replay (’X-Timestamp’, deraza ± 5 daqiqa).

14) Antipatternlar

Bitta universal captcha «hamma joyda va har doim» → yuqori FP/konversiya pasayishi.
Faqat xulq-atvor/devays signallarsiz rate limit.
«Xom» izlar va PIIlarni saqlash muddatsiz.
Yangi siyosatlar uchun shadow va canary mavjud emas.
O’z validatsiyasisiz tashqi «obro’li» belgilarga to’liq ishonch.
Server tekshiruvisiz mijozda (JS/mobil SDK) qarorlar qabul qilish.

15) Qoidalar va soxta hujjatlar namunalari

15. 1 Kompozit qoida (real-taym)

pseudo score = 0 if ip_asn in bad_asn_list then score += 0. 5 if device_age < 1d and route in {login, withdraw} then score += 0. 3 if velocity("login:account", 5m) > 10 then score += 0. 3 if geovelocity(last_login_loc, current_loc) > 800km/h then score += 0. 2 decision = score>=0. 9? "deny": score>=0. 7? "challenge": "allow"

15. 2 Aloqa grafasi (multiakkaunt)


edge(accountA, deviceX)
edge(accountB, deviceX)
edge(accountB, cardY)
edge(accountC, cardY)
Threshold by common nodes → investigation/deny bonus

16) Prod-tayyorlik chek-varaqasi

  • Ko’p darajali arxitektura: Edge → Risk API → App, voqealar oqimi.
  • Signallar: tarmoq, qurilma, xulq-atvor, kontent, to’lov; PII ni minimallashtirish.
  • Velocity/GCRA ip/device/account/payment oynalari.
  • Yechimlar: allow/deny/challenge/throttle; TTL bilan yechimlar keshi; challenge faktlari ombori.
  • Challenglar: captcha/PoW/OTP/WebAuthn; dinamik murakkablik.
  • Risk API: SLA <100 ms, kesh, «minimal xavfsiz» rejimga buzilish.
  • Kuzatish darajasi: risk metrikasi, FP/FN, dashbordlar, alertlar; biznes-metrika (chargeback/bonus-abuse).
  • Shadow → canary → enforce; eskalatsiya va qaytish pleybuklari.
  • PSP/KYC vebxuklari: HMAC + mTLS + anti-replay + allow-list.
  • Mintaqaviy talablar va sezgir ma’lumotlar uchun TTL.

17) TL; DR

Erta edge-filtrlar va challenglar, markazlashtirilgan Risk API + ML qoidalari va fikr almashish uchun voqealar oqimini qatlamli himoya qiling. Velocity limitlari, tarmoq/qurilma/xatti-harakatlar signallari, dinamik challenge (captcha/PoW/OTP/WebAuthn) dan foydalaning. allow/deny/challenge/throttle qarorlarini qabul qiling, FP/FN va biznes effektini o’lchang, shadow/canary orqali yuguring. To’lov/bonus yo’llari uchun - alohida qattiqlashtirilgan profillar va KYC/AML bilan bog’lanish.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.