Logo GH

봇 보호 및 사기 방지 API

1) 왜 필요한가

봇과 공격자는 등록, 로그인 (ATO), 예금/결론, 판촉 메커니즘, 게임/계수 카탈로그 등 성장과 돈의 진입 점을 공격합니다. 수동 규칙과 순수 속도 제한으로는 더 이상 충분하지 않습니다. 비즈니스 이벤트 (차지 백, 차지 백 비율, KYC 파일) 의 피드백과 함께 다단계 신호, 실시간 스코어링 및 솔루션 제어 (허용/거부/챌린지/스로틀) 가 필요합니다.

2) 위협 분류 체계

등록/온보드: 대량 계좌, 일회용 전자 메일/SIM 은행, 장치 농장.
ATO (계정 인수): 자격 증명 스터핑, 암호 스프레이, 세션 납치.
보너스 남용: 멀티 예약, 지리/관할권 중재, 자체 배제 우회.
카트/결제 사기: 카드 테스트, 도난당한 지갑, 환불.
긁힘/재고: 콘텐츠, 가격, 비율을 적극적으로 끌어 당깁니다.
저 강도 API-DoS: 거북 공격, 느린 POST, 모바일 SDK 에뮬레이션.
웹 후크/통합: HMAC/mTLS가없는 가짜 알림, 재생.

3) 보호 아키텍처

3. 레이어 1 개

1. 가장자리 (CNC/WAF/게이트웨이): 초기 고장 (ASN/Geo/IP 평판), 조명 문제, 한계, PoW.
2. 위험 API (위험 PDP): 중앙 집중식 규칙 엔진/ML; о두 개의 결정어- '결정', '점수', '이유', 'ttl'.
3. 앱 레벨: 도메인 불변, 비즈니스 로직 (한계, KYC, AML), 비동기식 리뷰.
4. 이벤트 흐름: Kafka/Kinesis → 지불/분쟁의 저장/모델 → 피드백.

3. 2 솔루션 루프


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

솔루션은 'ttl' 초 동안 키 (예: 장치 × 계정 × 경로) 별로 캐시됩니다.

4) 신호 및 강화

네트워크/채널: IP/ASN, 프록시/VPN/Tor, rdns, rtt/jitter, SYN-rate, SL 지문 (JA3/JA4), HTT/2/3 동작.
장치/브라우저: 캔버스/오디오/WebGL FP (주의), 플랫폼/SDK, 시간대/로케일, 해상도, 글꼴, 웹 드라이버/헤드리스 표시기, 모바일 증명 (가능한 경우 SafetyNet/DeviceQ).
동작: 입력 속도, 마우스/터치 궤적, 화면 시퀀스, 체류 시간, 시도 빈도, 브라우저 식별자 간 전환.
콘텐츠/요청: 전자 메일/도메인, 일회용 제공 업체, 전화 HLR/또는 번호 유형, BIN 카드, 계정/IBAN, 전체 이름/주소의 유사성.
계정/이력: 예금/인출/보너스 별 계정 연령, KYC 상태, 보존, ARPPU 속도.
외부 소스: 타협 목록 (HIBP 유사), 지불 위험 신호 (PSP), ASN 평판.

5) 솔루션: 규칙 + ML

5. 1 규칙 (결정 론적)

속도: "10 분 안에/24로 N 등록", "X 계정에 하나의 장치가있는 M 로그인", "K 3DS 파일 연속".
Geo/Jurisdiction: IP Geo 충돌 대 주소/문서, 갑작스런 위치 점프.
사업 불변량: 책임있는 지불 제한, 자체 배제, 제재 목록.

5. 2 ML 득점 (실시간)

온라인 특성에 대한 조명 모델 (GBM/logreg): 'ip _ risk', 'diche _ age', 'play _ age', 'pwd _ fail _ rate', 'bin _ risk', 'speeds _', 'behavioral _'.
ATO에 대한 별도의 모델과 결제/출력에 대한 별도 모델.
관할권/임차인에 의한 세분화 (시장 당 임계 값 보정).

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

'도전' 이면 통과/실패의 사실을 저장하십시오. 마찰을 동적으로 확대/감소시킵니다.

6) 속도 및 할당량 (키 및 창)

확인: 'ip', 'ip/24', 'diche _ id', 'play _ id', 'payment _ gement', 'email _ domain', 'bin'.

창: 슬라이딩 (1m/5m/1h/24h) + 개별 "버스트 "/" 지속적"

정치인: 뜨거운 경로 (로그인/예금), 콘텐츠의 부드러운 스로틀에 대한 "하드" 거부.

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/개찰구: 소프트 챌린지 소프트 도전; "깨끗한" 세션에 대한 확신이 높은 후 제거하십시오.
작업 증명 (PoW): API/스크립트의 경우-주어진 복잡성을 가진 해시를 계산하십시오. 부하 증가 중 동적 복잡성.
OTP/SMS/이메일/푸시: ATO/크리티컬 작업; 남용하지 마십시오 (비용/UX).
WebAuthn/biometrics: 현금 인출/변경 지불 세부 정보에 대한 높은 수준의 신뢰.
장치 신뢰: 계정을 확인 된 장치에 바인딩합니다. 새로운 장치 → 도전.

