Od deweloperów
/od dewelopera: Vanguard x LoL

Riot wprowadza Vanguard do League.

Od deweloperówAutormirageofpenguins
  • Skopiowano do schowka

„Jak” i „dlaczego” zapobiegamy oszukiwaniu

Cześć, jestem mirageofpenguins i nadszedł czas, by — jak co cztery lata — przekazać oszustom w League moje najszczersze pozdrowienia. Ja i 85 milionów banów na moim koncie jesteśmy tu dziś, by porozmawiać z wami nieco o oprogramowaniu Vanguard.

Na wstępie jednak chciałbym zauważyć, że artykuły na temat zapobiegania oszustwom potrafią być wymagające, więc gorąco zachęcam do zapoznania się z rekomendowanymi materiałami wstępnymi. Polecam rzucić na nie okiem, jeśli macie ochotę — jednak nie jest to obowiązkowa lektura i nie musicie się obawiać, bo nie będę was z niej odpytywać na egzaminie końcowym.

Informacja o wprowadzaniu Vanguard do LoL wzbudziła spore kontrowersje — bo przecież większość graczy nie oszukuje, a nikt nie lubi instalować dodatkowych narzędzi tylko dlatego, że oszuści nie potrafią wykombinować, jak walczyć uczciwie. Zwalczanie oszustw to gra w cieniu — a ciemność, w której zwykle działamy, ma niefortunny efekt uboczny w postaci generowania wielu nieporozumień, obaw i, szczerze mówiąc, dezinformacji.

Dlatego zapnijcie pasy, a my postaramy się rzucić jak najjaśniejsze światło na to, jak Vanguard wykonuje swoją pracę. Artykuł ten nie należy do najkrótszych, ale ma też sporo grafik, więc nie powinno być aż tak źle.

Jak działa oszukiwanie w League

League of Legends to stosunkowo bezpieczna gra komputerowa. Serwer symuluje całość stanu rozgrywki, a klient jest tak naprawdę odpowiedzialny tylko za wysyłanie do niego „żądań”. Nasz serwer, określany często mianem modelu autorytatywnego, jest ostatecznym weryfikatorem prawdy, a działania takie jak „używanie zaklęć, mimo że jeszcze się odnawiają” powinny zakończyć się niepowodzeniem, gdy dodamy wystarczającą weryfikację z jego poziomu. Dlatego też nie widujemy już tak wielu luk, a większość oszustów ucieka się do automatyzacji danych wejściowych lub, bardziej potocznie mówiąc, „skryptowania”.

Twórcy skryptów tworzą platformy, które są zasadniczo otoczkami dla klienta LoL. Ponownie przesyłają one grę w postaci strumienia zdarzeń i umożliwiają użytkownikowi końcowemu tworzenie (lub, co bardziej prawdopodobne, kopiowanie i wklejanie) wybranych „skryptów”, które automatyzują określone zachowania w odpowiedzi na te zdarzenia. Efektem końcowym jest zwykle perfekcyjne utrzymywanie wroga na dystans przez Zeri — w tempie, w którym wygląda, jak gdyby wypiła o jedno espresso za dużo — lub natchniona przez boga Cassiopeia, która dzięki mocy modlitwy stała się nietykalna dla jakiejkolwiek umiejętności mierzonej. Gra przeciwko oszustom nie jest przyjemna — a co gorsza, gdy już się wie, że skrypty są dostępne, trudno nie podejrzewać innych graczy o ich używanie.

Nieugiętość skrypterów

Naszym pierwszym problemem jest to, że oszukiwanie uzależnia, a skrypterzy są nieugięci. LoL to darmowa gra i jeden ban nigdy nie wystarcza. Systematyczne zawieszenia sprawiły, że rynek wtórny kont się rozwinął, a progiem powrotu do gry jest jedynie koszt zakupu świeżutkiego profilu 30 poziomu — który w chwili pisania tego artykułu kosztuje tyle, co hamburger z frytkami w sieciówce. Ten rodzaj strategii cenowej opartej na przewadze ilości nad jakością jest możliwy, ponieważ — zgadliście — same wysokopoziomowe konta wbijane są za pomocą aplikacji skryptowych, co skutkuje pętlą, która pozwala oszustom działać przeciwko nam w nieskończoność.

League_Ranked_Games_with_a_Cheater_PL.jpg
Badanie całkowitego braku chęci przeciętnego skryptera do bycia lepszym graczem najłatwiej zwizualizować w przestarzałym medium znanym dzisiejszym historykom jako „wykres liniowy”, który na powyższym obrazku przedstawia procent rozegranych gier w LoL z co najmniej jednym oszustem lub botterem. Jak zawsze przedstawiłem liczbę zbanowanych kont oszustów na drugiej osi y, abyście mogli zobaczyć ich ilość i poczuć ich ból.

W 2023 roku urocze urwisy z naszego zespołu przeciwdziałania oszustwom bez rozgłosu wykrywały oszustwa w kliencie LoL, pokazując prawdziwą skalę epidemii skryptowania. Takie zuchwałe pułapki, zwane też „honeypots” lub „spicy values”, można zastosować tylko raz, ponieważ reakcją na każdy ban wydany z ich użyciem będzie wzmożenie analityczne w społeczności oszustów, skutkujące natychmiastowym ich ujawnieniem. Nie mamy zbyt wielu asów w rękawie, a taki podstęp można spalić równie łatwo jak chrust polany mazutem. Jednak teraz mamy dostęp do największej broni, jaką dysponuje ludzkość: statystyk.

