Logo GH

حماية الروبوت وواجهة برمجة التطبيقات لمكافحة الاحتيال

1) لماذا تحتاجه

يهاجم الروبوتات والمهاجمون نقاط دخول النمو والمال: التسجيل، تسجيل الدخول (ATO)، الودائع/الاستنتاجات، الميكانيكا الترويجية، كتالوجات الألعاب/المعاملات. لم تعد القواعد اليدوية وحد السعر النقي كافيين: فأنت بحاجة إلى إشارات متعددة المستويات، وتسجيل النقاط في الوقت الفعلي والتحكم في الحلول (السماح/الرفض/التحدي/الخانق) مع التعليقات من أحداث العمل (استرداد التكاليف، ونسبة رد التكاليف، وملفات KYC).

2) تصنيف التهديدات

التسجيل/الإلحاق: حسابات جماعية، مصارف البريد الإلكتروني/شريحة المعلومات الشخصية، مزارع الأجهزة.
ATO (استحواذ الحساب): حشو أوراق الاعتماد، رش كلمة المرور، اختطاف الجلسة.
إساءة استخدام المكافأة: الحجز المتعدد، التحكيم الجغرافي/القضائي، تجاوز الاستبعاد الذاتي.
الكارتينغ/الاحتيال في الدفع: اختبار البطاقة، المحافظ المسروقة، المبالغ المستردة.
الكشط/المخزون: سحب المحتوى والأسعار والنسب بقوة.
واجهة برمجة التطبيقات منخفضة الكثافة: هجمات السلاحف، البطيئة، محاكاة SDK المتنقلة.
HMAC/mTLS، إعادة تشغيل.

3) بنية الحماية

3. 1 طبقات

1. Edge (CDN/WAF/البوابة): الإخفاقات المبكرة (سمعة ASN/Geo/IP)، التحديات الخفيفة، الحدود، PoW.
2. Risk API (Risk PDP): محرك قواعد مركزي/ML ؛ ответ - «قرار»، «نتيجة»، «سبب»، «tl».
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)

يتم تخزين الحل بواسطة المفتاح (على سبيل المثال، الجهاز × الحساب × المسار) لمدة 'tl' ثانية.

4) الإشارات والإثراء

الشبكة/القناة: IP/ASN، proxy/VPN/Tor، rdns، rtt/jitter، SYN-rate، TLS بصمة (JA3/JA4)، سلوك HTTP/2/3.
الجهاز/المتصفح: القماش/الصوت/WebGL FP (دقيق)، النظام الأساسي/SDK، المنطقة الزمنية/الموقع، الدقة، الخطوط، WebDriver/المؤشرات مقطوعة الرأس، شهادة الهاتف المحمول (SafetyNet/DeviceCheck، إن أمكن).
السلوك: سرعة الإدخال، مسارات الماوس/اللمس، تسلسل الشاشة، وقت الإقامة، تكرار المحاولات، الانتقالات بين معرفات المتصفح.
المحتوى/الطلب: نموذج البريد الإلكتروني/النطاق، مقدمو الخدمات الذين يمكن التخلص منهم، نوع الهاتف HLR/أو الرقم، بطاقة BIN، الحساب/IBAN في سجلات sanka، تشابه الاسم/العناوين الكاملة.
الحساب/التاريخ: عمر الحساب، حالة KYC، الاحتفاظ، ARPPU، السرعة حسب الودائع/السحوبات/المكافآت.
المصادر الخارجية: قوائم تسوية (مثل HIBP)، وإشارات مخاطر الدفع (PSP)، وسمعة ASN.

5) الحل: القواعد + ML

5. 1 قواعد (حتمية)

السرعة: «N registrations with/24 in 10 minutes», «M logins with one device to X accounts», «K 3DS-files in a row».
Geo/Jurisdiction: IP geo conflicts vs address/document، موقع مفاجئ يقفز.
الثوابت التجارية: حدود المدفوعات المسؤولة، والاستبعاد الذاتي، وقوائم الجزاءات.

5. 2 ML تسجيل (في الوقت الفعلي)

نموذج الضوء (GBM/logreg) على الخصائص عبر الإنترنت: «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

عند 'الطعن'، تخزين حقائق المرور/الفشل ؛ تصعيد/تقليل الاحتكاك ديناميكيًا.

6) السرعة والحصص (المفاتيح والنوافذ)

Ключи: 'ip', 'ip/24', 'device _ id', 'account _ id', 'paymay _ instrument', 'email _ domain', 'bin'.
النوافذ: الانزلاق (1 م/5 م/1 ساعة/24 ساعة) + «انفجار «فردي/» استدام«.
السياسيون: ينكرون «بشدة» على الطرق الساخنة (تسجيل الدخول/الإيداع)، وخنق ناعم على المحتوى.

مثال على قاعدة 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): لواجهة برمجة التطبيقات/النصوص - احسب التجزئة مع تعقيد معين ؛ التعقيد الديناميكي أثناء نمو الحمل.
OTP/SMS/Email/Push: للعمليات الحرجة/ATO ؛ لا تسيء استخدام (التكلفة/العملات غير المنفذة).
WebAuthn/biometrics: مستوى عالٍ من الثقة في تفاصيل الدفع النقدي/المتغيرة.
ائتمان الجهاز: ربط الحساب بجهاز تم التحقق منه ؛ أجهزة جديدة → التحدي.

8) البوابة/التكامل بالوكالة

