/dev: driver de nucleu anti-trișare

Protejăm câteva dintre următoarele jocuri de la Riot cu noi sisteme anti-trișare.

Atenție: Acest articol include destul de multe informații tehnice și se referă la instrumente anti-trișare care nu vor fi exclusive pentru League of Legends. Alte jocuri (precum Proiectul A) vor fi protejate prin actualizarea menționată înainte de LoL.

Într-un studiu efectuat prin parteneriat, cu o durată de aproximativ opt ani și cu o susținere de 20 de milioane USD din fonduri federale, oameni de știință importanți au reușit să plaseze în timp invenția trișării undeva între 3,5 miliarde înainte de era noastră și 20 noiembrie 1985. Cu toate că originea sa exactă rămâne incertă, o realitate a fost acceptată ca un fapt clar: trișorii vor trișa.

De-a lungul ultimelor două decenii, dezvoltarea metodelor de trișare și tehnologia pentru a le preveni au suferit transformări considerabile. Inițial era vorba de o luptă onorabilă pentru controlul memoriei clientului de joc. Ulterior s-a transformat în metode care încearcă să modifice sistemul de operare de bază al computerului trișorului, ba chiar și hardware-ul acestuia. Aceste tehnici pot compromite abilitatea unei metode anti-trișare de a obține date utile și acest efect se intensifică dacă acea metodă anti-trișare trebuie să ruleze în modul utilizator.

Ce este modul utilizator?

Acesta descrie un nivel de privilegiu dintr-un sistem de operare, mai exact nivelul cel mai restrictiv la care poate rula un software. Browser-ul tău web, copia ta legitimă de WinRAR și jocurile tale preferate rulează în modul utilizator. În cadrul acestuia, o aplicație nu poate vedea direct ''în afara sa''. Codul trebuie să se bazeze în general pe API-urile native ale sistemului de operare, pentru a citi și scrie memorie, și nu în cadrul propriului proces. Sau ca să facem o metaforă pe jumătate inteligibilă: noi (cei în modul utilizator) trebuie să-i întrebăm pe cei din bucătărie (Microsoft Windows) ce a fost adăugat în gulașul de vită (League of Legends).

For_Loc_Kernel_Drivers-rum.jpg

Dacă ai auzit vreodată un geniu stabil spunând ''lol metoda de trișare este în inelul 0 nedetectat'', la asta s-a referit exact înainte să fie suspendat.


În ultimii câțiva ani, dezvoltatorii de metode de trișare au început să profite de vulnerabilitățile sau de verificarea de semnare a unui Windows corupt, pentru a-și rula aplicațiile (sau părți din acestea) la nivelul nucleului. Problema apare aici pentru că un cod executat în modul nucleu poate prinde chiar apelurile de sistem pe care ne bazăm ca să ne recuperăm datele, modificând rezultatele și făcându-le să pară legitime, într-un mod care e dificil de detectat. Am văzut hardware specializat care utilizează DMA1 pentru a citi și procesa memoria sistemului – un vector care ar putea fi greu de detectat2 din modul utilizator, dacă e făcut la perfecție.

Multor jucători li s-ar părea inacceptabilă ideea de instalare a unui Windows corupt. Cu toate astea, un număr incredibil de trișori s-au dovedit a fi de-a dreptul entuziasmați de șansa de a utiliza botnet-ul vreunui tip, în schimbul posibilității de a folosi rapid atacuri de bază în timp ce se deplasează. Prin urmare, foarte multe metode de trișare rulează la un nivel de privilegiu mai mare decât soluțiile noastre anti-trișare. Ca să explicăm asta în termenii analogiei noastre nemaipomenite cu bucătăria: când îl întrebăm pe bucătarul-șef dacă ingredientele noastre pentru gulaș ajung de la fermă la masa consumatorului, un tip oarecare, care poartă o tocă, convinge conducerea restaurantului că ''are totul sub control'' și apoi răspunde solicitării noastre cu ''desigur, hai mâncați''.

1DMA se referă aici la ''Direct Memory Access'' (Acces direct la memorie), o metodă prin care o parte de hardware poate accesa direct memoria, după cum poate ai bănuit, fără să fie necesar API-ul Windows-ului. Câteva dintre comunitățile experte în trișare au folosit-o pentru a retransmite memoria către un calculator diferit pentru procesare ulterioară și ESP.

2L-am angajat direct pe tipul care a dezvoltat tehnica de detectare.


De ce îmi spuneți toate astea?

Până acum, echipa ta preferată anti-trișat a fost nevoită să joace acest joc la nivelul de utilizator, practic oferindu-le trișorilor un avantaj. Nu am avut încă nevoie de soluții radicale, în principal pentru că avem avantajul unor salarii stabile și lipsa unor ore de culcare stricte. Dar pe cât de mult ne-ar plăcea ideea unui război interminabil de securitate a aplicațiilor cu adolescenții, intrăm acum într-un univers cu mai multe jocuri, în care deficitul de timp și somn va face această strategie imposibilă.

De aceea, câteva dintre următoarele titluri de la Riot vor fi protejate de un driver de nucleu.

Cred că o să intru în panică...

Sunt mai multe motive pentru care nu ar trebui deloc să faci asta.

  1. Stresul poate duce la căderea părului și nu vreau să-ți fie frig la cap.
  2. Asta nu ne oferă o capacitate de supraveghere pe care nu o aveam deja. Dacă ne-ar păsa de rețeta secretă a bunicii pentru cozonacul perfect de Crăciun, nu am avea nicio problemă să o obținem doar din modul utilizator și apoi să o vindem celor de la Food Network. Scopul acestei îmbunătățiri este de a monitoriza starea sistemului pentru integritate (ca să avem încredere în datele noastre) și de a face lucrurile mai dificile pentru trișori, ca să nu ne mai poată afecta jocurile (și să nu poți da vina pe boți când pierzi meciuri).
  3. Acestea nu sunt chiar noutăți. Mai multe sisteme anti-trișare terțe, precum EasyAntiCheat, Battleye și Xigncode3, deja folosesc un driver de nucleu pentru a-ți proteja jocurile AAA preferate. Tot ceea ce facem e să ne instalăm propriul bucătar în bucătăria Windows, astfel încât atunci când întrebăm ''unde-i carnea de vită'' , să știm că primim un răspuns sincer.
  4. Crearea metodelor de trișare nedetectabile va fi considerabil mai dificilă. Te vom proteja de boții care țintesc, ne vom proteja de Reddit și îi vom proteja pe trișori de ei înșiși.

Credem că anti-trișarea este una dintre cele mai importante componente ale unui joc multiplayer online și vrem să joci într-o lume în care nu trebuie niciodată să pui la îndoială abilitățile adversarului. Nu există leac pentru febra trișării, dar vom continua să facem tot ce e posibil pentru a-ți aduce cea mai bună experiență competitivă posibilă.

Transmisiune încheiată, dar voi reveni în aproximativ patru megasecunde ca să-ți spun despre boții din jocurile tale de ARAM, o continuare a nuvelei noastre renumite, ''Cum eliminăm trișorii din LoL''.