W ciągu ostatnich miesięcy w aż 1 na 15 gier na całym świecie brał udział skrypter lub botter, a w niektórych regionach stosunek ten sięgał nawet 1 do 5.  Oszukiwanie naprawdę nie ma regionalnej specyfiki. Zdarza się tam, gdzie najłatwiej jest oszukiwać.  W krajach wschodu odnotowujemy większy odsetek skryptowania, ponieważ przenikają do nich „nadwyżki” oszustw z Chin i Korei, jako że w obu tych regionach stosowane są specyficzne zabezpieczenia przeciwko oszukiwaniu, a co ważniejsze wymogi dotyczące identyfikacji tożsamości nałożone przez lokalne władze.

Oszukiwanie jest opłacalne tylko wtedy, gdy można dzięki niemu coś zyskać, więc te próby są tak naprawdę oznaką sukcesu naszego środowiska rywalizacji. To jednak zdecydowanie za dużo jak na grę z niemal olimpijskimi ambicjami i jeśli chcemy, by zwycięstwa coś znaczyły, musimy chronić ich rzetelność.

Skuteczność skrypterów

Drugim problemem jest to, że skryptowanie jest dość skuteczne i trzeba przyznać, że skrypterzy całkiem nieźle radzą sobie z graniem bez użycia rąk (o ile można w ogóle chwalić za coś takiego). Przy optymalnym pilotażu współczynnik wygranych w przypadku skrypterów oscyluje wokół 80% w grach rankingowych, nieustannie napędzając zainteresowanie ich usługami.

Ranked_Games_with_a_Scripter_by_Tier_PL.jpg
Wraz ze wzrostem liczby skryptów zaczynamy ponownie obserwować rozwarstwienie ich rozkładu pomiędzy poszczególnymi kręgami, z tendencją do przewagi na wyższych rangach. Ważne jest dla mnie również to, abyście wiedzieli, że podczas tworzenia powyższego arcydzieła osobiście przeanalizowałem i uśredniłem kolorystykę herbów poszczególnych rang. Zajęło mi to ponad godzinę i oczy nie chcą mi przestać łzawić.

Polifoniczna tęcza, którą właśnie podziwiacie, to odsetek gier rankingowych ukończonych z oszustem, podzielony według „kręgu”, na którym znajdował się skrypter pod koniec meczu. Zgadza się, dobrze widzicie, ponad 10% gier na poziomie Mistrza i powyżej była rozgrywana z udziałem co najmniej jednego oszusta. Nawet w meczach Pretendentów, które regularnie poddajemy ręcznej kontroli, pojawiła się znaczna liczba oszustów. Statystycznie jest to coś, co analitycy mogliby określić mianem „złej linii” i naprawdę nie jesteśmy zachwyceni tym trendem.

Co gorsza, nie możemy go dalej obserwować, bo obecny system przeciwdziałania oszustwom został pokonany.

Packman (to nie literówka)

Ze wszystkich powodów, do których zaraz przejdziemy, nie chcieliśmy naciskać przycisku Vanguard, dopóki nie było to absolutnie konieczne. Dotychczas League radziła sobie (przez prawie sześć lat) dzięki zabezpieczeniom o nazwie „Packman”. Jednak ze względu na nieubłaganą lawinę oszustw i banów, branża technologii przeciwdziałających oszustwom rozwija się z prędkością światła. Po uwzględnieniu hiperbarycznej dylatacji czasu wynikowy bistromat wskazuje, że Packman jest przestarzały o około 250 milionów „lat oszustw”, przekraczając granicę premezozoiczną.

Głównym zadaniem Packmana jest utrudnienie analizy kodu źródłowego gry, co obejmuje „ukrywanie” zabezpieczeń przed oszustwami, które zostały dołączone do klienta. Problem polega na tym, że dobieranie się do „odciemnionych” plików źródłowych gry i omijanie kontroli zapobiegających oszustwom jest obecnie banalne, a w dodatku stało się jeszcze łatwiejsze dzięki włamaniu, które miało miejsce na początku ubiegłego roku. Służba Packmana nigdy nie miała trwać tak długo, a jego ulepszanie stało się zbyt kosztowne.

League_Suspensions_by_Type_PL.jpg
Według działu wydawniczego użycie skali logarytmicznej na osi y jest najwyraźniej zbrodnią gorszą od uprawiania czarów, więc aby ułatwić porównanie, usunąłem wykrycia typu „honeypot” z powyższego wykresu. Pozostały tylko bany nałożone lub zweryfikowane w starym systemie Packman.

Wykres ten próbuje wizualizować nasze emocjonalne zawirowania, choć ich prawdziwej intensywności nigdy nie da się uchwycić w dwuwymiarowej formie. Na wykresie znajdują się bany za skrypty w LoL w ujęciu tygodniowym, podzielone na te wydane po wykryciu przez Packmana (niebieskie) i te, które zostały nałożone „ręcznie” (po weryfikacji przez pracownika ds. przeciwdziałania oszustwom). W miarę jak skuteczność Packmana spada, nie jesteśmy w stanie nadążyć za „popytem” na nasze usługi generowanym przez skrypty, a nieskończona liczba rąk kontrolująca nieskończoną liczbę skrypterów nie jest sensowną opcją ze strategicznego punktu widzenia. Więc jeśli nasza gra ma pozostać uczciwa, musimy zrobić krok naprzód.

Wejście Vanguard