8. 1 مبعوث: 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 سهل وسرعة

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) عقد واجهة برمجة التطبيقات للمخاطر

الطلب (المثرى):
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) البيانات والميزات والنماذج

متجر الميزات (عبر الإنترنت): Redis/Scylla/KeyDB - العدادات/السرعة/الطوابع الزمنية.
الدفعة/غير متصلة بالإنترنت: DWH (BigQuery/S3 + Athena) للتدريب/التجديد ؛ احتفظ بعلامات التدفق الخارجي، رد التكاليف، المراجعات اليدوية.
النماذج: بسيطة في الوقت الحقيقي (logreg/GBM) ؛ ثقيلة (XGBoost/NN) - غير متصلة بالإنترنت مع PGMs/scalling والتقطير اللاحق.
التحكم في الانجراف: PSI، AUC/PR، معايرة العتبات حسب المنطقة/القناة.

11) إمكانية الرصد والدائرة التشغيلية

المقاييس:
  • «المخاطرة _ الطلبات _ المجموع {الطريق، القرار}»
  • "risk _ score _ bucket' (توزيع)
  • 'waf _ block _ total', 'velocity _ block _ total', 'challenge _ pass _ rate'
  • "ato _ incidents'،" carding _ detected "،" cashout _ denied "
  • مقاييس الأعمال: «رد التكاليف _ السعر»، «المكافأة _ إساءة الاستخدام _ المعدل»، «خطأ _ إيجابي _ معدل»
  • السجلات (محررة): «قرار»، «درجة»، إشارات رئيسية، «تتبع _ معرف»، لا PII/أسرار.
  • A/B و Shadow: سياسة جديدة في وضع الظل (نسجل القرارات)، ثم الكناري (1-5٪)، التراجع التلقائي عبر SLO/FP.
  • كتب اللعب: التصعيد، التشديد المؤقت، التراجع، «التصحيحات الافتراضية».

12) الخصوصية والامتثال

التقليل إلى أدنى حد من PII ؛ معرفات التجزئة المستقرة (على سبيل المثال، SHA-256 البريد الإلكتروني مع الملح).
احترام الولاية القضائية الإقليمية (تحديد مواقع البيانات والموافقة عليها).
شرح شفاف للقرارات المتعلقة بالاستعراضات اليدوية ؛ احتفظ بما تحتاجه فقط ومع TTL.

13) تفاصيل iGaming/Finance

التسجيل: مرشحات البريد الإلكتروني/VoIP، السرعة بحلول/24، مزرعة الجهاز → التحدي/الرفض.
تسجيل الدخول/ATO: أجهزة/قفزات جغرافية جديدة → OTP/WebAuthn ؛ رش كلمة السر → دواسة الوقود/الرفض.
المكافآت: الحدود المفروضة على «الطريق إلى الغسيل» (depozit→bonus→minimalnyy oborot→vyvod)، تحليل الرسم البياني للانتساب (العناوين/الأجهزة/البطاقات).
المدفوعات/عمليات السحب: مخاطر مكتب الصناديق الاستئمانية، وعدم التطابق القطري، وإشارات شعبة الخدمات العامة ؛ إلى الصك الجديد → عتبة عالية وفحص KYC.
خطافات الويب PSP/KYC: HMAC + mTLS، قائمة IP-leave الضيقة، مكافحة إعادة التشغيل («X-Timestamp»، النافذة ± 5 دقائق).

14) أنتيباترن

→ كابتشا عالمية واحدة «في كل مكان ودائمًا» انخفاضًا كبيرًا في 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) قائمة التحقق من الاستعداد

  • بنية متعددة المستويات: Edge → Risk API → App، تدفق الحدث.
  • الإشارات: الشبكة، الجهاز، السلوك، المحتوى، الدفع ؛ تقليل PII.
  • السرعة/GCRA على ip/device/account/paying keys، النوافذ المنزلقة.
  • الحلول: السماح/الرفض/التحدي/الخانق ؛ يخبئ الحل مع TTL مستودعًا لحقائق التحدي.
  • التحديات: captcha/PoW/OTP/WebAuthn ؛ التعقيد الديناميكي.
  • واجهة برمجة التطبيقات المخاطرة: SLA <100 مللي ثانية، مخبأ، متدهور إلى وضع «الحد الأدنى الآمن».
  • إمكانية الرصد: المخاطر، FP/FN، لوحات المتابعة، التنبيهات ؛ مقاييس الأعمال التجارية (رد التكاليف/إساءة استخدام المكافآت).
  • الظل → الكناري → الإنفاذ ؛ التصعيد والتراجع عن كتب اللعب.
  • خطافات الويب PSP/KYC: HMAC + mTLS + مكافحة إعادة التشغيل + قائمة السماح.
  • المتطلبات الإقليمية و TTL بشأن البيانات الحساسة.

17) TL ؛ د

بناء حماية طبقات: مرشحات وتحديات الحافة المبكرة، واجهة برمجة التطبيقات المركزية للمخاطر مع قواعد + ML، وتدفق الأحداث للتعليقات. استخدم حدود السرعة، وإشارات الشبكة/الجهاز/السلوك، والتحديات الديناميكية (captcha/PoW/OTP/WebAuthn). اتخاذ القرارات السماح/الرفض/التحدي/الاختناق، وقياس FP/FN وتأثير الأعمال، والتدحرج من خلال الظل/الكناري. لمسارات الدفع/المكافأة - ملفات تعريف منفصلة مشددة ووصلة مع KYC/AML.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.