Wpis z mikrobloga

Grasz w gry? Pewno nieraz musiałeś grać z oszustami, którzy używając specjalnych programów próbują uzyskać przewagę w meczach. Ale jak się ich wykrywa? Skąd gra wie, że akurat ta osoba wykorzystuje nieuczciwe praktyki? #od0dopentestera

Dawniej serwery wysyłały do wszystkich graczy te same dane. Czyli każdy komputer biorący udział w danej rozgrywce posiadał informacje o tym gdzie są inni gracze i co robią. Gra po prostu nie wyświetlała tych informacji na ekranie, jeśli nie były spełnione pewne warunki. Robiło się to ze względów wydajnościowych.
Wykorzystywały to programy do "widzenia przez ściany". Tak wpadł jeden z graczy, który streamował swoją grę w Internecie. Na swoje nieszczęście nosił okulary. Dociekliwi widzowie zauważyli, że w odbiciu jego ekranu były widoczne elementy, których w normalnej grze nie ma.
Tworzenie systemów na oszustów to delikatny balans pomiędzy prywatnością użytkowników a wykrywalnością nowych programów. Dawno temu Blizzard wysyłał do siebie tytuły innych programów uruchomionych na komputerze użytkownika. Ale ten mechanizm spotkał się z dużą falą krytyki.
Obecnie programiści skupiają się zazwyczaj nad monitorowaniem procesu gry. Bo żeby gra wyświetlała nieco więcej informacji - to trzeba zmodyfikować jej kod. Można tworzyć sygnatury – czyli opis zmian, wprowadzanych przez producentów cheatów.
Twórcy gry PUBG w jednym z wywiadów powiedzieli, że ponad 100 osób nieustannie monitoruje Internet w poszukiwaniu nowych próbek plików. To ogromna skala. Gdzieś tam w biurze, codziennie pracownicy instalują nowe programy i patrzą jak one działają. W ten sposób mogą tworzyć sygnatury i wykrywać nowe wersje.
Co ciekawe blokada konta czyli BAN nie następuje zaraz po wykryciu przez system oszustwa. Dane konto zostaje odpowiednio oznaczone. Ale gracz nadal może grać przez kilka dni. Blokada pojawia się w losowym czasie co często powoduje spore zaskoczenie. Użytkownik nie wie co i kiedy konkretnie zostało wykryte. Czy to program A? A może B?
Niektóre gry mogą wyliczać unikalny identyfikator sprzętowy. Tworzy się go na podstawie komponentów, które masz w środku komputera - procesora czy dysku twardego. Dzięki takiemu identyfikatorowi da się wykryć nowe konto zbanowanego wcześniej gracza. I to nawet jeśli łączy się z innego adresu IP. Konto może i łączy się z innego adresu, może i jest założone na nowego maila. Ale identyfikator sprzętowy od razu pokazuje, że system już kiedyś tego gracza widział.
Wykorzystuje się też system reputacji. Każdy z graczy ma przydzielony wynik określający jak bardzo mu ufamy – czyli jak bardzo prawdopodobne jest, że nie oszukuje. Nowe konta mają niski ranking, starsze wyższy. Wraz z czasem wynik się zmienia. Zrobiłeś coś dziwnego? Wynik spada. Grasz coraz dłużej? Wynik rośnie. Ale po co te wartości? Przy dostatecznie dużej liczbie graczy możemy próbować grupować ze sobą zawodników o tej samej randze.
Masz zbanowane konto? Stworzyłeś nowe? OK, wykryliśmy to i na tej podstawie zmniejszyliśmy Twój wewnętrzny ranking. Pozwolimy Ci grać, ale tylko z innymi graczami, którzy robią dokładnie to samo co Ty. Tym samym oszuści grają z oszustami. I pewno się na nich denerwują.
Oszustwo można też wykryć na podstawie systemu powtórek. Zapisuje się niektóre ruchy gracza w kluczowych momentach gry. Potem algorytmy porównują je z wcześniej oznaczonymi przypadkami oszustw.
Czasami da się zaprojektować mechanizm tak aby był odporny na próby oszustwa. Przykład z gry RUST. Fortece użytkowników mogą być chronione przez drzwi, blokowane kodem. Do wnętrza może wejść inny użytkownik, który zna kod. Ale 4 cyfry to nie wiele. Niektórzy zaczęli więc testować wszystkie możliwe kombinacje i rabować majątki innych. Rozwiązanie? Każdy błędny kod powodował, że twoja postać była rażona prądem. Im więcej razy wpisałeś złe hasło - tym dotkliwsze były konsekwencje.

Więcej opowiadam w filmie: Jak gry wykrywają oszustów?

PS. Jeśli ten film Ci się spodobał - możesz go wykopać.

Interesujesz się bezpieczeństwem - sprawdź mój newsletter.

#gry #gruparatowaniapoziomu #technologia #ciekawostki #bezpieczenstwo #programowanie #informatyka #komputery #nauka
KacperSzurek - Grasz w gry? Pewno nieraz musiałeś grać z oszustami, którzy używając s...
  • 112