Podobnie jak większość programów zapobiegających oszustwom Vanguard składa się z warstwy zapobiegawczej i wykrywczej. Staramy się blokować możliwie jak najwięcej metod oszukiwania, ale w obszarach luk, w których „zapobieganie” oszustwom lokalnie (i w widoczny sposób) zbyt łatwo pozwoliłoby na kontrolowanie naszego nośnika, „wykrywamy” włamania pasywnie i podejmujemy działania z pewnym opóźnieniem. Ukrycie najczarniejszej magii wykrywania za zasłoną serwera daje nam możliwość zatajenia naszych metod poprzez zacieranie sygnałów do dewelopera za pomocą pozornie przypadkowych banów. Ten skomplikowany proces nazywany też bywa „grą w kotka i myszkę” i jest to absurdalny walc, do którego codziennie na całym świecie przystępują wszyscy deweloperzy zajmujący się zwalczaniem oszustw.

Najlepsza walka z oszukiwaniem to jak najszybsza walka z oszukiwaniem

Dzięki odłączeniu Vanguarda od klienta gry i przeniesieniu jego większej części na serwer możemy przeprowadzać różne „kontrole” u wzbudzających nasze podejrzenia graczy, przez co wykrywanie naruszeń jest znacznie bardziej ukierunkowane i dużo szybsze.

Time_to_Action_League_&_VALORANT_PL.jpg
„Czas reakcji” (Time-to-action) pokazywany na powyższym wykresie odnosi się do liczby gier, które oszust jest w stanie ukończyć, zanim jego konto wyląduje w wymiarze między światami. Z wielu powodów jest daleki od perfekcji, ale i tak jestem jednym z nielicznych szczęśliwców, którzy mieli okazję bezpośrednio porównać oprogramowanie przeciwko oszustwom działające w trybie użytkownika i w trybie jądra.

Aby to zademonstrować, przedstawiam wykres „czasu reakcji” w obu grach, który jednak nie jest do końca uczciwym porównaniem. Oszukiwanie jest o wiele, wiele bardziej wyrafinowane w strzelankach z perspektywy pierwszej osoby, więc League od początku była faworytem do zwycięstwa w tym wyścigu — nawet pomimo krótszych meczów. Jednak ze względu na aerodynamiczną konstrukcję Vanguarda (i szybkość, z jaką można go adaptować), unikanie wykrycia stało się tak uciążliwe, że większość oszustów przestała się tym przejmować. Zamiast tego szaleją przez kilka gier i zostają zbanowani, tak jak natura chciała.

Bezpieczeństwo środowiska

Cechą wyróżniającą Vanguarda na tle innych rozwiązań zapobiegających oszustwom jest egzekwowanie standardów bezpieczeństwa nawet poza granicą klienta gry — wewnątrz samego systemu operacyjnego. Niektóre z tych wymagań nie są całkowicie pozbawione wad, ale stwarzają wiele przeszkód dla tych, którzy chcą skutecznie rozpowszechniać oszustwa. Z tego powodu nieustannie musimy dokonywać kompromisów między bezpieczeństwem gry a łatwością, z jaką gracze mogą uzyskać do niej dostęp.

TPM 2.0

Oprogramowanie Vanguard w LoL wymaga modułu TPM 2.0 i choć Microsoft pierwotnie zamierzał wprowadzić go dla wszystkich nowych instalacji systemu Windows 11, to faktyczna implementacja tego rozwiązania była stosunkowo słaba i łatwa do obejścia. Skorzystaliśmy z ich pierwotnej sugestii i postanowiliśmy sami ją wyegzekwować. W rezultacie nieliczni użytkownicy systemu Windows 11 mogą mieć problemy z graniem w League, zwłaszcza jeśli dokonali modyfikacji kluczy rejestru w celu ominięcia tego wymogu.


TPM to skrót od „Trusted Platform Module” i wymagamy go z dwóch powodów. Po pierwsze dlatego, że zwiększa bezpieczeństwo uwierzytelniania podpisów certyfikatów (czegoś, na czym polegamy, aby wiedzieć, czy innemu oprogramowaniu można zaufać), a po drugie (i ważniejsze) dlatego, że działa jako wyjątkowo niezawodna forma identyfikatora sprzętu. Jeśli funkcja ta jest włączona i działa w odpowiedni sposób, możemy założyć, że jej użytkownik nie zamierza oszukiwać, bo gdyby tak było, moglibyśmy z łatwością raz na zawsze wykluczyć jego maszynę z naszego świata.

Aby uzyskać więcej informacji na temat włączania modułu TPM, zapoznajcie się z tym przydatnym artykułem pomocy technicznej.


Sterownik

Sterowniki zapobiegające oszustwom nie są nowe i to nie my je wymyśliliśmy. Celem działania naszego sterownika nie jest zbieranie informacji — i tak widzimy wszystko, co jest nam potrzebne, w trybie gracza. Podstawowym celem działania Vanguard jest potwierdzenie, że gra w danym momencie działa w środowisku, któremu można zaufać. Redukuje to liczbę wykrywanych przypadków do sprawdzenia, ilość gromadzonych przez nas danych i, co najważniejsze, łatwość dostępu do gry wszelkim potencjalnym oszustom.

Chcemy położyć tak duży nacisk na „prewencyjne” elementy naszego modelu, jak to tylko możliwe (i bezpieczne). System Windows jest mało odporny na naruszenia bezpieczeństwa i obecne w środowisku zagrożenia wymagają od nas dodatkowej weryfikacji jego zabezpieczeń. Musimy mieć zaufanie do tego, o czym informuje nas system operacyjny na temat procesów VALORANT, bo w innym przypadku oszuści mogliby dokonywać naruszeń, obchodzić nasze weryfikacje i w żywe oczy wpierać nam, że wszystko jest w porządku.

