Ograniczenia prędkości i przeciwdziałanie nadużyciom
1) Czym jest prędkość i dlaczego jest ona potrzebna
Limity prędkości są ograniczeniami częstotliwości i wolumenu operacji w określonych oknach czasowych. Cel:- ograniczenie nadużyć finansowych i wykorzystanie premii/promocji,
- ochrona infrastruktury płatniczej przed „burzami” przekładni,
- zachować zdrową konwersję poprzez konwersję wątpliwych prób wyzwanie (3DS/SCA) zamiast „ciężkiej porażki”, gdy to możliwe.
Sterowanie prędkością uzupełnia punktację, AVS/CVV, 3DS2/SCA i smart routing.
2) Które podmioty mają ograniczyć (zakresy)
Limity projektowe na wielu poziomach w tym samym czasie:- Podmioty płatnicze: 'card _ token' (skarbiec/sieć), 'bin', 'emitent', 'psp _ route'.
- Niestandardowe: 'account _ id',' kyc _ level ',' email/phone '.
- Techniczne: 'device _ id' (odcisk palca/SDK),' ip ',' asn ',' session _ id'.
- Kontekst biznesowy: 'bonus _ id',' campaign _ id', 'country', 'mcc 7995' podtyp (deposit/output).
- Financial: „amount _ bucket” (mikro/średni/duży), „currency”, „payment _ method”.
3) Okna i liczniki
Okno stałe (T = 15m/1h/24h) - proste, ale wrażliwe na granice.
Okno przesuwne - dokładniej, liczy się w „przesuwnym” przedziale.
Nieszczelne wiadro/wiadro Token - gładkie wybuchy, ustawić stabilną szerokość pasma.
W połączeniu: wybuch (krótki wybuch) + trwały (długi strumień).
- "device _ id': ≤ 3 próby autoryzacji w 15 minut, ≤ 10 w 24 godziny.
- „card _ token”: ≤ 2 kolejne spadki bez 3DS; trzecia jest obowiązkowa 3DS.
- „ip”: ≤ 5 unikalnych 'card _ token' na godzinę (alias captcha/block).
- "account _ id': ≤ 2 anulowane depozyty z rzędu; dalej - kuldown 1 godzina.
4) Algorytmy ograniczenia (krótkie)
Token Bucket (pozwala na wybuchy):- Zainicjować 'pojemność' i 'napełnianie _ szybkość'.
- Przed każdą próbą, „wyjąć” 1 token; jeśli nie ma żetonów - wyzwanie/spadek.
- Kolejka przecieka w stałym tempie; nadchodzące zdarzenia przelewają się - przepustnica.
1. powtórzenie: 2-5 min → 2nd: 10-20 min → 3rd: 1-2 h → stop, lub przeniesienie do alternatywnej metody.
5) Polityka decyzyjna
Zaklasyfikować wyniki testu prędkości:- Zezwolenie: niskie ryzyko, w granicach progów.
- Wyzwanie: przekroczył „miękki” próg → 3DS/SCA/captcha/KBA (pytania).
- Przepustnica: czasowo ograniczyć (cooldown) z przezroczystym UX.
- Spadek: rażące naruszenia (masowe wyszukiwanie kart, bot pools, nadużycia bonusowe).
- Przekierowanie: zmiana PSP/metody (np. A2A) ze skokiem „91/96” u emitenta.
Mini-matryca przykładów
'device _ d' attempts to ≥ 3 w 15 minut i' cvv = N '≥ 2 → Decline + captcha.
'card _ token' 2 miękki spadek → 3DS-challenge (wymagany).
'ip' ≥ 5 unique 'account _ id' w 30 minut → Throttle 30 minut + KYC check.
'account _ d' id' deposit-withdrawal-deposit w 10 minut (karuzela) → Wyzwanie lub limit kwoty.
6) Prędkość wpłat, wycofań i wypłat
Depozyty:- Chronić „mikro-nadziewanie” (wiele małych transakcji): limit ilości i całkowity obrót na T.
- Z sekwencją '05 '/' 14 '/' 54' - zatrzymaj „wyszukiwanie” szczegółów, przetłumacz na 3DS.
- Wyślij kolejki CIT i MIT. Dla MIT użyj miękkich okien T + 1/T + 24h.
- Miękki spadek „SCA wymagane” → natychmiast 3DS, nie spalić prób.
- Indywidualne limity dla ilości/częstotliwości: np. ≤ 2 wyjścia/24h i ≤ N na kwotę/tydzień.
- KYC „drabina”: im wyższa kontrola, tym wyższe limity.
- Wykrywanie „okrążenie”: szybki depozyt i natychmiastowe wycofanie - ręczna weryfikacja/wstrzymanie.
7) Promocja i premie przeciwko nadużyciom
Czapki na kampanię: 'bonus _ id' ≤ X aktywacje na' device _ id'/' ip '/' payment _ fingerprint '.
„Wtyczki” (przelew pieniężny między kontami): analiza wykresu wspólnych kart/IP/urządzeń.
Chłodne okna: po wpłacie bonusu - zakaz natychmiastowego wyjścia, przejrzyste zasady w ToS.
Sankcje według poziomu: od tymczasowych zamków do „na zawsze”, z logiem powodów.
8) Architektura: gdzie żyć zasady prędkości
Brama w czasie rzeczywistym (w orkiestrze): rozwiązanie ≤ 50-100 ms.
Pamięć licznikowa: w pamięci (Redis/БDB) + długoterminowe „podsumowania” (DWH).
Fichestor: pojedyncze okna/kruszywa (15m/1h/24h/7d).
Zasada silnika + ML punktacja: zasady „siatki bezpieczeństwa” na górze modelu.
Flagi Config: „włącz” 3DS, „bardziej rygorystyczne w regionie X”, „zatrzymaj PSP-A.”
Idempotencja: ochrona przed duplikatami przy powtarzaniu/rozkładach czasu.
9) Pseudo kodeks zasad (szkic)
pseudo on payment_attempt(ctx):
s = features(ctx) // device/ip/account/bin/score/avs/cvv/history if counter(device, 15m) >= 3 and cvv_fail(device, 15m) >= 2:
return DECLINE(reason="velocity_device_cvv")
if soft_declines(card_token, 1h) >= 2:
return CHALLENGE_3DS()
if uniq_accounts(ip, 30m) >= 5:
return THROTTLE(ttl=30m)
if score > T2 and velocity(account, 1h) > Vmax:
return DECLINE(reason="high_risk_burst")
return ALLOW
10) Wzory UX (nie łamanie konwersji)
Jasne wiadomości: "Zbyt wiele prób w krótkim czasie. Spróbuj za 15 minut lub potwierdź w banku.
Powtórz przycisk Później z timerem.
Oferując alternatywy: A2A/local portfele podczas przepuszczania.
Auto-3DS bez ponownego wprowadzania szczegółów z miękkim SCA.
Captcha tylko pointwise (przez IP/ASN/bot signals), nie dla wszystkich.
11) Zgodność i prywatność
RODO/PII: minimalne identyfikatory przechowywania (hashes urządzenia, tokeny kart, last4), przejrzyste zasady.
PCI DSS: brak PAN/CVV w dziennikach; zdarzenia prędkości bez danych wrażliwych.
PSD2/SCA: konwersja ekscesów na wyzwanie, w stosownych przypadkach, zamiast całkowitych niepowodzeń.
12) Mierniki, wpisy, SLO
KPI:- Wskaźnik zatwierdzenia (ogólny i kiedy zasady są uruchamiane).
- Fałszywy dodatni wskaźnik prędkości (udział uczciwych bloków → przez późniejszą legitymizację).
- Liczba „burz” rekolekcji i średni czas regeneracji.
- Procent spadku → wyzwanie transfery z sukcesem.
- Stawka obciążenia zwrotnego w segmentach, w których działały limity (oczekujemy).
- Spike '05/14/54' + wzrost prób> X w 15 min w klastrze BIN/ASN.
- Burst '91/96' → automatyczne podnoszenie progu T1 + routing w PSP-B.
- Zasady prędkości FP> cel (na przykład, 1. 5 × mediana tygodniowa).
- Roztwór prędkości ≤ 100ms p95.
- Odsetek udanych płatności przeniesionych do 3DS zamiast niepowodzenia ≥ cel.
13) Anty-wzory
Uniwersalny limit „całkowity” dla wszystkich rynków i typów klientów.
Blok według 'AVS = U/S/G' w krajach, w których AVS nie działa normalnie.
Nie rozdzielaj CIT/MIT - przerywa subskrypcje/powtórzenia.
Odwrót bez jitter i idempotencja - bierze i burze.
Ukryj przyczyny odmowy - wsparcie i toksyczność rosną.
14) Lista kontrolna wdrażania
- Mapa podmiotu (zakresy) i okna (15m/1h/24h/7d).
- Wybór algorytmu: przesuwne + wiadro tokenowe do wybuchów.
- Normalizacja zwrotu: backoff + jitter, oddzielne dla CIT/MIT.
- Integracja z 3DS/SCA: automatyczne wyzwanie dla miękkich nakładek.
- Oddzielne limity wniosków i premii; relacje sprawdzające wykres.
- Obserwability: KPI/alert/rule audit dashboards.
- Szablony wiadomości UX i alternatywne metody.
- Polityka PCI/RODO: żetony, maskowanie, minimalizacja PII.
- Testy progowe A/B według rynku/BIN/ASN i profili klientów.
- Playbooks incydentów: degradacja emitenta/PSP, bot spike.
15) Podsumowanie
Skuteczne limity prędkości to wielopoziomowe okna i liczniki dla różnych podmiotów, algorytmy antyaliasingowe (wiadro tokenowo-wyciekające), inteligentne przekaźniki i ścisła komunikacja z 3DS/SCA i punktacją. Taki obwód zmniejsza oszustwa i nadużycia, nie ogranicza konwersji i pomaga utrzymać stabilną monetyzację z zmiennością emitentów i ruchu.