@KacperSzurek: widziałem jeszcze item ciekawy - dla mnie to była nowość - kupują kartę - wkładają ją do drugiego komputera - do pierwszego na którym grasz jest to podłączone - zbiera zrzut pamięci? czy czegoś takiego
przewala to na drugi komputer, analizuje i pokazuje - np pozycję graczy, w którą stronę są skierowani, jakie itemy są na planszy itp itd .. tak że mają co raz bardziej ciekawe sprzęty - ciężko
@KacperSzurek: ktoś opisał może psychikę osoby oszukującej w grach? sie zawsze zastanawiałem czy to wynika z bycia kiepskim czy jak?
ogólnie to irytują mnie takie osoby i fajnie by było, gdyby znalazł się działający sposób na każdego oszusta, bo jest różnica być oszukanym podczas rozgrywki przez gracza a byciem oszukanym przez jego sprzęt a nie grę
Bo żeby gra wyświetlała nieco więcej informacji - to trzeba zmodyfikować jej kod.


@KacperSzurek: nie trzeba, można bardzo łatwo czytać pamięć dowolnego procesu na maszynie używając oficjalnych API na przykład Windowsa czy Linuxa, a później domalować co się chce w overlayu.

Można też użyć tych niepublicznych API, poprzez napisanie swojego sterownika, co całkowicie pokonuje nieinwazyjne antyczity (naszego czita są w stanie wykryć tylko antyczity, które same działają jako Kernel driver)
Tworzenie systemów na oszustów to delikatny balans pomiędzy prywatnością użytkowników a wykrywalnością nowych programów.

Dawno temu Blizzard wysyłał do siebie tytuły innych programów uruchomionych na komputerze użytkownika. Ale ten mechanizm spotkał się z dużą falą krytyki.


@KacperSzurek:

Ale wciąż robią to serwisy pokerowe, w których możesz grać w Internecie na prawdziwe pieniądze, także na taką skalę że robisz to zawodowo, bo jesteś w stanie spokojnie się z tego utrzymać.

Wchodzą
@KacperSzurek: Ostatnio sobie przeglądałem powtórki z podejrzanymi zgłoszeniami w Dota 2 i większość to było standardowo Griefing i Celowe samobójstwa. Zaciekawiła mnie powtórka gdzie było Podejrzenie hacków/skryptów. Na początku nic nie wskazywało na to na pierwszy rzut oka bo gość grał jak typowy niedzielny gracz. Bez szału. Dopiero jak się powtórkę zwolniło na najwolniesze tempo można było zauważyć jak myszka teleportuje się przy rzucaniu czarów na przeciwnika i dryfuje z miejsca
Niektóre gry mogą wyliczać unikalny identyfikator sprzętowy. Tworzy się go na podstawie komponentów, które masz w środku komputera - procesora czy dysku twardego. Dzięki takiemu identyfikatorowi da się wykryć nowe konto zbanowanego wcześniej gracza. I to nawet jeśli łączy się z innego adresu IP. Konto może i łączy się z innego adresu, może i jest założone na nowego maila. Ale identyfikator sprzętowy od razu pokazuje, że system już kiedyś tego gracza
@KacperSzurek Ja nie mogę zrozumieć logiki twórców pubg. Niby walczą z oszustami, a jednocześnie tworzą wirtualną maszynę pod swoją grę, żeby ludzie mogli grać w grę przeznaczoną na telefon na komputerze, w ten sposób dając większą przewagę nad użytkownikami gry na telefonie. To jest właśnie swego rodzaju oszustwo.
@spere: Chess.com (największy serwis szachowy) np. analizuje partie gracza na bieżąco i jeśli wykryją, że gracz o ELO (rankingu) np. 900 nagle wykona serie ruchów na które mógłby wpaść co najwyżej arcymistrz (ELO 2k+) po półgodzinnym liczeniu wariantów to taki gracz jest analizowany pod katem używania silnika. I jeśli system wykryje, że taki gracz wykonuje za dużo ‚genialnych’ posunięć jak na jego poziom to leci ban.

Do tego po każdej partii
@KacperSzurek: kiedyś chciałem się nauczyć robić moda do jednej gry i tak ogarnąłem jak działają hooki, a potem przyszło oświecenie, że przecież ta sama technika musi być używana do tworzenia cheatów. mody i cheaty to często technicznie to samo, a granica jest umowna (i cienka :). jedno modyfikuje serwer gry, a drugie klienta.
@KacperSzurek: w przyszłości prawo pewnie zostanie tak skonstruowane że grać będziesz mógł na dowód osobisty, a w przypadku udowodnienia cheatowania będą dotkliwe kary. Z jednej strony jestem za wolnością w internecie, a z drugiej, tak nienawidzę oszustów, że bym poparł taki system weryfikacji.
@spere: Z szachami to musi być przewalona sprawa - można odpalić drugi komputer bez żadnego styka z tym na którym się gra i na nim wprowadzać każdy ruch. Nie do wykrycia, a zakładając ze nie gra się z jakimś ostrym limitem czasowym to nawet nie będzie upierdliwe w stosowaniu dla oszusta.