VALORANT_Games_Detected_vs_Actions_Taken_PL.jpg
„Sprzętowe” oznacza, że konto zostało natychmiast rozpoznane jako recydywa, „ręczne” oznacza konto, które wymagało weryfikacji przez pracownika, zanim zostało zawieszone, a „wykrycie” mówi samo za siebie — to ban nałożony w wyniku wykrycia ewidentnych dowodów oszustwa. Oznaczenie kolorami odnosi się do „szybkości” i przypadki „ręczne” wciąż należą do najgorszych pod tym względem.

Cieszymy się, że w efekcie naszych starań wykres pokazujący procentowy udział gier z oszustem w VALORANT pięknie reaguje na zaserwowane przez Vanguard rozwiązania. Nawet jeśli gdzieś się rozmijamy, identyfikatory sprzętu i wymagań sprzętowych Vanguard pomagają nam utrzymać gardę. Niestety widać też jak na dłoni, czego obecnie brakuje w League of Legends. Obecne systemy wykrywania oszustw w LoL nie mają składników poświadczających ani środowiskowych — mamy tu tylko „wykrycie” lub „ręcznie”.

Ze względu na presję testów bezpieczeństwa hosta Vanguard podnosi koszty wielokrotnego oszukiwania. Oczywiście oszust może wyprać swoje dyski twarde w zmywarce lub ręcznie zmapować kod w pamięci jądra (odradzam, ale oczywiście możecie spróbować), ale efekt jest taki, że oszuści tracą w ten sposób czas i pieniądze.

Dlaczego jest zawsze włączony?

Vanguard tak naprawdę nie jest „aktywny przez cały czas”. Sterownik jest ładowany podczas bootowania, ale żadna funkcja się do niego nie odwołuje ani nie ma on połączenia z siecią, dopóki nie uruchomicie którejś z gier Riot. Po prostu siedzi tam sobie (i się sroży), aby móc poświadczyć, że od chwili załadowania Windowsa do momentu uruchomienia gry nie zadziało się nic, co mogłoby ingerować w prawidłowe funkcjonowanie systemu operacyjnego.

Gdy uruchamiacie League, klient Vanguard kontaktuje się ze sterownikiem, aby potwierdzić, że wszystko jest na 100% OK, a jeśli tak rzeczywiście jest, uzyskujecie dostęp do ważnej sesji zabezpieczonej przed oszustwami i możecie łączyć się z serwerem. Instrukcje z klienta zaczynają następnie aktywować funkcje sterownika, aby obserwować procesy, które mogłyby kolidować z potwierdzonym procesem League i im zapobiegać. Możecie zawsze wyłączyć sterownik, jeśli będziecie mieli takie życzenie — będziecie tylko musieli na nowo się zabootować, aby ponownie autoryzować rzetelność łańcucha zaufania, zanim wskoczycie do gry.

LoL x Vanguard

Gdy Vanguard zostanie wprowadzony do League, odnotujemy drastyczny spadek liczby oszustów, ale zabawa się na tym nie kończy.

Dzięki podwyższonej prewencji VM podnosimy koszty używania botów i tworzymy znaczące utrudnienia dla recydywistów. Źródełka dostaw botów do podbijania kont wyschną i omijanie bana konta nie będzie się już sprowadzało do „kupię sobie inne z 30 poziomem”. Dzięki wyposażaniu komputerów w „linie papilarne” Vanguard zapewnia nam też nową możliwość „wbijania kłów” w podbijanie, smerfowanie i sprzeniewierzanie kont. Będziemy mogli odbierać nagrody, na które podbijający nie zasługują, szybciej sprowadzać smerfy na właściwe im kręgi, a być może nawet unieważniać działające nie fair umówione grupy.

Zwiększone bezpieczeństwo klienta i mniej skryptowania oznacza, że zespół League będzie mógł tworzyć projekty z lepszą mechaniką np. używając kombinacji, okien czasowych i uruchomień. Statystyki nie będą tak zniekształcone przez skrypterów, co ułatwi wyważanie bohaterów o wysokim współczynniku nagrody do ryzyka, a gry zepsute przez oszustów będą wymazywane wraz ze zwrotem LP poszkodowanym graczom.

Wiem, że trudno jest zachwycać się nowymi zabezpieczeniami, ale na szczęście w tym przypadku jest to jedyna i największa trudność. Od tej chwili powinno być już tylko lepiej.

Do następnego razu

W zespole Vanguard pracuje obecnie prawie trzydzieści osób. To niemal o 1000% więcej niż ścisła trójka, z którą zaczynaliśmy w 2014 roku. Wszystko robiliśmy sami, poczynając od schematów gromadzenia danych po rozpoznawanie oszustw, a członkowie zespołu włożyli wszystkie swoje umiejętności w opracowanie najbardziej uczciwego środowiska gry, jakie tylko można stworzyć. Niektóre z naszych sukcesów opierają się na innowacjach technologicznych, ale w dużo większym stopniu wynikają one z solidnej, ciężkiej pracy. Oszuści zawsze próbują nas przechytrzyć, ale dzięki wsparciu graczy udaje się nam zachować czujność.

Dzięki za przeczytanie, dzięki za granie i dzięki za pomaganie kilku głupkowatym byłym oszustom w znalezieniu szczytnego celu.

F.A.Q.

Witajcie ponownie. Poniższe pytania być może są dość luźno powiązane z tematem, ale zamieściliśmy je poniżej dla żądnych wiedzy czytelników — głównie po to, aby mogli zaspokoić swój głód, konsumując wszystko, czym możemy się podzielić. Ostrzegam, że mój przecudowny redaktor wyraźnie zignorował tę część, mówiąc „kopiesz sobie grób”, więc jeśli przesuniecie oczy na wiersze poniżej, narażacie się na obcowanie z nieodfiltrowanym szaleństwem. Więcej ostrzeżeń nie będzie.

