Atacuri crash pe RedM: ce trebuie să facă un anticheat RedM înainte de crash, nu după
Un trișor, opt obiecte, opt jucători scoși din joc în 2,2 secunde. Cum oprește un anticheat RedM un atac crash înainte de crash, nu după.
Într-o seară de marți, în Blackwater, cu 55 de jucători conectați. În puțin peste două secunde, opt dintre ei cad de pe server, toți cu același mesaj: Game crashed. Nimeni n-a tras niciun glonț, iar toți stăteau la mai puțin de patruzeci de metri de același punct. Acesta este un atac crash, cheat-ul care nu încearcă să câștige o luptă, ci să încheie sesiunea tuturor celorlalți. Este și cel mai clar test pentru rostul unui anticheat RedM: un crash nu poate fi pedepsit după fapt, pentru că atunci paguba e deja făcută.
Ce este, de fapt, un atac crash
RedM, ca și FiveM, lasă fiecare client să creeze obiecte în lumea comună: lăzi, recuzită, decor, mobilierul fiecărui script de roleplay. Serverul le retransmite, în mare, tuturor celor din apropiere. Un atac crash abuzează de această retransmisie. Trișorul creează obiecte pe care motorul jocului nu le poate gestiona în siguranță și le plasează lângă cei pe care vrea să-i scoată din joc. Fiecare client care le încarcă se blochează.
Tiparul pe care îl vedem pe RedM este foarte regulat. Un mic lot de obiecte identice apare într-un inel strâns în jurul unei victime, la câțiva metri deasupra ei, toate în același moment. În câteva secunde, toți cei aflați în rază se blochează, aproape toți cu aceeași semnătură în executabilul jocului. Trișorul poate sta departe: contează unde sunt obiectele, nu unde este el.
- obiecte create
- 8, un singur model, un singur creator, același moment
- distanța creatorului
- aproximativ 36 până la 42 m față de inel
- sincronizare
- crash-urile încep la câteva secunde după creare
- jucători blocați
- 8 în 2,2 secunde, toți la maximum 42 m de inel
- semnătura crash-ului
- identică pentru 7 din 8
De ce majoritatea soluțiilor anticheat RedM îl văd abia după
Un anticheat RedM clasic urmărește jucătorii: poziția, viața, tragerile, resursele pe care le pornesc. Un atac crash nu arată nimic din toate acestea. Trișorul nu se teleportează, nu primește daune, nu țintește pe nimeni. Pe server se întâmplă doar o creare de obiect, cel mai banal eveniment cu putință: un server de roleplay aglomerat vede sute pe minut.
Așa că reacția obișnuită este una de anchetă. Jucătorii raportează crash-ul, staff-ul se uită în consola txAdmin, vede o coloană de linii „Game crashed” și începe să ghicească cine era prin apropiere. Este lent, îl acuză pe oricine se nimerește acolo și nu schimbă nimic pentru valul următor, care vine zece minute mai târziu.
Un anticheat RedM care doar raportează un atac crash este inutil împotriva lui. Singura apărare care contează este cea care elimină obiectele înainte ca clienții să le randeze, iar fereastra aceea durează doar câteva secunde.
Cum îl oprește serverul primul
Serverul vede fiecare obiect din rețea în momentul în care este creat, înainte ca clienții din apropiere să termine de încărcat. Aceasta este fereastra. Anticheat-ul nostru RedM o folosește pe trei niveluri.
1. Modelele de crash cunoscute sunt refuzate din start
Unele modele sunt pur și simplu periculoase. Fiecare val de crash-uri înregistrat de server este analizat, iar modelele implicate sunt adăugate într-o listă comună. Un model pe care jocul nici măcar nu îl poate rezolva este învățat automat. Un model valid care apare constant cu câteva secunde înainte de crash-uri este adăugat după corelare: cel folosit pe 13 octombrie a fost creat chiar înainte de 22 din cele 79 de valuri de crash prin care a trecut serverul respectiv în două săptămâni. Odată ce un model este pe listă, serverul îi anulează crearea și șterge orice copie deja prezentă în lume. Lista este comună: un model învățat pe un server protejează toate serverele care rulează același anticheat RedM.
2. Inelul este recunoscut după formă
Ce nu poate ascunde atacul este geometria lui: o rafală de obiecte, de la un singur creator, care se strânge în jurul unui singur jucător. Serverul urmărește această formă la fiecare obiect pe care îl vede creat.
Serverul consideră o rafală drept inel când cel puțin obiecte apar la câțiva metri în jurul unui singur jucător, într-o fereastră scurtă. Numărul exact, raza și fereastra nu sunt publicate: un atacator care le știe plasează un obiect în minus și trece nestingherit.
Nepublicat/Pragurile de detecție nu sunt publicate niciodată: o valoare cunoscută este o valoare sub care se reglează un cheat.
Un inel singur nu este o dovadă, după cum arată secțiunea următoare. Ce face serverul cu el depinde de ce sunt obiectele și de unde stă creatorul. Un inel cu un model de crash cunoscut este șters complet, pentru toți clienții, oriunde se află creatorul. În aceeași seară, după valul de mai sus, același atacator a plasat nouă inele în plus între 20:57 și 21:24. Toate nouă au fost șterse complet. Niciun crash n-a urmat vreunuia dintre ele în zece secunde.
3. Creatorul este sancționat, cu grijă
Ștergerea obiectelor protejează jucătorii. Eliminarea atacatorului protejează seara următoare. Un proprietar de server poate seta ca un creator prins plasând un model de crash cunoscut să primească automat kick, apoi ban dacă o face din nou. Când staff-ul îl banează ca trișor, conturile lui legate și adresele de pe care s-a conectat sunt marcate și ele, astfel încât al doilea cont pe care îl creează să nu aibă drum liber.
Partea grea: să nu acuzi jucătorul nepotrivit
Apărarea împotriva crash-urilor este locul în care un anticheat RedM poate face cel mai mult rău jucătorilor cinstiți, din două motive pe care le-am învățat pe pielea noastră.
Scripturile legitime construiesc și ele inele. Serverele de roleplay creează decor în rafale: o tabără, o tarabă de piață, un set de lăzi care apar în jurul oricui intră. Pe același server, un script din Blackwater făcea clientul unui jucător aflat la aproximativ 45 m să creeze zece obiecte în jurul oricui era în apropiere, iar și iar, cu un alt „creator” nevinovat de fiecare dată. După număr și după distanță, arăta exact ca un atac. În două zile, serverul a înregistrat 24 de inele. Doar 9 purtau un model legat de crash-uri, iar acele 9 erau atacurile. Celelalte 15, atât cât am putut urmări, erau decor. Distanța nu le separă; modelul le separă. Un inel fără model de crash cunoscut este tratat doar atunci când creatorul stă chiar peste victimă. Altfel este înregistrat pentru analiză și lăsat în pace: fără ștergere, fără alertă, fără acuzat.
„Creatorul” nu este mereu autorul. Pe RedM, serverul atribuie un obiect clientului care îl deține în acel moment în rețea, iar proprietatea se mută: când un jucător pleacă sau se îndepărtează, obiectele lui pot migra către cineva din apropiere. Am văzut obiectele de crash ale unui atacator reapărând la un jucător nevinovat cinci secunde mai târziu, cu aceleași identificatoare de rețea. Anticheat-ul nostru RedM păstrează acum creatorul original când un obiect revine la un alt proprietar cu aceeași identitate și nu i-l socotește niciodată noului proprietar.
Ce nu poate face această apărare
Chiar primul val al unui model nou poate trece. Dacă modelul este necunoscut și nimic altceva din inel nu este concludent, serverul îl înregistrează în loc să riște ștergerea decorului unui script legitim. Acel val este consemnat cu cine unde era și ce s-a creat, exact ceea ce pune modelul pe listă pentru toate valurile de după. Primul costă; al doilea n-ar trebui să mai existe.
Un client care se blochează înainte ca serverul să reacționeze este pierdut. Ștergerea are loc imediat ce serverul vede inelul, iar la cele nouă inele de mai sus a venit la timp. Un cheat care ar bloca clienții în clipa în care obiectul se încarcă l-ar bate. Nu am văzut încă unul pe RedM.
Crash-urile au și alte cauze. Epuizarea memoriei, un script defect, un build de joc stricat, browserul din joc. Un val de deconectări nu este mereu un atac, iar un anticheat RedM care ar trata fiecare crash ca atare ar acuza jumătate din serverul tău. Semnalul este combinația: același loc, aceleași secunde, aceeași semnătură și un obiect proaspăt în mijloc.
Listă de verificare anticheat RedM: trei întrebări despre crash-uri
Dacă compari produse, pune aceste trei întrebări oricărui furnizor de anticheat RedM:
- 1
Acționează înainte de crash? Elimină obiectele în primele secunde, nu raportează crash-ul după aceea.
- 2
Cum deosebește decorul de un atac? Dacă răspunsul este doar distanța sau numărul de obiecte, așteaptă-te ca propriile tale scripturi să fie semnalate.
- 3
Pe cine acuză? Proprietarul curent din rețea al unui obiect nu este mereu jucătorul care l-a creat.
Lista detecțiilor este pe pagina de funcționalități, panoul demo arată dosare reale fără cont, iar prețurile sunt publice. Anticheat-ul nostru RedM pune întregul ansamblu pe o singură pagină. Pentru principiile de bază, începe cu cum funcționează un anticheat RedM, iar pentru motivul pentru care decizia trebuie luată de server și nu de client, citește server-side vs client-side.