/od dewelopera: Vanguard x LoL — retrospekcja
Witajcie, Podróżnicy!
Minęło już prawie osiem megasekund od wprowadzenia systemu Vanguard w League of Legends. W tym niepojętym bezmiarze czasu Vanguard miał swoje wzloty, upadki i co najmniej jednego cosplayera (haute couture). Zamierzamy podzielić się z wami tymi dwoma pierwszymi, bo były częścią uparcie podejmowanych przez nas prób stania się najgłośniejszym i najbardziej transparentnym zespołem walczącym z oszukiwaniem w grach na PC, ale zanim to zrobimy, rozważcie przeczytanie artykułu, który napisaliśmy przed wdrożeniem Vanguarda, jako oczyszczającą podniebienie 14-daniową przystawkę.
Filozoficznym amuse-bouche, które powinniśmy skonsumować na samym początku, jest informacja, że chociaż będziemy dalej pracować nad ulepszaniem integracji Vanguarda i LoL (a oszuści będą pracować nad swoimi oszustwami), to nie zamierzamy kwestionować decyzji o wprowadzeniu tej technologii. Wszystkie metody zapobiegania oszustwom, podnosząc swoją skuteczność, zwiększają ryzyko nieporozumień, zatem to, jaką decyzję podjęliśmy w tej kwestii, pokazuje, że Riot bardzo poważnie podchodzi do rywalizacji w grze. Model darmowej gry (F2P) jest obarczony wieloma nieusuwalnymi problemami, ponieważ bany nie piętnują na stałe przewinień takich jak celowe umieranie, toksyczne zachowania i podbijanie. Rozumiemy, że ktoś może nie lubić programów zapobiegających oszustwom działających na poziomie jądra, ale nie zamierzamy bezczynnie czekać, aż systemy PC zaczną oferować funkcje bezpieczeństwa wspierające w wystarczającym stopniu gry, które chcemy robić. Zatem dopóki to nie nastąpi, szczerze wierzymy, że skuteczny system zapobiegający oszukiwaniu to najlepszy sposób, by League mogła rozkwitać.
No dobrze, przejdźmy zatem do dań głównych. Przypomnę jeszcze, że nazywam się „mirageofpenguins” i będę dzisiaj waszym maitre d’. Moje kulinarne doświadczenia jak dotychczas obejmują zwolnienie z Subwaya po 9 miesiącach pracy, ale od tamtego czasu przez ponad dekadę serwowałem w Riot świeżutko upichcone anti-cheaty.
Jak nam idzie
Jak każda porządna kanapka Vanguard też jest przykryty od góry kromką chleba. Zaktualizowanie systemu zapobiegania oszustwom w LoL spełniło większą część naszych założeń, w niektórych przypadkach nawet do tego stopnia, że kilka osób zastanawia się nad wypuszczeniem Vanguard 2. OK, nikt tak naprawdę tego nie planuje (bo aktualizowanie anti-cheatów jest równie zabawne, co zakładanie kotu rękawiczek), ale wprowadzenie systemów zapobiegania oszukiwaniu w LoL we współczesność od razu przyniosło kilka pozytywnych efektów, które nie powinny być specjalnie dużym zaskoczeniem.
Mniej skryptujących
Procent gier rankingowych, w których uczestniczył co najmniej jeden użytkownik skryptów, oraz bany nałożone konkretnie za „skryptowanie” w grze rankingowej. Legendy mówią, iż tak bardzo kocham ten wykres, że wytatuowałem go sobie na obu przedramionach i co trzy tygodnie chodzę do studia tatuażu, żeby go sobie boleśnie zaktualizować. Oczywiście mam nadzieję, że pozbędziemy się skryptujących, zanim tatuażyści przebiją mi się do kości.
Pierwszym i najbardziej oczywistym zwycięstwem jest znacznie mniejsza liczba oszustów w grze. Powyżej widać współczynniki skryptowania w grze rankingowej LoL oraz liczbę nakładanych codziennie banów pogrupowanych według systemów, które nałożyły bana (Packman to stary system, a Vanguard nowy). W znacznej mierze natychmiastowy spadek liczby skryptujących wynika z funkcji prewencyjnych Vanguarda, ale jak ewidentnie widać na przykładzie kategorii banów „sprzętowych”, dalsze redukcje zostały osiągnięte dzięki wykrywaniu oszustów, którzy heroicznie próbowali oszukiwać po wdrożeniu Vanguarda, mężnie poświęcając wszystkie swoje konta, aby sprawdzić, czy system zapobiegania oszustwom ma limit banów (nie ma).
Od wdrożenia Vanguarda zbanowaliśmy za oszukiwanie ponad 175 000 kont, a co ważniejsze współczynnik skryptowania w grze rankingowej spadł poniżej 1% po raz pierwszy od prawie czterech lat. W chwili pisania tego artykułu tylko 1 na 200 gier rankingowych jest rozgrywana z użytkownikiem skryptów, więc sądzę, że wreszcie mogę bezpiecznie ukończyć moje gry rozstawiające. Z pewnością znów wyląduję w Żelazie II z elektryzującym 10% współczynnikiem zwycięstw, ale przynajmniej teraz mogę całą winą obarczyć zaistnienie Zeda jako bohatera.
Ostatni największy wysyp banów (8 lipca) był bezpośrednim efektem czegoś, co Riot lubi nazywać „letnią przerwą”, bo naszemu powrotowi towarzyszył nagły przypływ nieokiełznanej anti-cheatowej energii, która przyniosła zagładę 35 000 skryptujących w niecałe 48 godzin. Chociaż dla wielu odkrycie, że anti-cheaterzy potrzebują snu, może być ogłuszającą wiedzą, zapewniamy, że większość z nas jest niemal w 100% rozpoznawana przez systemy jako ludzie. Też lubimy proste przyjemności, takie jak patrzenie na drzewa i przyswajanie substancji odżywczych, zatem pełny tydzień odpoczynku wzmocnił naszą determinację.
Mniej botów
Szacunkowa liczba godzin działania botów w rozbiciu na kolejki. Możecie słusznie zakładać, że jako jednostkę zastosowałem godziny, tak aby zarząd mógł łatwiej przeliczyć efekty działania na zasobność portfela (koszty serwerów).
Nasz drugi wykres to spojrzenie na to, ile godzin gry boty zmarnowały w tym roku. Używanie botów i skryptów programowych przebiega podobnie, więc rozpoznajemy te dwa nadużycia głównie poprzez wyniki graczy i klienta gry. Boty giną w obliczu wież i grają przy podkręconych na maksa 9 klatkach na sekundę. W języku natywnych danych brzmiałoby to mniej więcej tak:
select date, game_mode, sum(minutes_in_game) * 60
from anticheat.detections
where client.resolution_x + client.resolution_y < 1000
and client.avg_fps < 15 fps
group by 1, 2
Zresztą mniejsza o to. Techniki antywirtualnej maszyny Vanguarda dość solidnie nadszarpują możliwości przeciętnego ekspresu do kawy z programatorem, jeśli chodzi o udział w sesji League, więc całkowita liczba godzin gry z botami spadła z monumentalnego 1 miliona dziennie poniżej 5 tysięcy. Wiele farm botów dotknął trwały kryzys emocjonalny, a jeśli grywacie w trybie razem przeciw SI, to mogliście nawet widzieć część z nich, jak stoją wokół fontanny pogrążone w głębokiej wewnętrznej zadumie. Ten gwałtowny atak paraliżu botów był prostym efektem nieużywania Vanguarda — bo bez Vanguarda nie ma dostępu do serwera. Niektóre boty próbowały wrócić z wirtualnymi maszynami starego OSX-a, ale tę historię zachowamy na deser (czytajcie dalej).
Krótko po wypuszczeniu Vanguarda wyczyściliśmy też 3,5 miliona kont botów, które nie zostały jeszcze sprzedane, a naszym celem jest w tym przypadku systematyczne odcinanie tlenu rynkowi wtórnemu kont. Boty stanowią dużą część machiny napędzającej psucie rywalizacji w LoL — poprzez dostarczanie podbijaczom nowych smerfów ustawiających się w kolejce ze swoimi klientami oraz zapewnianie skryptującym nowych kont, na których „grają”. Nie wiem w zasadzie, czy można nazywać taką działalność „graniem” w League of Legends, ale będziemy bardzo czujnie obserwować tostery z funkcją smart, aby zmaksymalizować dotkliwość innych kar, które serwujemy.
Szybsze bany
Mogliście poczuć krótkotrwały moment ulgi, sądząc, że porzuciłem okropną kanapkową metaforę, ale jak wszyscy początkujący pisarze zmagam się ze swoim artystycznym zamiłowaniem do literatury i spożywczych środków wyrazu. Zatem następne wykresy można porównać do majonezu, ponieważ tak jak majonez są najważniejszym dodatkiem do naszej kanapki.
„Czas reakcji” (z lewej) jest mierzony w liczbie gier, a „czas do wykrycia” (z prawej) jest mierzony w dniach. Pierwszy pokazuje naszą sprawność w usuwaniu winowajców, a drugi szybkość, z jaką wypuszczamy procedury wykrywające znane schematy oszustw. Należy zaznaczyć, że wykrycie czegoś nie oznacza natychmiastowego banowania za to coś.
U góry z lewej strony pokazany jest nasz kluczowy wskaźnik efektywności w zapobieganiu oszustwom, a jest nim po prostu liczba gier, które oszust może rozegrać, zanim jego konto nie zetknie się z szarą rzeczywistością, w której tak naprawdę nie istnieje, i nie dozna czasoprzestrzennej kompresji algorytmicznej, którą większość trójwymiarowych istot postrzega jako ban. Również częściowo dzięki temu, że nie musimy już opierać się na rytmie aktualizacji LoL, Vanguard znacznie przyspieszył proces usuwania skryptujących z League of Legends. Nasz czas reakcji spadł z ponad 45 gier poniżej 10, przy czym to niewielkie opóźnienie jest przeważnie celowe, aby oddalić w czasie moment, gdy deweloperzy zdadzą sobie sprawę, że ich rozpracowaliśmy.
Natomiast wykres z prawej strony jest rzutem oka na rewers tej monety. „Czas do wykrycia” określa, jak długo oszustwo (lub jego aktualizacja) może ukrywać się w ekosystemie LoL, zanim procedura wykrywania nie zostanie zapisana na zwoju i spalona w hołdzie dla wrażliwej chmury Vanguarda. Możemy to oszacować, szukając najstarszych (w dniach) spośród wszystkich kont + kombinacji sprzętowych zidentyfikowanych po raz pierwszy, gdy wykryliśmy coś nowego (gdy najprawdopodobniej „pojawiło się pierwszy raz”). W tej chwili działamy błyskawicznie, ale gdy oszukujący zejdą do podziemia lub zastosują bardziej zaawansowane techniki, ich rozpoznanie i przygotowanie metod wykrywania będzie zabierać nam więcej czasu. Chodzi o utrzymywanie delikatnej równowagi w walce z oszustwami: nie możemy przeginać z nadawaniem priorytetu naszym „reakcjom”, jeśli nie chcemy przyspieszać powstawania aktualizacji oszustw, które spowalniają nasze „wykrywanie”.
Oszust, który chce oszukiwać w postvanguardowym uniwersum, zwykle nie jest przywiązany do idei własności konta ani do idei uczciwej gry. Jego społeczność składa się z innych oszustów, a kontakt z grą jest oparty na oszustwie i jedynie czas lub osiągnięcie dojrzałości umysłowej mogą to zmienić. Na razie pozostaje nam jedynie tworzenie na zmianę z nim kolejnych iteracji, a szybkość, z jaką zostaje ponownie przyłapany jest wyrazem tego, jak skuteczni jesteśmy w zmuszaniu go do zaczynania od nowa.
Inne „interesujące” zmiany
Delta Zeri może wyglądać obiecująco, ale przypominam, że oszukiwanie to podróż w jedną stronę, która kończy się banem, a podatek pochłania 100% rocznych oszczędności na koncie.
Powyższy wykres pokazuje wyniki 9 najchętniej skryptowanych bohaterów z uwzględnieniem zmian, które mogą być efektem wprowadzenia Vanguarda, a ponieważ skrypty potrafią obsługiwać klikanie myszą szybciej niż ludzie, większość tych bohaterów to prowadzący. Oś czasu z lewej strony pokazuje, o ile częściej bohater wygrywa podczas oszukiwania (jako deltę współczynnika zwycięstw w grze rankingowej pomiędzy użytkownikami skryptów a zwykłymi graczami), a wykres z prawej strony pokazuje całkowity współczynnik zwycięstw tego bohatera zmierzony w ciągu 60 dni przed i 60 dni po wprowadzeniu Vanguarda. Aby cały przykład dotyczył wpływu na rywalizację, wszystkie uwzględnione tu gry zostały rozegrane z udziałem graczy, którzy grając danym bohaterem, byli w kręgu Platyny lub powyżej.
Dzięki odbijaniu się fotonów pomiędzy wykresem a waszymi tęczówkami możecie zaobserwować radosną prawidłowość: wyniki oszustów nieco się pogarszają. Wpływ ma na to wiele czynników, ale najważniejszym jest to, że przez Vanguarda bardzo irytujące jest używanie „wewnętrznych” cheatów bez tworzenia wykrywalnych wzorców, więc wielu oszustów decyduje się (1) grać manualnie lub (2) sięgać po cheaty „zewnętrzne”. Jak wskazuje nazwa, takie cheaty nie mają możliwości odczytywania pamięci gry, więc pozyskują wszystkie dane z odczytywania ekranu i na tej podstawie próbują wprowadzać polecenia w imieniu oszukującego. Mówiąc w skrócie... nie są zbyt dobre.
Dodatkowo zmniejszenie liczby skryptujących (i zmniejszenie skuteczności skryptowania) zdaje się wywierać też wpływ na ogólny współczynnik zwycięstw sztandarowych użytkowników skryptów. Trudno skontrolować wpływ elementów takich jak zmiany wyważenia, resety sezonowe i wybory kontrujące, ale pewien odsetek tych spadków wynika z tego, że oszustom trudno jest utrzymać konta w Diamencie. Gdy o tym pomyślę, mój krok staje się od razu bardziej sprężysty.
Minimalna liczba przypadków fałszywie pozytywnych
Wprowadzanie nowego anti-cheata jest zawsze obarczone ryzykiem „wykrywania” zasobów programowych, które „wyglądają” na oszustwa (zwykle jest to złośliwe oprogramowanie lub cheaty do innych gier), ale na szczęście Vanguard nie jest już taki „nowy” — skończył w tym roku cztery lata. Jako ostatni element naszej kanapki (a właśnie zdałem sobie sprawę, że składa się ona z dwóch wilgotnych kawałków ciabatty zanurzonych w przyprawach) przeanalizujemy współczynnik fałszywie pozytywnych wykryć Vanguarda.
Warto wspomnieć, że obecnie tłumaczenie w stylu „ulubiona iguana mojego brata zainstalowała skrypty na moim komputerze” nie jest wiarygodnym usprawiedliwieniem oszukiwania, chociaż na podstawie częstotliwości, z jaką się pojawia, zaczynamy mieć obawy, czy aby „Godzilla” nie okaże się proroczym filmem.
Powyżej, na osi z lewej strony podany jest procent wszystkich cofniętych banów nałożonych przez Vanguarda (słupki) pogrupowanych na podstawie powodów cofnięcia, a na osi z prawej strony w tym samym rozbiciu pokazane jest, jak długo te konta były zawieszone (linie). Przedstawione są tu trzy rodzaje przyczyn cofnięć banów, w kolejności są to:
Konto, które było ukradzione (a nie celowo udostępnione) w okresie, gdy wykryto oszukiwanie.
Konto, które było zablokowane ze względu na wypożyczenie lub zakup zbanowanego wcześniej sprzętu.
Konto, które zostało zbanowane za materiały lub zachowania, które nie były oszukiwaniem w League of Legends.
Za „prawdziwie” fałszywie pozytywny wynik uznajemy ten ostatni warunek. Jak na razie ogólny współczynnik wynosi 0,01%, czyli mniej niż 1 na każde 10 000 banów. Co ważniejsze średni czas zablokowania tych niewinnych kont był krótszy niż 72 godziny. Podczas startu musieliśmy wprowadzić kilka regulacji, aby lepiej dostosować się do atypowych wzorców wynikających z grania jednocześnie z LoL w inne gry, ale od tego momentu wszystko działa już dość płynnie. Przykładamy wielką wagę do trafności naszych działań represyjnych i stale weryfikujemy zasady działania Vanguarda, aby zminimalizować „obrażenia przypadkowe”.
Niezależnie od tego, oszuści wciąż potrzebują dodatkowych kont, aby dalej oszukiwać, więc „ukradzione konta” pozostają zdecydowanie największą grupą. Chociaż Wsparcie Gracza okazjonalnie robi jednorazowe wyjątki dla kont, na które bez wątpienia się włamano, czasem trudno jest rozpoznać, „kto” jest prawdziwym właścicielem konta, szczególnie jeśli przez długie okresy było celowo współdzielone. W efekcie wprowadzenia Vanguarda do League wielu współwłaścicieli kont dowiedziało się o skłonnościach do oszukiwania swoich partnerów, ale niewiele możemy zrobić w sytuacji, gdy dwóch lub więcej graczy zgłasza swoje pretensje do konta.
Nie udostępniajcie swoich kont, nie używajcie tych samych haseł i włączcie wielostopniową weryfikację.
Trudniejsze tematy
Mniej więcej 0,0% osób cieszy się na myśl o zainstalowaniu obowiązkowego anti-cheata, zatem zapewne nikogo nie zaskoczy odkrycie, że zespół Vanguard nie spodziewał się czerwonego dywanu dla LoL. Vanguard jest dość skomplikowanym produktem, który działa w trudny do zrozumienia sposób. W dużym stopniu jest to konieczne, aby skutecznie walczyć z oszustami, którzy z radością poznaliby więcej szczegółów, ale te niejasności sprawiają też, że Vanguard jest świetnym celem ataków, który nie zawsze może się bronić, udzielając wyjaśnień. Cześć z poniższych akapitów będzie trochę bardziej techniczna, ale zostańcie ze mną, a jakoś razem przez nie przebrniemy.
Blokowanie sterowników podatnych na ataki
Celem działania Vanguarda nie jest wprowadzanie atmosfery stałej policyjnej inwigilacji, ale funkcjonowanie jako rodzaj potwierdzenia weryfikacji bezpieczeństwa systemu, na którym działa. Tworząc perymetr wokół jądra systemu Windows, Vanguard pozwala nam żądać mniejszej porcji danych od systemów, w których nie naruszono natywnych zabezpieczeń Windows i które pozostają w potwierdzonym stanie bezpieczeństwa.
Nasz anti-cheat uzyskuje ten perymetr bez połączenia z siecią, aktywując swój sterownik w chwili uruchamiania systemu operacyjnego i blokując użycie innych sterowników w „wyścigu” do jądra — gdzie mogłyby się następnie ukryć na zawsze przed każdym narzędziem załadowanym po nich. To problem typu „co ładuje się wcześniej” — Vanguard potwierdza, że nic nie załadowało się od bootowania poprzez samą swoją obecność podczas uruchamiania gry.
Obiekty blokowane przez Vanguarda to:
Podatne na ataki sterowniki z lukami w eskalacji uprawnień, które mogą zostać wykorzystane do wprowadzenia kodu do jądra.
Relatywnie stare sterowniki z certyfikatami, w których jedna z sygnatur nie posiada znacznika czasu.
Sterowniki, które są bezpośrednio wykorzystywane do oszukiwania sygnowane przez producentów cheatów udających legalne firmy programistyczne.
Najczęstszym powodem nieporozumień jest drugi przypadek, ponieważ problem z zezwalaniem na użycie starych certyfikatów polega na tym, że wiele z nich zostało ukradzionych przez oszustów. W większości przypadków można byłoby to rozwiązać, pobierając po prostu nowszą wersję problematycznego sterownika, niestety czasem deweloperzy od dawna się już nimi nie zajmują. A nawet gdyby się zajmowali, przerabianie obecnie starych sygnatur uniemożliwiłoby legalnym użytkownikom uruchamianie ich oprogramowania, więc Vanguard po prostu blokuje sterowniki z takimi certyfikatami, gdy jest aktywny. Zawsze możecie wyłączyć Vanguarda, aby je załadować, ale aby możliwe było granie w grę zabezpieczoną Vanguardem, i tak będziemy musieli przekonać się, czy nic nie naruszyło integralności Windows od bootowania.
BootLooping
Ostatni problem z bootloopem na masową skalę sprawił, że na całym świecie zaczęto zastanawiać się nad zagrożeniami związanymi ze sterownikami opartymi na jądrze, ale chociaż tamto wydarzenie było rzeczywiście groźne, to Vanguard w zasadzie nie stwarza ryzyka wystąpienia takiego scenariusza. Wchodzi tu w grę kilka czynników, którymi się od nich różni, oraz zastosowanie bezpośrednich zabezpieczeń.
Różnice w bootowaniu
Komponenty antywirusowe z certyfikatem Microsoftu mają uprawnienie ELAM i w związku z tym przywilej ładowania swojego sterownika przy rozpoczęciu bootowania wcześniej, niż startuje „system” Vanguard (pilni czytelnicy mogą rozpoznać, że to naturalny rozwój wyścigu zbrojeń w procesie „co ładuje się wcześniej”). Co ważniejsze, wiele sterowników antywirusowych pobiera też dynamicznie konfiguracyjne bloby ze zdalnego serwera w czasie wykonania bez konieczności przebudowy i ponownej certyfikacji sterownika. Tak zaprojektowane procedury znacznie przyspieszają reakcję na zagrożenia, ale utrzymują też lokalnie dane do użytku przy każdym uruchomieniu, odsłaniając wektor dla nieodwoływalnych aktualizacji, jeśli jakakolwiek konfiguracja stworzy warunki wyścigu, w których nowe bloby nie mogą zostać pobrane przed awarią systemu operacyjnego. Dynamiczny, uruchamiany przy bootowaniu sterownik znacząco zwiększałby obszar ryzyka, dlatego w zespole Vanguard zdecydowaliśmy, że będziemy spać spokojniej bez niego.
Statyczny kod
Sterownik Vanguard (VGK.sys) niczego nie wykonuje dynamicznie podczas uruchamiania — to całkowicie statyczny kod. Wykorzystujemy komponent Vanguarda w kliencie (VGC.exe), aby aktywować zdalnie funkcje sterownika tylko podczas aktywnego korzystania z gry. Nie przechowujemy żadnych konfiguracji, nie zmieniamy ich ani nie utrzymujemy do następnego uruchomienia sterownika, a gdyby wystąpił kiedyś jakiś błąd krytyczny, przestalibyśmy po prostu wysyłać błędną konfigurację, przywracając tym samym sterownik do jego statycznie pasywnego stanu przy następnym rebootowaniu. Sam sterownik Vanguarda nie ma możliwości połączenia się z siecią, a klient musi nawiązać połączenie z platformą, zanim aktywnie cokolwiek „zrobi” poza blokowaniem podatnych na ataki sterowników, które są ładowane po nim.
Proste zabezpieczenia
Niektórzy przedsiębiorczy młodzi inżynierowie zdążyli już szczegółowo wyjaśnić ten proces, ale sterownik Vanguarda ma też mechanizm z przełącznikiem deadman (przełącznikiem czuwaka) w formie pliku vgkbootstatus.dat. Gdy Vanguard uruchamia się po raz pierwszy, sprawdza status tego pliku i jeśli odczyt nie podaje komunikatu „uruchomiony”, sterownik jest bezpieczny. W innym wypadku ustawia status wspomnianego pliku na „uruchamianie”, a gdy preambuła zostanie z powodzeniem ukończona, znowu zmienia ten status na „uruchomiony”. Chodzi głównie o to, że jeśli uruchamianie pliku VGK.sys nie zostanie prawidłowo zakończone, plik będzie wciąż miał status „uruchamianie” i sterownik nie zostanie uruchomiony ponownie, dopóki nie nastąpi aktualizacja (poprzez uruchomienie gry Riot lub celowe przeinstalowanie Vanguarda).
„Vanguardowe wydarzenie” w okolicy
Integracja Vanguarda z LoL jest nieco wyjątkowa, głównie dlatego, że sesja programu anti-cheatowego jest tworzona, gdy uruchamia się początkowy pulpit klienta, a nie sam klient gry (jak w VALORANT). To jest dziwaczne, gdy spojrzy się na to z perspektywy anti-cheatu, i stawia nas przed pozornie prostym wyzwaniem: gracze często zostawiają uruchomiony pulpit klienta. Oznacza to, że (1) system może przejść w stan uśpienia, gdy sesja LoL jest aktywna, oraz (2) jedna sesja zwykle aktywuje drugą (np. pomiędzy komputerem domowym i komputerem do pracy).
Niestety integracja LoL z Vanguardem nie obsługiwała tych zdarzeń, a ponieważ na każdym koncie jednocześnie możliwa jest tylko jedna sesja Vanguarda, efekt końcowy był taki, że gracze nie mieli Vanguarda. Czyli, jeśli byliście w grze i drugi komputer zweryfikował się w Vanguardzie, zostawaliście wyrzuceni z serwera za brak działającej sesji anti-cheatowej. Tak samo, jeśli rozłączyliście się z sesją w trakcie szukania gry, mogło nie dojść do powiadomienia o tym fakcie aż do pojawienia się ekranu wczytywania i wyrzucenia z gry, co potencjalnie mogło skutkować brutalnym doświadczeniem zakończenia meczu przed czasem plus stratą PL.
Riot zareagował z całą stanowczością — teraz mimo wprowadzenia szybkiej naprawy logistyki dodatkowej weryfikacji za pomocą patcha, LoL przeprowadza jeszcze kontrolę sesji podczas dobierania przeciwników, aby mieć 300% pewność, że coś takiego się nie powtórzy. Jeśli podążacie za moją bezbłędną metaforą obiadową, to danie najlepiej opisać jako spaghetti, a ponieważ półmisek jest przeznaczony specjalnie dla Riot, nie chcemy dopuścić do sytuacji, w której musiałby je zjeść ktoś inny.
I jeszcze coś...
Mam nadzieję, że jeszcze przez chwilę nie zamierzacie odrywać oczu od tego artykułu, bo chcę poruszyć trzy inne istotne sprawy w nadziei, że Google odpowiednio przypisze indeksy tej stronie, tak aby każdy zainteresowany mógł ją łatwo znaleźć. Jak zawsze najlepszym sposobem uzyskania pomocy jest wysłanie zgłoszenia.
Lag przy klikaniu lub spadek liczby klatek na sekundę
Istnieje kilka aplikacji firm niezależnych (mody, nakładki lub pasywne narzędzia do analizy porównawczej), które mogą czasami próbować nonszalancko otwierać nagłówki do odczytu lub tworzyć hooki w celu powiadamiania o konkretnych wydarzeniach w kliencie LoL, ale teraz, gdy gra jest chroniona przez Vanguard, te operacje nieuchronnie będą kończyły się błędami. Zdecydowanie nie chcemy, aby cokolwiek zakłócało grę, więc to blokowanie jest w 100% zamierzone. Jednak sposób, w jaki niektóre aplikacje reagują na niewykonanie operacji Windows wacha się od cichego ignorowania po wielokrotnie i bezustannie powielane próby, nad czym nie jesteśmy w stanie w żaden sposób zapanować. Jeśli zatem wiecie, jaka aplikacja sprawia kłopoty, i nie ma sposobu, aby dodać LoL.exe do jej listy wyjątków, możecie samodzielnie uniemożliwić jej próby manipulowania plikiem LoL.exe, używając tego kodu obejścia.
Włączanie modułu TPM 2.0
Odkryliśmy, że wymaganie uruchomienia modułu TPM 2.0 w Windows 11 może stwarzać problemy niektórym graczom, gdy mają przejść do BIOS-u, aby go włączyć. Ustawienia BIOS-u mogą być bardzo różne u różnych producentów, a w dwóch znanych przypadkach gracze byli proszeni o przełączenie do trybu UEFI, aby włączyć TPM, mimo że Windows został zainstalowany na dysku z tabelą partycji MBR (Master Boot Record). Tak się jednak składa, że aby obsługiwać tryb UEFI, Windows musiałby być zainstalowany na dysku korzystającym z tabeli partycji GUID (GPT), bo inaczej bootowanie nie będzie możliwe. Chociaż powinno to zostać rozwiązane podczas pierwszej instalacji systemu Windows 11 (jak wymaga Microsoft), Vanguard wymuszał ten problem w przypadku kilku graczy, którzy pominęli oryginalną weryfikację modułu TPM 2.0 Microsoftu.
Jeśli próbujecie aktywować TPM 2.0 dla któregokolwiek z anti-cheatów, które obecnie tego wymagają, i wiecie, że pojawi się scenariusz z MBR, a nie chcecie tracić danych w wyniku zwykłego formatowania, Microsoft ma narzędzie, które potencjalnie pozwala przekształcić dysk do formatu GPT bez kasowania danych.
Specyficzne interakcje sprzętowe
Opracowywanie sterowników bywa szczególnie trudne, gdy dostawcy sprzętu OEM lub markowego na części swoich urządzeń umieszczą oprogramowanie sprzętowe z błędami. Staramy się zapobiegać takim problemom z wyprzedzeniem poprzez testowanie zgodności, ale niektóre sytuacje są po prostu poza naszą kontrolą. Jeśli ktoś ma problem ze zbyt częstym pojawianiem się niebieskich ekranów, a procesor intel w urządzeniu należy do 13 lub 14 generacji, istnieje duże prawdopodobieństwo, że oprogramowanie sprzętowe jest przestarzałe. Intel pracuje nad rozwiązaniem tego problemu, który ma dość szeroki zasięg.
Przyszłość programów anti-cheat w LoL
Oprogramowanie anti-cheat nigdy nie jest ukończone i chociaż Vanguard zredukował nasze odsłonięte obszary i wzmocnił chroniącą je barierę, oszuści zawsze będą poszukiwać nowych sposobów zyskania nieuczciwej przewagi. Poniżej przedstawimy kilka rzeczy, nad którymi pracujemy, aby nie mieli się czym pożywić.
Wzmacnianie
Chociaż wielu producentów cheatów rzuciło już ręcznik na deski, jesteśmy podekscytowani faktem, że nie wszyscy zrozumieli nasz przekaz, i nie możemy się już doczekać rozbudowania Vanguarda, aby mieli się z czym boksować. Bany były na razie tylko aperitifem, a my już przygotowujemy w naszej kuchni coś solidniejszego do zaserwowania. Wielu oszustów często zamyka się na etapie „zaprzeczenia” w cyklu żałoby, a my traktujemy każdy ban jako gaszenie płomienia na kandelabrze nadziei. Przez stopniowe pogrążanie się w całkowitej ciemności każdy oszust ma szansę dostąpić wreszcie prawdziwego oświecenia.
Vanguard „na żądanie”
Jak przewidzieliśmy, istnieje możliwość, że w niedalekiej przyszłości będziemy mogli polegać na procedurach Windows zabezpieczających jądro, zamiast chronić je od momentu bootowania sterownikiem. Pozwoli nam to świadczyć własne usługi ochrony przed oszukiwaniem, gdy uruchomiony będzie klient gry, zakładając, że użytkownik końcowy zgodzi się na wszystkie te funkcje. Więcej na ten temat będziemy mogli powiedzieć na początku następnego roku, ale jeśli macie Windows 11 i w miarę świeży sprzęt, to wiedzcie, że nie będziecie musieli wiecznie tolerować ikony na pasku zadań (chociaż naprawdę napracowaliśmy się, tworząc logo Vanguarda).
Wykrywanie podbijania
Podbijanie to proceder polegający na celowym graniu z kontem (lub na koncie) o niższym rankingu, aby podnieść poziom tego konta. Nie zajmowaliśmy się wykrywaniem podbijania od 2018 roku, ale teraz jesteśmy niezwykle podekscytowani, że mamy technologię fingerprintingu pozwalającą zająć się ponownie tym zagadnieniem. Zamierzamy skoncentrować większość swoich wysiłków na wykrywaniu podbijaczy, ustawiając się w kolejce z klientami świeżo zdegradowanych smerfów, i będziemy nagradzać te konta banami na resztę sezonu (poziom 1). Graczom wielokrotnie ustawiającym się z podbijaczami, na których nałożono te kary, również zafundujemy takie wakacje (poziom 2). A jeśli ktoś będzie tak dzielny, aby w pełni udostępnić swoje konto serwisowi podbijającemu, zostanie wykryty jako smerf (w ramach poziomu 1) i skutecznie domknie pętlę.
Wciąż mamy tu wiele do zrobienia, ale planujemy, że do przyszłego lata wszystkie 8 cylindrów będzie już pracować pełną parą.
Mac x Vanguard (czyli Vanguard 2)
Gdy zaczęliśmy dobierać się do „botowania”, niektórzy oszuści przenieśli się na wirtualną maszynę w systemie operacyjnym macOS, aby uwolnić się od wymagań stawianych przez Vanguarda. Ten ruch był równie zaskakujący jak syrop na naleśnikach, zatem z radością ogłaszamy, że produkt towarzyszący Vanguard, Embedded Vanguard (mVG), wkrótce pojawi się na Macach. Unikalna konstrukcja zabezpieczeń w środowisku macOS pozwala nieco poluzować ochronę jego jądra, zatem jak wskazuje nazwa, nie będzie konieczna żadna dodatkowa instalacja — zabezpieczenia są „zagnieżdżone” bezpośrednio w kliencie gry. Co więcej z powodzeniem używamy już mVG w VALORANT na konsole i w Wild Rift.
Zostanie wypuszczony pod koniec tego roku i mamy nadzieję, że będzie ostatecznym ciosem zadanym botom oraz dwóm deweloperom rozprowadzającym skrypty w domenie publicznej, którzy teraz muszą zmagać się z faktem, że zmarnowali trzy miesiące na robienie skryptów pod OSX. Ale nie martwcie się, Swift świetnie wygląda w CV.
Wyjście
Teraz, drodzy przyjaciele, musimy wracać do naszej mrocznej anti-cheatowej kuchni, by przygotować następne danie. Nie bójcie się, zawsze będziemy walczyć o wasze prawo do rywalizowania bez udziału oszustów, który nie chcą przestrzegać reguł. Nie co dekadę można pracować nad grą w czterech iteracjach systemu anti-cheatowego i nie potrafię wyrazić, jak jestem szczęśliwy, że LoL zalicza się obecnie do najlepszych gier w tej kategorii. Granie z wami, pisanie dla was i banowanie razem z wami zawsze było dla mnie absolutną przyjemnością.
PS. Przeczytałem sobie ten kawałek po napisaniu i sądzę, że pisząc go, musiałem być głodny.