P: Czy Vanguard nie jest programem typu spyware?

Nie, ale z pewnością zlepek słów „Vanguard Spyware” z matematycznego punktu widzenia jest najszybszym sposobem na podbicie popularności komentarza. Wszelkie algorytmy monitorowania zawartości są programowo uzależnione od klikalności, jaką mogą wygenerować słowa „spyware” lub „rootkit”, a matematyczna pogoń za kolejnym znaleziskiem odciąga je od rzetelnego dziennikarstwa w stronę tworzenia jakiegoś pandemonium fałszu o wyjątkowej nieprzydatności.

Każdy region musi stosować własne specyficzne zasady i uwzględniać obowiązujące wymogi ustawowe. Na przykład Tencent posiada własne systemy zapobiegania oszustwom dla gier udostępnianych w swoim regionie (w tym dla gier Riot, których jest wydawcą w regionie CN) i chociaż dzielimy się informacjami na temat demaskowanych oszustw, aby odpowiednie zespoły mogły je wykrywać, nie czujemy potrzeby dzielenia się niczym innym. Spotkaliśmy się z zespołem ds. walki z oszukiwaniem Tencentu w sumie może ze trzy razy w ciągu dekady i jedyne, czym się wymieniliśmy, to piąteczki i liczba nałożonych banów (wygrali w obu kategoriach). Nie udostępniamy Vanguard ani jego kodu, a dane związane z walką z oszukiwaniem nigdy nie opuściły magazynu Riot.

P: Po co w ogóle walczyć z oszukiwaniem?

Mam nadzieję, że ten artykuł zrobił chociaż małą ryskę na poliwęglanowej ścianie niezrozumienia, na jakie wskazuje to pytanie. Ale możemy sobie trochę pofilozofować: doskonalenie się w League jest jak nauka gry na instrumencie i uzyskiwanie lepszych wyników wymaga długiej, solidnej praktyki. Ja osobiście akurat nie mam takich doświadczeń (po 15 latach gry nigdy nawet o pół paznokcia nie wyszedłem poza platynę), ale chodzi o to, że jest taka możliwość. Jedynymi rzeczami, z którymi powinniście się zmagać, są wasz mózg, kabel Ethernet i podświetlone urządzenie peryferyjne.

Trening jest czasochłonny, a chodzenie na skróty nie. Może zamiast się doskonalić, lepiej zapłacić komuś, żeby wciskał za was klawisze? Albo zaprogramować swój toster, żeby wciskał klawisze i grał zamiast was? A może zamiast grać, lepiej po prostu kupić trofeum z napisem „Najlepszy”? Takie rzeczy burzą merytokrację, zmniejszają satysfakcję i eliminują wszelkie motywy, które mobilizują do udziału w rywalizacji. Chcemy, aby na zwycięstwo trzeba było sobie zapracować, i chcemy, żeby dawało satysfakcję, gdy już się je osiągnie.

P: A co z Linuxem?

Nigdy oficjalnie nie wspieraliśmy używania gry w środowisku linuxowym i prawdą jest, że obecna implementacja League na Lutris (wykorzystująca Wine) nie będzie w stanie sprostać wymaganiom sterownika Vanguard. Linux nie daje nam obecnie satysfakcjonującej możliwości uwierzytelnienia stanu bootowania, czy modułów jądra, a trudności związane z ich uzyskaniem dodatkowo pogłębiają wszystkie frustrujące różnice związane z dystrybucją. Nawet dopuszczenie emulacji jest bardzo niebezpieczną grą, ponieważ wiele sposobów oszukiwania może działać na hoście, manipulując lub analizując VM w sposób, który byłby niewidoczny dla znajdującego się tam Vanguard.

Walka z oszukiwaniem w 50% składa się z zabezpieczenia środowiska przed naruszeniami, a w przypadku Linuxa jest to niezwykle utrudnione przez samą jego naturę.  Wszelkie furtki, które pozostawimy uchylone dla Linuxa, natychmiast zostaną wykorzystane do oszukiwania, a wczoraj w League grało jedynie 800 użytkowników Linuxa. Oceniliśmy ryzyko i stwierdziliśmy, że zagrożenia są większe niż potencjalne korzyści.

P: A może lepiej ładnie poprosić, żeby ludzie nie oszukiwali?

Kiedyś dopuściliśmy, żeby oszuści wysyłali napisane ręcznie przeprosiny w celu zdjęcia bana. Część obiecała przestać, wielu kupiło przeprosiny napisane przez młodziaków z Fiverra, a i tak 91% z odbanowanych kont w ciągu kolejnych 6 miesięcy dostało ponownie bana za skrypty. Z tym wrogiem nie da się negocjować, a naszą najlepszą obroną jest udaremnianie podejmowanych przez oszustów prób do czasu, aż rozwiną w sobie empatię.

P: Podobno Vanguard może rozwalić klawiaturę?

Po wypuszczeniu (w 2020) Vanguarda ustaliliśmy, że będzie wykorzystywał swoje umiejscowienie podczas bootowania, aby zapobiegać pełnemu ładowaniu się sterowników, o których wiadomo, że są autentyczne, ale podatne na naruszenia. Chodziło o to, żeby oszuści nie mogli wczytać (lub wykorzystać do tego zmodyfikowanych usług) własnych sterowników i w efekcie ominąć Vanguarda. Niestety podczas sprawdzania kompatybilności (i testów alfa) nie dopatrzyliśmy się, że istnieją niezwykle specyficzne konfiguracje sprzętowe wykorzystujące odpowiednio uszkodzone sterowniki jądra do przekazywania instrukcji dla relatywnie mało znanych urządzeń.

