Einige Spieler der geschlossenen Beta im Online-Shooter Valorant haben sich offenbar darüber gewundert, dass das dazugehörige Anti-Cheat-System bereits direkt beim Hochfahren ihres PCs startet. Riot Games‘ Programmierer und Anti-Cheat-Leiter fürs Spiel, Paul „Riot Arkem“ Chamberlain hat Fragen dazu mittlerweile auf Reddit (via pcgamesn.com) beantwortet:
„Ja, wir lassen einen Treiber beim Startup laufen“, doch dieser „scannt überhaupt nichts (es sei denn das Spiel läuft gerade)“. Er sei „dafür designt worden, so wenig Systemressourcen wie möglich einzunehmen und kommuniziert nicht mit unseren Servern (…) ihr könnt es jederzeit entfernen“. Das Anti-Cheat-System ‚Vanguard‘ „enthält einen Treiber, der vgk.sys heißt (ähnelt anderen Anti-Cheat-Systemen)“. Daher sei nach der Spiel-Installation auch ein Neustart nötig, bevor man loslegen darf.
Dies sei zwar ein eher ungewöhnlicher, aber auch guter Weg, um Betrüger zu stoppen. Es sei schließlich eine gängige Strategie, solche Systeme zu umgehen, indem Cheats schon vorm Start des Anti-Cheat-Systems ausgeführt werden. Mit solch einer Strategie würde entweder die Systemkonfiguration verändert oder das Anti-Cheat-System selbst beim Laden beeinflussen. All das lasse sich mit dem direkten Laden des Anti-Cheat-Treibers beim Systemstart erschweren.
Riot sei allerdings sehr vorsichtig bezüglich der Sicherheit des Treibers gewesen, indem vor Veröffentlichung mehrere externe Security-Forschungs-Teams konsultiert wurden. Damit habe man vermeiden wollen, dass die Sicherheit des Computers selbst sinken könnte. Der Großteil der Rechenlast werde aber ohnehin vom Anti-Cheat-System selbst gestemmt und nicht vom verhältnismäßig kleinen Vanguard-Treiber:
Dies sei zwar ein eher ungewöhnlicher, aber auch guter Weg, um Betrüger zu stoppen. Es sei schließlich eine gängige Strategie, solche Systeme zu umgehen, indem Cheats schon vorm Start des Anti-Cheat-Systems ausgeführt werden. Mit solch einer Strategie würde entweder die Systemkonfiguration verändert oder das Anti-Cheat-System selbst beim Laden beeinflussen. All das lasse sich mit dem direkten Laden des Anti-Cheat-Treibers beim Systemstart erschweren.
Riot sei allerdings sehr vorsichtig bezüglich der Sicherheit des Treibers gewesen, indem vor Veröffentlichung mehrere externe Security-Forschungs-Teams konsultiert wurden. Damit habe man vermeiden wollen, dass die Sicherheit des Computers selbst sinken könnte. Der Großteil der Rechenlast werde aber ohnehin vom Anti-Cheat-System selbst gestemmt und nicht vom verhältnismäßig kleinen Vanguard-Treiber:
„Der Vanguard-Treiber sammelt oder sendet keinerlei Informationen über euren Computer an uns. Jegliche Cheat-Erkennungs-Scans werden durch die Nicht-Treiber-Komponente durchgeführt, und zwar nur, während das Spiel läuft.“
Well it sucks, but today we had to ban our first cheater (and it looks like more bans are on the horizon).
— Paul Chamberlain (@arkem) April 9, 2020
I was hoping for a little more time before this fight kicked off but we’re in it now and we’re ready.
Falls diese Taktik weiterhin auf Protest stößt, könnte es aber auch sein, dass Riot seine künftige Strategie bezüglich des Vanguard-Treibers überdenke. Das Studio glaube, dass wenn „Sicherheits-Tools mehr Schaden als Nutzen bringen, werden wir sie entfernen (und etwas anderes ausprobieren). Zum jetzigen Zeitpunkt halten wir einen ‚Run-at-boot time driver‘ für die richtige Wahl.“
Hoffe das Spiel kommt Konsole
Genau das trifft es schon eher.
(war aber nur als kurzer Einwurf gedacht, will jetzt hier keine philosophische Diskussion beginnen)
Das versteh ich nicht so ganz. Wie meinst Du das?
Vielleicht komme ich mit dem Vergleich nicht so richtig klar, weil PUBG in diesem Falle das Stubenmädchen ist. Für mich wäre PUBG eher die unfähige und divenhafte Gräfin, die zwar viel Geld aber wenig Charakter hat.
Aber ansonsten sehe ich etwas positives darin zu Realität zu beleuchten und sich auszumalen was besser sein könnte. Wie sonst soll es Fortschritt geben? Irgendwer muss mit der Situation unzufrieden sein, damit es Potential für Besserung gefunden werden kann.
Wenn man sich im Debugger vgk.sys anschaut, kann man sehen, dass Callbacks registriert werden, Callbacks sind Funktionen, die vom Betriebssystem aufgerufen werden, wenn ein bestimmtes Ereignis eintritt. Im Fall von vgk.sys fällt auf, dass Callbacks zu ObProcess und ObThread (vermutlich Eigenschutz) und CreateProcess registriert werden. CreateProcess ist der Zentrale Systemcall, mit dem Windows Prozesse startet. Aktuell passiert da (noch) nichts. Theoretisch hat der Treiber aber damit die Möglichkeit vom Betriebssystem automatisch benachrichtigt zu werden, wenn "wir" zB Programme starten. Ich vermute, dass Riot in Zukunft damit eine Art Blacklist von Programmen/kommerziellen Cheat-Tools umsetzen will, d.h. wenn man ein solch registriertes Tool aufruft, beendet der Kernel-Treiber das Spiel (oder Tool) ; das ist jetzt die gutartigste Möglichkeit, ich will Riot ja erstmal nichts unterstellen
D.h. wenn du einen selbstgeschriebenen Cheat hast, MyKleinesPony.exe, dann erkennt der Treiber das vermutlich zunächst nicht. Aber über die Callbacks ObProcess und ObThread, sollte er mitbekommen, wenn du auf den Prozess/Thread-Speicher zugreifen willst. Es kann also schon sein, dass in Zukunft es nicht mehr so einfach möglich ist, ohne eigenen "Anti-Anti-Cheat-Treiber" zu betrügen.
Das ist eine...