Logo GH

Bot Protection және антифрод API

1) Бұл не үшін қажет

Боттар мен қаскүнемдер өсу мен ақшаның кіру нүктелеріне шабуыл жасайды: тіркеу, логин (АТО), депозиттер/қорытындылар, промо-механика, ойындар/коэффициенттер каталогтары. Қол ережелері мен таза rate limit жеткіліксіз: көп деңгейлі сигналдар, нақты уақыттағы скоринг және бизнес-оқиғалардан (чарджбэки, chargeback-ratio, KYC-фейл) кері байланысы бар шешімді (allow/deny/challenge/throttle) бақылау қажет.

2) Қатерлердің таксономиясы

Тіркеу/онбординг: бұқаралық аккаунттар, бір реттік e-mail/сим-банктер, девайс фермалары.
ATO (Account Takeover): credential stuffing, password spraying, session hijack.
Бонус-абьюз: мультиаккаутинг, гео/юрисдикция төрелігі, self-exclusion тексеріп шығу.
Картинг/төлем фроды: карта тесті, ұрланған әмияндар, қаражатты қайтару.
Скрейпинг/мүкәммал: контентті, бағаларды, коэффициенттерді агрессивті тарту.
API-DoS төмен қарқындылығы: тасбақалар шабуылдары, slow-POST, мобильді SDK эмуляциялары.
Вебхактар/интеграциялар: HMAC/mTLS, replay хабарламаларын қолдан жасау.

3) Қорғау архитектурасы

3. 1 қабаттар

1. Edge (CDN/WAF/шлюз): ерте істен шығулар (ASN/Geo/IP-беделі), жеңіл челлендждер, лимиттер, PoW.
2. Risk API (PDP тәуекел бойынша): орталықтандырылған ережелер қозғалтқышы/ML; ответ — `decision`, `score`, `reason`, `ttl`.
3. App-деңгей: домендік инварианттар, бизнес-логика (лимиттер, KYC, AML), асинхронды ревю.
4. Оқиғалар ағыны: Kafka/Kinesis → feature store/модель → төлемдерден/пікірталастардан кері байланыс.

3. 2 Шешім сұлбасы


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

Шешімді 'ttl' секундқа (мысалы, device × account × route) кэштеу.

4) Сигналдар және байыту

Желі/арна: IP/ASN, прокси/VPN/Tor, rdns, rtt/jitter, SYN-rate, TLS-фингерпринт (JA3/JA4), HTTP/2/3 мінез-құлық.
Девайс/браузер: canvas/audio/WebGL FP (ұқыпты), платформа/SDK, timezone/locale, рұқсат, қаріптер, WebDriver/headless индикаторлары, mobile attestation (SafetyNet/DeviceCheck, мүмкіндігінше).
Мінез-құлық: енгізу жылдамдығы, тышқан/тач траекториясы, экрандар реттілігі, dwell-time, әрекеттер жиілігі, браузерлік идентификаторлар арасындағы ауысулар.
Контент/сұрау салу: e-mail/домен нысаны, disposable-провайдерлер, phone HLR/немесе нөмір түрі, BIN картасы, санк-тізілімдегі шот/IBAN, ТАӘ/мекенжайлардың ұқсастығы.
Есеп/тарихы: есеп жасы, KYC-мәртебесі, ретеншн, ARPPU, депозиттер/қорытындылар/бонустар бойынша velocity.
Сыртқы көздер: компрометация тізімдері (HIBP-ұқсас), төлемдік тәуекел сигналдары (PSP), ASN-беделі.

5) Шешім: ережелер + ML

5. 1 Ереже (детерминирленген)

Velocity: «N тіркеу с/24 10 минут ішінде», «M логинов с одним девайсом к X аккаунтам», «K 3DS-фейлов подряд».
Гео/юрисдикция: IP-гео қайшылықтары vs мекенжайы/құжаты, кенеттен тұрған жерінің секіруі.
Бизнес-инварианттар: жауапты төлемдердің лимиттері, self-exclusion, санкциялық тізімдер.

5. 2 ML-скоринг (нақты уақыт)

Онлайн-белгілердегі жеңіл модель (GBM/логрег): 'ip _ risk', 'device _ age', 'account _ age', 'pwd _ fail _ rate', 'bin _ risk', 'velocity _', 'behavioral _'.
АТО үшін жеке және төлемдер/қорытындылар үшін жеке модель.
Юрисдикция/теңге бойынша сегменттеу (шектерді калибрлеу нарығы).

5. 3 Шешім қабылдау


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' кезінде өту/істен шығу фактілерін сақтау; үйкелісті серпінді түрде күшейту/азайту.

6) Velocity және квоталар (кілттер мен терезелер)

Ключи: `ip`, `ip/24`, `device_id`, `account_id`, `payment_instrument`, `email_domain`, `bin`.
Терезелер: жылжымалы (1 м/5 м/1 сағ/24 сағ) + жеке «burst «/« sustained ».
Саясаткерлер: ыстық маршруттарда «қатты» deny (логин/депозит), контентте жұмсақ throttle.

Redis-ереже мысалы (жалған):
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) Челленджи және «адамгершілікті» тексеру

CAPTCHA/turnstile: как soft-challenge; «таза» сессияға жоғары сенімділіктен кейін жинауға міндетті.
Proof-of-Work (PoW): API/скрипттер үшін - берілген қиындықпен хэшті есептеу; жүктеменің өсуі кезіндегі динамикалық күрделілік.
OTP/SMS/Email/Push: АТО/күрделі операциялар үшін; теріс пайдаланбау (құны/UX).
WebAuthn/биометрия: жоғары сенімділік деңгейі cash-out/payout-бөлшектерін өзгерту.
Device trust: тексерілген құрылғыға тіркелгі bind; Жаңа құрылғылар → challenge.