W jednym niesławnym przypadku obejmowało to sterownik, który był odpowiedzialny za podświetlenie klawiatury. Niestety oszustom udało się wykorzystać ten skądinąd prawidłowo podpisany sterownik do ładowania swojego złośliwego oprogramowania, które „wyglądało” na czystą instalację Windows (z włączoną weryfikacją certyfikatów), ale dokonywało oszustw na poziomie jądra. Ponieważ ten sterownik był odpowiedzialny tylko za podświetlenie klawiatury i makra, zostawiliśmy go na liście wykluczonych, dopóki deweloperzy nie wypuścili nowego, i w efekcie zyskaliśmy łatkę przeciwników podświetlonych klawiatur — trzeba przyznać, że jest w tym ziarno prawdy (bo preferujemy ciemność).

P: A co z przypadkami fałszywie dodatnimi?

Gracze zgłaszający „błędne bany” należą do jednej z siedmiu poniższych kategorii, wymienionych według prawdopodobieństwa:

  1. Przedstawiają zmyśloną historyjkę.

  2. Przetestowali kod na smerfie, zatruwając swojego głównego przez łączenie sprzętu (znane wewnętrznie jako „ojejku”).

  3. Udostępnili swoje konto komuś, kto oszukiwał, zazwyczaj płatnemu podbijaczowi lub krewnemu.

  4. Wielokrotnie stali w kolejce z podbijaczem, który oszukiwał i oberwał 180-dniowym banem za swoje starania.

  5. Ich konto zostało skradzione przez seryjnego hakera, który użył go do pastwienia się nad innymi graczami przez dokładnie 6 gier.

  6. Używali oprogramowania służącego do oszukiwania w innej grze, a Vanguard je wykrył.

  7. Mieli zainstalowane złośliwe oprogramowanie, które wykonuje takie same czynności jak kody.

W przypadkach naruszenia konta staramy się obłożyć je ochronnym zawieszeniem, mimo iż nie zawsze jesteśmy w stanie zareagować odpowiednio szybko. Czasami szkody są procentowo zbyt wielkie względem czasu, przez jaki dane konto było wykorzystywane do gry, i zbyt trudnym staje się zidentyfikowanie jakiegokolwiek „prawdziwego” właściciela. Przy oszukiwaniu na poziomie sprzętowym nie zawsze jesteśmy w stanie określić, w której grze zamierzaliście oszukiwać, więc serdecznie odradzamy oszukiwanie w jakiejkolwiek grze. W prawdziwych przypadkach fałszywie dodatnich (zazwyczaj spowodowanych złośliwym oprogramowaniem) po analizach całkowicie „cofamy” zasadę, która do nich doprowadziła, anulując wszystkie bany, które wynikły z użycia złego zasobu. To zdarza się nieczęsto, a już wybitnie rzadko takie zawieszenia trwają więcej niż kilka dni.


Aby złożyć wniosek o weryfikację zawieszenia, musicie wysłać zgłoszenie, a jeśli nie otrzymacie oczekiwanej odpowiedzi, oznacza to, że konto zostało zaliczone do jednej z 6 ww. kategorii. 

P: Dlaczego po prostu nie pozwać twórców kodów?

Oczywiście, że to robimy, kiedy zachodzi taka potrzeba — i naszemu zespołowi prawnemu nie brakuje zapału do obrony doświadczeń oferowanych przez Riot. Ale po wprowadzeniu Vanguard niewielu twórców kodów było wystarczająco wytrwałych, by sobie na to zapracować. Wielu nie próbuje nawet go obchodzić — a ci, którzy to robią, zazwyczaj poddają się po nieśmiałym odparciu jednej lub dwóch salw systemu anti-cheat. Nieustające exit-scamy trochę nas też wyręczają, rozsiewając nieufność w społeczności oszustów i zmniejszając prawdopodobieństwo, że więksi „dystrybutorzy” staną się problemem. Przy prawidłowym podejściu do zapobiegania oszustwom, rzadko zdarza się, by jeden sprzedawca rozwinął interes na tyle duży, by usprawiedliwiał on pozew. Większość naszych wysiłków prawnych jest obecnie skierowana przeciwko reklamom lub złośliwemu oprogramowaniu podszywającemu się pod aimboty.

P: Czemu by nie stworzyć trybu gry dla oszustów??

„Wyspa Oszustów” brzmi bardzo zabawnie, ale postanowiliśmy jednak po prostu poświęcić cały czas naszych inżynierów na zapobieganie oszustwom. Nie mamy kieszeni bez dna, a marnowanie zasobów na funkcje gry istniejące wyłącznie po to, by torturować już złapanych oszustów odjęłoby „anti-” z „anti-cheat”. Gdyby jednak nasz budżet zwiększył się pięciokrotnie, to byłbym pierwszym nawołującym do karania oszustów szlabanem. Zaprosiłbym waszych rodziców na konferencję graczy i deweloperów. Co tam bany sprzętowe, lepiej martwcie się, kto z was nie pójdzie na studniówkę. Skargi proszę kierować do miejscowego radnego.

P: A co z OSX?