8) 게이트웨이/프록시 통합

8. 1 특사: tex _ ąz → 위험 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 및 속도

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) 위험 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-카운터/속도/타임 스탬프.
배치/오프라인: 교육/수리를위한 DWH (BigQuery/S3 + Athena); 유출, 청구 거절, 수동 검토 표시를 유지하십시오.
모델: 실시간으로 간단합니다 (logreg/GBM); PGM/스케일링 및 후속 증류로 오프라인 (XGBoost/NN).
드리프트 제어: PSI, AUC/PR, 영역/채널 별 임계 값 교정.

11) 관찰 및 운영 회로

메트릭:
  • 'risk _ insters _ total {경로, 결정}'
  • 'risk _ score _ bucket' (분포)
  • (PHP 3 = 3.0.6, PHP 4)
  • 'ato _ suctions', 'carding _ decorted', 'cashout _ denied'
  • 비즈니스 메트릭: 'chargeback _ rate', 'bonus _ abuse _ rate', 'ausy _ positive _ rate'
  • 로그 (편집): '결정', '점수', 키 신호, 'trace _ id', PII/비밀 없음.
  • A/B 및 Shadow: 섀도우 모드의 새로운 정책 (로그 결정), 카나리아 (1-5%), SLO/FP를 통한 자동 롤백.
  • 플레이 북: 에스컬레이션, 임시 조임, 롤백, "가상 패치".

12) 개인 정보 보호 및 준수

PII 최소화; 안정적인 식별자를 해시합니다 (예: 소금이 들어간 이메일 Ś-256).
지역 관할권 존중 (데이터 현지화, 동의).
수동 검토 결정에 대한 투명한 설명; 필요한 것과 TTL 만 유지하십시오.

13) iGaming/Finance의 세부 사항

등록: 일회용 전자 메일/IP 필터, 속도 by/24, 장치 팜 → 챌린지/거부.
로그인/ATO: 새로운 장치/지오 점프 → OTP/WebAuthn; 스프레이 → 스로틀/거부 비밀번호.
보너스: "세탁 경로" (depozit → 보너스 → minimalnyy oborot → vyvod), 제휴 그래프 분석 (주소/장치/카드).
지불/인출: BIN 위험, 국가 불일치, PSP 신호; 새 장비에 대한 현금 인출 → 높은 임계 값 및 KYC 검진.
Webhooks PSP/KYC: HMAC + mSL, 좁은 IP 허용 목록, 재생 방지 ('X-Timestamp', 창 λ5 분).

14) 안티 패턴

하나의 보편적 인 captcha "어디서나 항상" → 높은 FP/변환 드롭.
동작/장치 신호가없는 속도 제한 만 있습니다.
"원시" 인쇄 및 PII 저장은 무제한입니다.
새로운 정책에 대한 그림자 실행 및 카나리아가 없습니다.
자체 검증없이 외부 "평판" 레이블에 대한 완전한 확신.
서버 검증없이 클라이언트 (JS/Mobile 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 → 앱, 이벤트 흐름.
  • 신호: 네트워크, 장치, 행동, 콘텐츠, 지불; PII 최소화.
  • ip/장치/계정/결제 키의 Velocity/GCRA, 슬라이딩 윈도우.
  • 솔루션: 허용/거부/챌린지/스로틀; TTL이있는 솔루션 캐시는 챌린지 사실의 저장소입니다.
  • 도전 과제: captcha/PoW/OTP/WebAuthn; 동적 복잡성.
  • 위험 API: SLA <100ms, 캐시, "최소 안전" 모드로 저하.
  • 관찰 가능성: 위험, FP/FN, 대시 보드, 경고; 비즈니스 지표 (차지 백/보너스 남용).
  • 그림자 → 카나리아 → 시행; 에스컬레이션 및 롤백 플레이 북.
  • Webhooks PSP/KYC: HMAC + mSL + 재생 방지 + 허용 목록.
  • 민감한 데이터에 대한 지역 요구 사항 및 TTL.

17) TL; DR

계층화 된 보호 구축: 초기 에지 필터 및 과제, + ML 규칙이있는 중앙 집중식 위험 API 및 피드백을위한 이벤트 흐름. 속도 제한, 네트워크/장치/동작 신호, 동적 과제 (captcha/PoW/OTP/WebAuthn) 사용. 결정을 허용/거부/챌린지/스로틀, FP/FN 및 비즈니스 효과를 측정하고 그림자/카나리아를 통과하십시오. 결제/보너스 경로-별도의 강화 된 프로필 및 KYC/AML과의 링크.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.