8) Шлюз/прокси интеграциясы

8. 1 Envoy: ext_authz → Risk API (жалған)

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: жеңіл PoW және 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 келісімшарты

Сұрау салу (байытылған):
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}
}
Жауап:
json
{ "decision":"challenge", "score":0. 83, "reason":"high_velocity+new_device", "ttl_sec":900, "challenge":"captcha" }

10) Деректер, фичтер және модельдер

Feature Store (онлайн): Redis/Scylla/KeyDB - есептегіштер/velocity/уақытша белгілер.
Batch/офлайн: Оқыту/рефиттер үшін DWH (BigQuery/S3 + Athena); әкету белгілерін, chargeback, қол ревін сақтаңыз.
Модельдер: real-time үшін қарапайым (логрег/GBM); ауыр (XGBoost/NN) - PGMs/масштабтау және кейіннен дистилляциялау офлайн.
Дрифтті бақылау: PSI, AUC/PR, өңірлер/арналар бойынша табалдырықтарды калибрлеу.

11) Бақылау және операциялық контур

Өлшемдері:
  • `risk_requests_total{route,decision}`
  • `risk_score_bucket` (distribution)
  • `waf_block_total`, `velocity_block_total`, `challenge_pass_rate`
  • `ato_incidents`, `carding_detected`, `cashout_denied`
  • бизнес-метрика: 'chargeback _ rate', 'bonus _ abuse _ rate', 'false _ positive _ rate'
  • Логтар (өңделген): 'decision', 'score', негізгі сигналдар, 'trace _ id', PII/құпиясыз.
  • A/B және Shadow: shadow режиміндегі жаңа саясат (шешімдерді логикалаймыз), содан кейін canary (1-5%), SLO/FP бойынша авторолбек.
  • Playbooks: эскалация, уақытша қатайту, кері шегіну, «виртуалды патч».

12) Жекешелiк және сәйкестiк

PII-ні барынша азайтыңыз; тұрақты идентификаторларды (мысалы, email SHA-256 тұзбен) хэштеңіз.
Өңірлік юрисдикцияны құрметтеңіз (деректерді оқшаулау, келісім).
Қолмен реву үшін шешімдерді ашық түсіндіру; тек қажетті және TTL сақтаңыз.

13) iGaming/Қаржы ерекшелігі

Тіркеу: disposable e-mail/VoIP, velocity/24, девайс-ферма → challenge/deny.
Логин/АТО: жаңа құрылғылар/гео-секірістер → OTP/WebAuthn; password spraying → throttle/deny.
Бонустар: «жылыстату жолына» арналған лимиттер (депозит → бонус → ең аз айналым → шығару), аффилиирленуді graph-талдау (мекенжайлар/девайстар/карталар).
Төлемдер/қорытындылар: BIN-тәуекел, country-mismatch, PSP-сигналдар; жаңа құралға cashout → жоғары табалдырық және чекап KYC.
PSP/KYC: HMAC + mTLS, тар IP-allow-парақ, anti-replay ('X-Timestamp', терезе ± 5 мин).

14) Антипаттерндер

Бір әмбебап captcha «барлық жерде және әрқашан» → жоғары FP/конверсия құлдырауы.
Тек мінез-құлық/девайс сигналдарынсыз rate limit.
«Шикі» таңбалар мен PII мерзімсіз сақталады.
Жаңа саясаттарға арналған shadow-прогонның және canary-дің болмауы.
Өзіндік валидациясыз сыртқы «беделді» белгілерге толық сенім.
Серверлік тексерусіз клиентке (JS/мобильді SDK) шешім қабылдау.

15) Ережелер мен жалған құжаттардың үлгілері

15. 1 Композиттік ереже (реал-тайм)

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 Байланыстар бағаны (мультиаккаунт)


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

16) Prod-дайындық чек-парағы

  • Көп деңгейлі архитектура: Edge → Risk API → App, оқиғалар ағыны.
  • Сигналдар: желі, девайс, мінез-құлық, контент, төлем; PII азайту.
  • ip/device/account/payment кілттеріндегі Velocity/GCRA, жылжымалы терезелер.
  • Шешімдер: allow/deny/challenge/throttle; TTL кэш шешімдері; челленджер фактілерінің қоймасы.
  • Шақырулар: captcha/PoW/OTP/WebAuthn; динамикалық күрделілік.
  • Risk API: SLA <100 мс, кэш, «минималды қауіпсіз» режимге деградация.
  • Байқалуы: тәуекел метрикасы, FP/FN, дашбордтар, алерта; бизнес-метрика (chargeback/bonus-abuse).
  • Shadow → canary → enforce; эскалация және қайтару плейбуктері.
  • PSP/KYC: HMAC + mTLS + anti-replay + allow-list.
  • Өңірлік талаптар және сезімтал деректерге арналған TTL.

17) TL; DR

Қабатты қорғауды жасаңыз: ерте edge-сүзгілер мен челлендждер, + ML ережелерімен орталықтандырылған Risk API және кері байланыс үшін оқиғалар ағыны. velocity-лимиттерін, желі/девайс/мінез-құлық сигналдарын, динамикалық challenge (captcha/PoW/OTP/WebAuthn) пайдаланыңыз. allow/deny/challenge/throttle шешімдерін қабылдаңыз, FP/FN және бизнес әсерін өлшеңіз, shadow/canary арқылы жылжытыңыз. Төлем/бонустық жолдар үшін - жеке қатаңдатылған бейіндер және KYC/AML байланысы.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.