Kiedy gracz staje się wrogiem – anti-cheat

Różnego rodzaju oszustwa, czy to w grach, czy to w świecie realnym, istnieją od zarania dziejów. A w zasadzie od czasów, kiedy pewne grupy społeczne znalazły sposób na ułatwienie sobie w ten sposób życia lub osiąganie korzyści.

Dlaczego oszukujemy? Kogo oszukujemy? Cóż: każdy ma inną moralność i jest to problem bardzo złożony z perspektywy psychologicznej. Czasami pozwala nam to podbudować ego, dowartościować się, odnieść sukces, którego tak poszukujemy. Inni chcą po prostu zrujnować komuś dzień, zdarza się. Nie na tym jednak będziemy się skupiać, ale bardziej na perspektywie przeciwdziałania oszustom.

anti-cheat

Wszystkie produkcje dla wielu graczy zmagają się z tym problemem, a różne są sposoby podejścia do problemu. Z jednej strony mamy zgłaszanie graczy, a następnie sprawy w stylu trybunału i głosowania. Z kolejnej aplikacje typu VAC czy PunkBuster, gdzie aplikacje działają tylko przy uruchomionym procesie gry i skanują różne obszary pamięci czy programy, które mamy uruchomione. Aż wreszcie docieramy do ostatnich pomysłów, czyli pogromców oszustów na poziomie kernela, jak Riot Vanguard, BattlEye, Denuvo Anti-Cheat czy zapowiedziany anti-cheat dla Call of Duty (tak, również będzie siedzieć w kernelu).

Pierwsza opcja wymaga zaangażowania graczy, najlepiej takich, którzy coś w grze osiągnęli, są w stanie rozpoznawać podejrzane zachowania i samodzielnie zachować się odpowiedzialnie wydając wyrok. Innymi słowy: potrzeba dojrzałej społeczności, która będzie anonimowo głosować w sprawach, a do tego też poświęcać swój czas na wydanie wyroku. W pewnym sensie to przerzucenie odpowiedzialności na grających: „Chcecie mieć uczciwą grę? Sprawiedliwość jest w Waszych rękach!”.

Druga opcja, chyba obecnie najpopularniejsza, pozwala też na największą swobodę po obu stronach. Twórcy mają automat, który może popełniać błędy, społeczność jest wolna, a jednocześnie nie musimy martwić się rozwiązaniami inwazyjnymi i związanymi z bezpieczeństwem naszych, graczy, systemów. Owszem, system nie jest bezbłędny, ale skutecznie odsiewa przynajmniej najbardziej popularne i darmowe rozwiązania dla oszustów.

anti-cheatn

I wreszcie jest opcja numer trzy: aplikacje na poziomie kernela. Teoretycznie najbardziej bezpieczne i pożądane rozwiązanie dla twórców. Sam program działa wtedy na poziomie jądra systemu, czyli z uprawnieniami powyżej administratora lokalnego. Powoduje to serię komplikacji dla użytkowników, ale twórcom zapewnia pełny podgląd na aplikacje uruchamiane w dowolnym obszarze uprawnień całego systemu. Nic się nie prześlizgnie, ale z drugiej strony mamy niebezpieczeństwa związane z użytkowaniem maszyny, jak ataki typu RCE (Remote Code Execution), RPE (Remote Privilege Escalation) oraz inne wątpliwości, związane z prywatnością przechowywania uzyskanych przez aplikację danych. A jak jest ze skutecznością? To już zależy od samego użytkownika, bo wszystko można obejść. Dla takiego BattlEye (exploit został już załatany) wystarczyła niewielka znajomość procesów i skorzystania z jednej aplikacji, całkowicie legalnej. Oczywiście aplikacje na samym poziomie jądra systemowego dodatkowo w sposób zauważalny będą obciążać nasz sprzęt: w końcu skanowanie wszystkiego musi się jakoś odbywać, a moc nie weźmie się z powietrza.

Coraz więcej firm decyduje się na implementację rozwiązań właśnie na poziomie kernela, co uderza głównie w graczy uczciwych. Nie dość, że narażeni są na różnego rodzaju problemy związane z aplikacją (może się okazać, że potrzebna będzie ręczna konfiguracja pewnych elementów), problemy z prywatnością (skanowanie dysków, aplikacji, pamięci, danych maszyny, etc.), to jeszcze możliwe są problemy z dostępem zdalnym do urządzeń. Tymczasem oszuści i tak znajdują sposoby obejścia nowych rozwiązań, co wyraźnie widać po problemach trawiących społeczność Rainbow Six: Siege, gdzie wprowadzenie BattlEye nie rozwiązało do końca problemu z podejrzanymi sytuacjami na serwerach.

anti-cheat Battleye

Teraz po BattlEye sięgnęło Bungie i zaimplementowało rozwiązanie w Destiny 2. Problem z cheaterami w Destiny 2 był poważny, nie można temu zaprzeczać. Jednak od razu sięgnięto po „broń atomową” nie szukając żadnych rozwiązań pośrednich. Trochę jak w przypadku DOOM: Eternal i nagłej decyzji o Denuvo Anti-Cheat. W tym drugim przypadku skończyło się solidną burzą w sieci, zwrotami, a w końcu wycofaniem z wdrożenia przez Bethesdę/id Software. W przypadku Destiny 2 raczej tak nie będzie, chociaż po reakcjach na Twitterze oraz w artykułach oficjalnie na stronie, wygląda, że sami twórcy zaskoczeni są wpływem BattlEye na płynność działania gry. Na chwilę obecną mamy do czynienia z tak zwanym soft-launch, czyli aplikacja działa pod kontrolą i nie rozdaje banów automatycznie. Do tego sam BattlEye działa w specjalnym trybie i usługa uruchamia się tylko przy włączonym Destiny 2. Czy zostanie to zachowane po wyjściu z okresu próbnego? Zobaczymy. Na chwilę obecną można za to z łatwością stwierdzić, że wprowadzenie tak agresywnej aplikacji po stronie klienta gry nie przyniosło żadnych wymiernych korzyści: podczas rozgrywek PvP średnio dwa na trzy mecze obfitują w różnego rodzaju graczy ze wspomagaczami. Są za to problemy takie jak między innymi wspomniany spadek wydajności.

Zgłosiliśmy się do Bungie, BattlEye oraz Cenegi z prośbą o wyjaśnienie pewnych tematów, ale na chwilę obecną nie otrzymaliśmy informacji zwrotnej i komentarza stron. Zapewne do tematu jeszcze wrócimy.

Czy warto zatem karać uczciwych graczy? Odpowiedź jest dużo bardziej skomplikowana, niż się wydaje. Warto spojrzeć na przykłady z życia. Za wolność od zagrożeń terrorystycznych po 11 września zapłaciliśmy wzmożoną kontrolą na lotniskach i, czasami, brakiem prywatności. Jednak sytuacja się nie powtórzyła. Często jest tak, że pewne kroki związane z bezpieczeństwem musimy okupić rezygnacją z praw, ale ważne jest znalezienie tego złotego środka. Dla każdej ze stron.

Autorem tekstu jest Tomasz Koralewski

Scroll to top