Artikel

Linux Gaming – Vanguard Follow-up

Vor nunmehr einem Jahr hat Riot Games den Blog-Post “/dev/null: anti-cheat kernel driver” veröffentlicht, welchen ich in meinem letzten Artikel ausführlicher behandelt habe. Mein erster Artikel war mehr auf die Theorie und die Folgen, insbesondere für Linux-Nutzer, fokussiert. Dieser hier behandelt die Praxis, da wir nun einige Erfahrungen mit Vanguard machen konnten, und was wir daraus schließen können.

Die Probleme

Damals bin ich zu dem Schluss gekommen, dass der Kernel-Driver nicht nur problematisch für Linux-Nutzer, sondern auch für jeden sein wird, dem der Schutz seiner Daten wichtig ist. Die wohl wichtigste Entwicklung seitdem ist die Erscheinung von Valorant, welches mit dem neuen Anti-Cheat, welches unter dem Namen Vanguard läuft, geschützt ist. Wie zu erwarten war, reagierte die Community alles andere als erfreut auf Vanguard.
Einige der Probleme, auf die ich hier näher eingehen will, sind:

  • Ein Kernel-Driver ist auf elementarer Ebene inkompatibel mit WINE.
  • Vanguard hat Zugriff auf die tiefste Ebene des Systems.
  • Vanguard läuft nicht nur, wenn Valorant läuft, sondern permanent.
  • Vanguard blockiert auch Programme, die keine Cheats sind.
  • Fehler im Code von Vanguard können Fenster für Hacker sein.

Da ich auf die ersten beiden Teile bereits im ersten Artikel eingegangen bin, werde ich mich hier kurz fassen.

Vanguard, Linux und der Kernel

Wie bereits angesprochen läuft Vanguard auf der Kernel-Ebene, auch Ebene 0 genannt, der Ebene mit den meisten Privilegien im Betriebssystem. Da das vorherige Anti-Cheat-System auf Ebene 3 lief, der Benutzer-Ebene, konnten Cheats die Ebenen 1 und 2 so manipulieren, dass das Anti-Cheat den Cheat nicht mehr erkennt. Das ist nun nicht mehr möglich, was es den Entwicklern solcher Hacks massiv erschweren soll, funktionierende und nicht erkennbare Cheats zu entwickeln.
Dies ist jedoch fundamental inkompatibel mit WINE, welches ermöglicht, Windows-basierte Programme auf Linux-Systemen laufen zu lassen, indem es ein Windows-System emuliert. Dies geschieht jedoch nicht bis auf die Kernel-Ebene.

Vanguard läuft ab Start des PCs

Dies wurde unter anderem vom Spielemagazin GameStar in diesem Artikel behandelt.
Der Reddit-User voidox hat dies in einem Post in r/pcgaming gut dargelegt. Hier wird auch der Vergleich zu anderen Anti-Cheat Systemen auf Kernel-Level wie BattlEye und EasyAntiCheat Bezug genommen, bei denen dies nicht der Fall ist.
In diesem Kommentar unter einem anderen Post zum gleichen Thema wurde das auch von dem Nutzer RiotArkem, welcher Programmierer und Anti-Cheat lead für Valorant ist, bestätigt. Als Gründe für diese Entscheidung wird unter anderem genannt, dass dies verhindern soll, das Cheats bereits vor dem Start des Anti-Cheats geladen werden und wichtige Komponenten modifizieren.

Vanguard und andere Programme

Jedoch unterbindet Vanguard nicht nur Cheat-Programme.
Twitter-Nutzer @antumbral hat bereits im April 2020 gezeigt, wie Vanguard beispielsweise Notepad blockiert. Weitere Tweets in dem Thread zeigen Kommentare, dass auch NZXT Cam oder HWMonitor (welche beispielsweise die CPU-Temperatur überwachen und die Lüfter dementsprechend steuern sollen), blockiert werden. Dies ist natürlich nicht im Sinne des Erfinders, und Riot Games arbeitet(e) aktiv daran, diese Fälle zu minimieren.

Vanguard und Fehler

Jedes Programm ist nur so gut wie sein Entwickler. Und da wir alle Menschen sind, ist keines perfekt. Somit besteht auch bei Vanguard die Möglichkeit, dass es Fehler im Programm gibt. Und sollten Hacker diese vor den Entwicklern finden, so wäre es ihnen möglich, über Vanguard direkt auf den Kernel des Betriebssystems zuzugreifen.\newline
Dies ist gar nicht so unwahrscheinlich. Eines der bekanntesten Beispiele, bei denen ein Rootkit mehr Schaden als Nutzen hatte, ist wohl das Rootkit von Sony BMG.
Und ja, natürlich ist das z.B. bei Kernel-basierter Antivirensoftware nicht anders. Der Unterschied liegt aber im Fokus: Bei Antivirensoftware sind es eben jene Hacker, denen man Zugriff auf das System verweigern will. Bei Vanguard jedoch will man Aimbots aus Valorant raushalten.

Transparenz

Während meiner Arbeit an diesem Artikel bin ich immer wieder über einen Punkt gestoßen: Transparenz. Wie viel sollten Entwickler offenlegen? Was müssen die Nutzer wissen, um eine informierte Entscheidung treffen zu können?
In diesem Kommentar schreibt ein Riot Mitarbeiter, dass er sich wünscht, dass man ihm und Riot basierend auf ihren Aktionen vertrauen sollte und nicht basierend darauf, mit wem sie zusammenarbeiten. Hierbei bezog er sich auf die Frage, ob Riot zu den “Sicherheitsaudits mit externen Experten der Industrie” noch weitere Informationen, beispielsweise zu den Auditoren, herausgeben wird.
Gleichzeitig beschreibt der Originalpost jedoch, dass Riot “an Transparenz glaubt”.
Zum Vergleich: Andere Unternehmenm wie z.B. Wire veröffentlichen sowohl Auditor als auch das Ergebnis des Audits.
Dieser Widerspruch ist insbesondere im Hinblick darauf problematisch, dass Riot Games eine Tochter des chinesischen Konzerns Tencent ist. Und wenn man daran denkt, kommt einem nicht wirklich das Wort “Transparenz” in den Sinn.

Fazit

Vanguard hat sicherlich seine Daseinsberechtigung, das will ich gar nicht bezweifeln. Die Spieler, mit denen ich gesprochen habe, haben auch das Gefühl, das es wirkt. So gibt es deutlich weniger Cheater als in z.B. CS:GO.
Ob man jedoch möchte, dass das Anti-Cheat-System andere Programme blockieren kann und Zugriff auf die tiefste Ebene des Betriebssystems hat, das bleibt jedem selbst überlassen.
Meine Meinung hierzu ist, dass ich das definitiv nicht will.

Gamertoc

Mein Name ist Oliver Theobald, aka Gamertoc, und ich bin 18 Jahre alt. Seit 2019 studiere ich Informatik an der Goethe-Uni und bin seitdem auch Mitglied im 1. ECF. Spieletechnisch verbringe ich wohl mit Overwatch, Dark Souls III, Skyrim und der Assassin's Creed-Reihe, bin aber immer offen für neues. Außerhalb des Studiums verbringe ich wohl am meisten Zeit damit, meine Spiele und Programme auf Linux zum Laufen zu bekommen (und auch am Laufen zu halten). Abgesehen davon habe ich eine Leidenschaft fürs Streamen und fürs Kochen entwickelt.

Alle Artikel von Gamertoc

Willst Du bei uns mitmachen?
Gerne! Dann werde Mitglied in unserem Verein!