Προστασία Bot και καταπολέμηση της απάτης API
1) Γιατί το χρειάζεστε
Bots και επιτιθέμενοι επιτίθενται στα σημεία εισόδου της ανάπτυξης και του χρήματος: εγγραφή, σύνδεση (ATO), καταθέσεις/συμπεράσματα, διαφημιστική μηχανική, καταλόγους παιχνιδιών/συντελεστών. Οι χειροκίνητοι κανόνες και το καθαρό όριο ταχύτητας δεν επαρκούν πλέον: χρειάζεστε πολυεπίπεδα σήματα, βαθμολόγηση σε πραγματικό χρόνο και έλεγχο λύσεων (επιτρέψτε/αρνηθείτε/προκαλείτε/γκάζι) με ανατροφοδότηση από επιχειρηματικά γεγονότα (φορτίσεις, αναλογία φόρτισης, αρχεία KYC).
2) Ταξινόμηση απειλών
Καταχώριση/επιβίβαση: μαζικοί λογαριασμοί, τράπεζες ηλεκτρονικού ταχυδρομείου μιας χρήσης/SIM, εκμεταλλεύσεις συσκευών.
ATO (Account Takeover): ευπιστία γέμισης, ψεκασμός κωδικού πρόσβασης, αεροπειρατεία συνεδρίας.
Κατάχρηση πριμοδότησης: πολλαπλές κρατήσεις, διαιτησία γεωγραφικής/δικαιοδοσίας, παράκαμψη αυτοαποκλεισμού.
Karting/απάτη πληρωμής: έλεγχος κάρτας, κλεμμένα πορτοφόλια, επιστροφές χρημάτων.
Αποξήρανση/απογραφή: επιθετική έλξη περιεχομένου, τιμές, αναλογίες.
Χαμηλής έντασης API-DOS: επιθέσεις χελώνας, αργή-POST, κινητές προσομοιώσεις SDK.
Webhooks/integrations: ψεύτικες ειδοποιήσεις χωρίς HMAC/mTLS, replay.
3) Αρχιτεκτονική προστασίας
3. 1 Στρώματα
1. Edge (CDN/WAF/πύλη): πρώιμες αποτυχίες (φήμη ASN/Geo/IP), προκλήσεις φωτός, όρια, PoW.
2. API κινδύνου (PDP κινδύνου): κεντρικός κανόνας κινητήρας/ML· - "απόφαση", "σκορ", "λόγος", "tt ответ.
3. Επίπεδο εφαρμογής: αναλλοίωτοι τομείς, επιχειρηματική λογική (όρια, KYC, AML), ασύγχρονες κριτικές.
4. Ροή γεγονότων: Kafka/Kinesis → feature store/model → feedback από πληρωμές/διαφορές.
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, TLS δακτυλικό αποτύπωμα (JA3/JA4), HTTP/2/3 συμπεριφορά.
Συσκευή/περιηγητής: καμβάς/ήχου/WebGL FP (προσεκτική), πλατφόρμα/SDK, χρονική ζώνη/τοποθεσία, ανάλυση, γραμματοσειρές, WebDriver/ακέφαλοι δείκτες, κινητή βεβαίωση (SafetyNet/Development Check, εάν είναι δυνατόν).
Συμπεριφορά: ταχύτητα εισόδου, τροχιές ποντικιού/αφής, ακολουθία οθόνης, χρόνος παραμονής, συχνότητα προσπαθειών, μεταβάσεις μεταξύ αναγνωριστικών φυλλομετρητών.
Περιεχόμενο/αίτημα: έντυπο e-mail/domain, πάροχοι μιας χρήσης, τύπος τηλεφώνου HLR/ή αριθμός, κάρτα BIN, λογαριασμός/IBAN σε μητρώα sanka, ομοιότητα πλήρους ονόματος/διευθύνσεων.
Λογαριασμός/ιστορικό: ηλικία λογαριασμού, κατάσταση KYC, διατήρηση, ARPPU, ταχύτητα με καταθέσεις/αναλήψεις/μπόνους.
Εξωτερικές πηγές: συμβιβαστικές λίστες (όπως HIBP), σήματα κινδύνου πληρωμών (PSP), φήμη ASN.
5) Λύση: Κανόνες + ML
5. 1 Κανόνες (καθορισμός)
Ταχύτητα: «N καταχωρίσεις με/24 σε 10 λεπτά», «M συνδέσμους με μία συσκευή σε X λογαριασμούς», «K 3DS-files στη σειρά».
Γεωγραφική/Δικαιοδοσία: IP geo συγκρούσεις έναντι διεύθυνσης/εγγράφου, ξαφνικά άλματα τοποθεσίας.
Αναλλοίωτες επιχειρήσεις: όρια υπεύθυνων πληρωμών, αυτοαποκλεισμός, κατάλογοι κυρώσεων.
5. Βαθμολογία 2 ML (πραγματικός χρόνος)
Μοντέλο φωτός (GBM/logreg) σχετικά με τα επιγραμμικά χαρακτηριστικά: 'ip _ risk', 'device _ age', 'account _ age', 'pwd _ fail _ rate', 'bin _ risk', 'velocity _',' 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', 'device _ i ,' account _ i , 'payment _ instrument', 'email _ domain', 'bin'.
Παράθυρα: ολίσθηση (1m/5m/1h/24h) + ατομική «διάρρηξη «/» διατήρηση «.
Πολιτικοί: «σκληρή» άρνηση σε θερμές διαδρομές (σύνδεση/απόθεση), μαλακό γκάζι στο περιεχόμενο.
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/turnstille: как soft-challenge αφαιρείται μετά από υψηλή εμπιστοσύνη σε μια «καθαρή» συνεδρία.
Απόδειξη εργασίας (PoW): για API/σενάρια - υπολογίστε ένα hash με μια δεδομένη πολυπλοκότητα. δυναμική πολυπλοκότητα κατά την αύξηση του φορτίου.
OTP/SMS/Email/Push: για ATO/κρίσιμες λειτουργίες· δεν γίνεται κατάχρηση (κόστος/UX).
WebAuthn/βιομετρικά στοιχεία: υψηλό επίπεδο εμπιστοσύνης σε μετρητά/μεταβαλλόμενες λεπτομέρειες πληρωμής.
Εμπιστοσύνη συσκευής: δεσμεύστε λογαριασμό σε επαληθευμένη συσκευή. νέες συσκευές → πρόκληση.
8) Ολοκλήρωση πύλης/πληρεξουσίου
8. 1 Απεσταλμένος: ext_authz API → Risk (ψευδο)
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 (online): Redis/Scylla/KooDB - μετρητές/ταχύτητα/χρονοσφραγίδες.
Παρτίδα/offline: DWH (BigQuery/S3 + Athena) για εκπαίδευση/αναπλήρωση. διατηρεί σημάδια εκροής, φόρτισης, χειροκίνητους ελέγχους.
Μοντέλα: απλά για πραγματικό χρόνο (logreg/GBM). βαριά (XGBoost/NN) - εκτός σύνδεσης με PGMs/κλιμάκωση και επακόλουθη απόσταξη.
Έλεγχος ολίσθησης: PSI, AUC/PR, βαθμονόμηση των κατωφλίων ανά περιοχή/κανάλι.
11) Παρατηρησιμότητα και λειτουργικό κύκλωμα
Μετρήσεις:- 'risk _ requests _ total {route, decision}'
- 'risk _ score _ bucket' (διανομή)
- 'waf _ block _ total', 'velocity _ block _ total', 'challenge _ pass _ rate'
- 'ao _ περιστατικά', 'carding _ ανιχνεύθηκε', 'cashout _ denied'
- επιχειρηματικές μετρήσεις: 'chargeback _ rate', 'bonus _ κατάχρηση _ rate', 'false _ positive _ rate'
- Αρχεία καταγραφής (επεξεργάστηκε): 'decision', 'score', σήματα κλειδιών, 'trace _ id', no PII/secrets.
- A/B και Shadow: μια νέα πολιτική σε κατάσταση σκιάς (καταγράφουμε αποφάσεις), στη συνέχεια καναρίνι (1-5%), αυτόματη ανατροπή μέσω SLO/FP.
- Playbooks: κλιμάκωση, προσωρινή σύσφιξη, rollback, «εικονικά μπαλώματα».
12) Προστασία της ιδιωτικής ζωής και συμμόρφωση
Ελαχιστοποίηση PII. hash σταθερά αναγνωριστικά (για παράδειγμα, email SHA-256 με αλάτι).
Σεβασμός της περιφερειακής δικαιοδοσίας (εντοπισμός δεδομένων, συγκατάθεση).
Διαφανείς εξηγήσεις των αποφάσεων για χειροκίνητες επανεξετάσεις· διατηρεί μόνο ό, τι χρειάζεστε και με TTL.
13) Ιδιαιτερότητες του iGaming/Finance
Καταχώριση: φίλτρα μιας χρήσης e-mail/VoIP, ταχύτητα έως το/24, συσκευή εκμετάλλευσης → πρόκληση/άρνηση.
Σύνδεση/ATO: νέες συσκευές/geo-jumps → OTP/WebAutn; ψεκασμός κωδικού πρόσβασης → γκάζι/άρνηση.
Πριμοδοτήσεις: όρια στην «πορεία προς το ξέπλυμα» (depozit→bonus→minimalnyy oborot→vyvod), ανάλυση γραφικών παραστάσεων (διευθύνσεις/συσκευές/κάρτες).
Πληρωμές/αναλήψεις: κίνδυνος BIN, αναντιστοιχία χώρας, μηνύματα PSP· εξαργύρωση του νέου μέσου → υψηλό κατώφλι και έλεγχος KYC.
Webhooks PSP/KYC: HMAC + mTLS, στενή λίστα IP-ablow, anti-replay ('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 App, ροή γεγονότων.
- Σήματα: δίκτυο, συσκευή, συμπεριφορά, περιεχόμενο, πληρωμή. Ελαχιστοποίηση PII.
- Ταχύτητα/GCRA σε ip/συσκευή/λογαριασμό/πλήκτρα πληρωμής, συρόμενα παράθυρα.
- Λύσεις: επιτρέψτε/αρνηθείτε/προκαλείτε/γκάζι; Απόκρυψη λύσης με TTL ένα αποθετήριο γεγονότων πρόκλησης.
- Προκλήσεις: captcha/PoW/OTP/WebAuthn; δυναμική πολυπλοκότητα.
- API κινδύνου: SLA <100ms, κρύπτη, υποβαθμισμένη σε κατάσταση «ελάχιστης ασφάλειας».
- Παρατηρησιμότητα: κίνδυνος, FP/FN, ταμπλό, προειδοποιήσεις. επιχειρηματικές μετρήσεις (χρέωση/κατάχρηση πριμοδότησης).
- Σκιά → καναρίνι → επιβολή? βιβλία αναπαραγωγής κλιμάκωσης και ανατροπής.
- Webhooks PSP/KYC: HMAC + mTLS + αντι-αναπαραγωγή + επιτρεπόμενη λίστα.
- Περιφερειακές απαιτήσεις και TTL για ευαίσθητα δεδομένα.
17) TL, DR
Κατασκευή στρωματοποιημένης προστασίας: φίλτρα και προκλήσεις πρώιμης ακμής, συγκεντρωτική API κινδύνου με κανόνες + ML και ροή γεγονότων για ανατροφοδότηση. Τα όρια ταχύτητας χρήσης, τα σήματα δικτύου/συσκευής/συμπεριφοράς, οι δυναμικές προκλήσεις (captcha/PoW/OTP/WebAuthn). Λήψη αποφάσεων που επιτρέπουν/αρνούνται/αμφισβητούν/προκαλούν/στραγγαλίζουν, μετρούν FP/FN και το επιχειρηματικό αποτέλεσμα, διασχίζουν σκιά/καναρίνι. Για τις διαδρομές πληρωμής/πριμοδότησης - ξεχωριστά αυστηρότερα προφίλ και σύνδεση με το KYC/AML.