Na razie nie ma zbyt dużo narzędzi pozwalających tworzyć skrypty na OSX, ale „zapotrzebowanie” rośnie. Na razie nie będzie Vanguard na Macach, ale mamy przygotowanych kilka kul w komorze, bo wiemy, że oszuści w końcu pojawią się i tutaj. Wyjaśniano mi już kiedyś, że komora może pomieścić tylko jeden nabój. Odrzuciłem tę hipotezę w oparciu o ulepszoną przepustowość. Dlaczego nie mielibyśmy wystrzelić dwóch kul na raz? To podwójne obrażenia przy tej samej liczbie przeładowań. Pobudka, rusznikarze.

P: Czy Vanguard zakłóca działanie zewnętrznych narzędzi?

Deweloperom, którzy nie korzystają z oficjalnych interfejsów programowania aplikacji (API) (artykuł w języku angielskim), trudno będzie wyciągać informacje prosto z pamięci klienta — głównie dlatego, że jest to dokładnie to, co robi się przy oszustwach. Jedną z głównych obaw dotyczących wpisywania na listy dostępu konkretnych narzędzi jest to, że odpowiadamy za ich bezpieczeństwo, w czasie gdy oszuści próbują je wykorzystać, więc zdecydowanie wolimy, by wszyscy po prostu używali API.  Jeśli narzędzia zdecydują się odczytać pamięć klienta, nie możemy zagwarantować, że nie dojdzie do ich awarii.  Możemy za to obiecać, że będziemy celowo je psuć tak często, jak to tylko możliwe.

P: Czemu by nie skorzystać z systemu anti-cheat opartego na AI?

Używamy modelowania maszynowego, by przewidzieć prawdopodobieństwo oszukiwania przez gracza, ale korzystanie wyłącznie z danych otrzymywanych przez serwer gry nie daje nam obecnie szczegółowości potrzebnej do wykrycia „informacyjnych” oszustw, które nie modyfikują sygnałów wejścia gracza — ESP, wycieków mgły wojny oraz haków radaru, które są prawie niewykrywalne. VALORANT i LoL mocno opierają się na sztuce zbierania i zacierania informacji, więc temu podobne oszustwa są bardzo szkodliwe, co ostatecznie i tak sprawia, że tradycyjne systemy anti-cheat stają się konieczne.

Nawet w przypadku wyłącznie aimbotów wycofanie nie jest takie świetne. Najlepsze modele mogą zidentyfikować tylko ok. 30–50% oszustw w samych sygnałach wejściowych gracza po stronie serwera. To jest niewystarczające w darmowej grze rywalizacyjnej, w której praktycznie nic nie blokuje drogi do powrotu. Co gorsza, twórcy aimbotów już teraz zaczęli oferować cechy „uczłowieczające”, by zapobiec zgłoszeniom przez graczy — i o ile są to wciąż niezdarne, pseudolosowe generatory szumu, to w pewnym momencie wybitnie przedsiębiorczy młodzi oszuści poświęcą weekend na trenowanie modelu, by „poruszał myszką jak prawdziwy chłopiec”. Szczerze mówiąc, nie zdziwiłbym się, widząc w przyszłych sześciu miesiącach dokładnie taki raport, zatytułowany pewnie „Operacja Geppetto”.

P: Czemu nie upublicznić kodu sterownika?

Anti-cheat jest iteratywną, niekończącą się bitwą. Wiele z testów prewencyjnych wykonywanych przez Vanguard, które służą potwierdzeniu integralności systemu, celowo działa w ukryciu, z wykorzystaniem najnowszym technik, a w niektórych przypadkach wyłącznie w oparciu o filary z piasku. Pełnymi garściami czerpiemy z chaosu, który ten system sieje wśród oszustów, i ujawnianie im naszych metod wykrywania wyczerpywałoby nasze zasoby szybciej, niż bylibyśmy w stanie wymyślać nowe. Otwarte oprogramowanie anti-cheat byłoby kompletnie bezużyteczne (prima aprilis 2021).

P: A jeśli mam problemy techniczne z Vanguardem?

Ostatnimi czasy Vanguard mocno cierpi z powodu stronniczości — większość bugów, które widzimy, naprawdę pochodzi z zewnętrznych źródeł, które trudno jest namierzyć. Ostatnio jednym z największych winowajców było rozprzestrzenienie się nielegalnego oprogramowania, które aktywuje opcję rejestru („DevOverrideEnable”) i umożliwia załadowanie „różnych” wersji kluczowych plików Windows do wszystkich aktywnych procesów. Nie jesteśmy w stanie konkretnie określić, jakie intencje stoją za czymś takim (porozumiewawcze mrugnięcie), ale możemy spokojnie stwierdzić, że Vanguard nie lubi, gdy uszkodzone pliki Windows ładowane są do VALORANT — wielu z nich my sami używamy do sprawdzania zabezpieczeń. Zalecamy też ostrożność w kwestii wyłączania Windows Defendera, ponieważ zajmuje się tym, na co wskazuje jego nazwa (defensywą Windowsa).

Tak, czy siak, problemy mogą się pojawiać i prosimy o ich zgłaszanie. Pomożemy.

P: Skoro Vanguard jest tak dobry, to dlaczego wciąż widzę oszustwa w VALORANT?

Zacznijmy od tego, że nie podejmujemy natychmiastowej akcji przeciwko każdemu kontu lub każdej próbie oszustwa. Każdy ban jest dla autora oszustwa sygnałem, że jego podstęp został wykryty i w związku z tym wymaga „aktualizacji”. Aby spowolnić postęp naszego „wyścigu zbrojeń”, musimy odsuwać banowanie w czasie na podstawie poziomu skomplikowania i widoczności odpowiednio oszustwa i oszusta.

