Valorant: Riot erklärt, warum das Anti-Cheat-System schon beim Booten des Rechners startet

Valorant
15.04.2020 17:05, Jan Wöbbeking

Valorant: Riot erklärt, warum das Anti-Cheat-System schon beim Booten des Rechners startet

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:


"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."

I was hoping for a little more time before this fight kicked off but we're in it now and we're ready.

— Paul Chamberlain (@arkem) April 9, 2020

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."

Your browser doesn't support HTML5 video.

Video: Spielszenen

Kommentare
Vandaa

Hoffe das Spiel kommt Konsole

vor 4 Jahren
Progame

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.
Ich meinte das nicht im Zusammenhang mit dem Thema hier, sondern allgemein, sorry.
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.
Genau das trifft es schon eher.

(war aber nur als kurzer Einwurf gedacht, will jetzt hier keine philosophische Diskussion beginnen)

vor 4 Jahren
Doc Angelo

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.

Zuletzt bearbeitet vor 4 Jahren

vor 4 Jahren
Progame

[...] aber ich fantasier gerne über das, was sein könnte. Das gibt mir einen gewissen Kontrast zu dem, was ist.
... und deswegen fühlst du dich in den Armen eines Stubenmädchens nicht so glücklich, wie in den Armen einer Gräfin.

vor 4 Jahren
.asm


Verstehe ich das als Laie gerade richtig, dass dieses Treibergedöns aus Anticheat-Sicht eigentlich herzlich fürn Arsch ist und die einzigen positiven Effekte stattdessen von serverseitiger Implementierung kommen?
Das kann man meiner Ansicht nach so sehen. In diesem "Kernel-Treiber-Hype" sehe ich eher Marketing als ein durchdachtes AC Konzept. Punkbuster hat ähnlich funktioniert, nur als Dienst, nicht mit vollen Privilegien. Das sollte für ein Spiel eigentlich ausreichen.
Kann ich das nicht auch nicht schon auf dem Host? Oder woher weiß das Cheat-System, was Programm "MyKleinesPony.exe" macht?
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 Entwicklung, die ich in den letzten Jahren in der Malwarewelt mitbekommen habe, Malware kommt heutzutage (seit den 2010ern) in mehreren Phasen, zuerst eine harmlose Backdoor die "nichts macht", aber sie bringt RCE mit (remote code execution). Der sogenannte CnC (Command-and-Control-Server) kann dann dynamisch verschiedenste Sträuße an Malware In-Memory nachladen, zB Crypto-Ransomware oder Keylogger oder was das Herz begehrt.

Jetzt will ich mal meinen Aluhut absetzen und sagen, Riot macht das nicht, die sind anständig! Aber es kann halt schon passieren, dass Kriminelle Zugang zu Riots CnC-Infrastruktur bekommen. Und dann haben sie ein Botnetz auf dem Silberteller; wäre nicht das erstemal, siehe Mirai.

Ja, ja Aluhut und so ich weiss ich bin da durch meine Arbeit bisschen vorbelastet, aber die Parallelen sind halt schon da imo. Das sollte man im Hinterkopf behalten, vllt also nur auf einem Rechner spielen, wo man keine kritischen Daten liegen hat und am besten in einem getrennten Subnetz vom Heimrouter, sodass laterales pivoting, also potentielle weitergehende Infektionen von anderen Geräten im Heimnetz (SmartTV, Mediastation, !Kameras! etc) verhindert werden kann. Oft sind diese IoT-Geräte viel interessanter als der Gaming-Rechner, weil deren Firmware veraltet ist und niemand da nachpatcht etc, aber das führt langsam Off-Topic

vor 4 Jahren