Ale pamiętajmy, że oszuści zawsze będą oszukiwać. Naprawdę rozciągnęliśmy nasze bariery ochronne najszerzej, jak się tylko da, nie ryzykując konfliktu z istniejącymi ustawieniami i szkodzenia uczciwym graczom. Wykryjemy ich stosunkowo szybko, ale wcześniej mogą zdążyć zrobić nagranie i wrzucić je wielokrotnie na TikToka, aby uzyskać rekord klikania reklamy złośliwego oprogramowania. To, że gdzieś jest napisane „na żywo”, nie oznacza jeszcze, że oglądacie transmisję w czasie rzeczywistym. Nie ściągajcie śmieci.

P: Czy Vanguard jakoś przeciwdziała atakom DDOS?

Mamy (ogółem) trzy rodzaje drophacków: (1) DDOS — powtarzane ataki biorące na cel serwer, (2) DDOS UDP — przeciążanie biorące na cel innych użytkowników oraz (3) zniekształcone pakiety serwera. W żadnej wersji takie ataki nie świadczą o inteligencji ani nikomu nie imponują. Vanguard jest programem anti-cheat od strony klienta, więc wykrywa narzędzia potrzebne do ukrywania danych obciążenia ruchem klienta oraz zapobiega hakom wycelowanym w naszą obsługę pakietów używaną zwykle dla zapobiegania oszustwom. W przypadku ataków DDOS, które biorą na cel użytkowników w domu, Vanguard nie może wiele zaoferować — lokalne oprogramowanie nie może zapobiec przeciążeniu elementów sieci.

P: Może wystarczyoby wprowadzić Vanguarda tylko w Wietnamie?

Wtedy wszyscy skrypterzy przenieśliby się na Filipiny.

P: To może wystarczyoby wprowadzić Vanguarda tylko w Wietnamie i na Filipinach?

Wtedy przenieśliby się do Singapuru.

P: To może tylko w Wietnamie, na Filipinach i w Singapurze?

Oszukiwanie nie jest powiązane z żadnym regionem. Większość naszych serwerów nie korzysta z geofencingu, a nawet gdyby korzystały, zawsze można skorzystać z wyszukiwarki Google′a.  Dla oszustów granice nie istnieją. Macie mój niesłąbnący podziw za udział w tym eksperymencie myślowym.

P: A jeśli Vanguard mi osobiście nie pasuje?

Rozumiemy to i w 100% szanujemy tę decyzję. Mamy nadzieję, że pewnego pięknego i niedalekiego dnia platformy, na których działają nasze gry, zaoferują deweloperom zabezpieczenia pozwalające zapobiegać oszustwom bez konieczności używania dodatkowego oprogramowania. Jeśli macie jednak problem tylko z polityką prywatności Riotu, to wiedzcie, że włączenie klienta gry niczym nie różni się od włączenia Vanguarda. Zawsze możemy uzyskać dane z trybu użytkownika, ale wszyscy jesteśmy inżynierami z tego samego studia i mamy te same cele — zbieranie waszych prywatnych danych do nich nie należy. Jeśli Riot nie zapracował sobie na wasze zaufanie, to nie uruchamiajcie jego programów.

P: Jakie prywatne dane zbiera Vanguard?

Riot zbiera tylko te dane, których potrzebujemy do działania i zabezpieczania naszych gier. Więcej danych to dla nas większe ryzyko, więc nie chcemy mieć niczego poza niezbędnym minimum potrzebnym nam do pracy. Vanguard ma lokalnie haki systemowe służące do obsługi swoich zabezpieczeń, ale nie używamy ich do wysyłania plików lub dokumentów.Tak jak większość systemów anti-cheat i przeciwdziałających złośliwemu oprogramowaniu, korzystamy z techniki zwanej „skanowaniem sygnatur”, by ustalić, czy seria bajtów w pamięci zgadza się ze znaną aplikacją do oszukiwania. Wyniki tych testów to tylko prawda lub fałsz (czy były obecne czy nie) i staramy się korzystać z tego wzorca przy innych testach. Zapytania takie jak „czy korzystacie z urządzenia DMA” lub „czy aplikacja właśnie próbowała złożyć sygnał wejścia w grze” odsyłają zazwyczaj odpowiedzi binarne (z tym, że to drugie zawiera nazwę procesu, który to zrobił).

W przypadku innych odkryć potrzebujemy migawek, by je potem przeanalizować — i istnieją szanse, że te zawierać będą informacje personalne. Na przykład rejestrujemy ścieżkę pliku każdej biblioteki załadowanej do League i może ona zawierać nazwę użytkownika (jeśli pliki znajdują się w folderze użytkownika). Robimy takie rzeczy po to, aby po odkryciu oszustwa mieć szansę wykrycia oszustów, którzy z niego korzystali już wcześniej (a nie tylko tych korzystających z niego od momentu wykrycia). Dane tego typu są przechowywane tylko „na gorąco” przez 14 dniach i nigdy nie używamy ich do czegokolwiek poza wykrywaniem oszustw. Nie mogę opowiedzieć o każdej rzeczy, której przygląda się Vanguard, ponieważ oszuści wiedzieliby wtedy, gdzie najbardziej uważać. Do sukcesu potrzebna nam jest pewna aura tajemnicy, ale mam nadzieję, że udało mi się trochę wytłumaczyć nasze intencje względem zbieranych przez nas danych.

P: Jaki zwrot odsyła cię do wymiaru bólu?

Nie tym razem, Asmodeuszu.



  • Skopiowano do schowka

Powiązane artykuły
Powiązane artykuły