Riot Vanguard stellt das fortschrittliche Anti-Cheat-System hinter dem beliebten First-Person-Shooter VALORANT dar. Im Gegensatz zu vielen anderen Anti-Cheat-Lösungen, die nur beim Start oder während des Spiels geladen werden, wird der Vanguard-Treiber bereits beim Bootvorgang des Betriebssystems geladen. Dieses frühe Laden ermöglicht es Vanguard, alle im Anschluss geladenen Gerätetreiber zu überwachen und so eine deutlich tiefere Kontrolle als herkömmliche Anti-Cheat-Systeme auszuüben. Diese Herangehensweise bietet entscheidende Vorteile, indem sie potenzielle Cheats und Manipulationen bereits auf Kernel-Ebene des Betriebssystems erkennt und unterbindet. Das Verständnis der Kernfunktionsweise, vor allem der sogenannten Dispatch Table Hooks, offenbart ein komplexes Zusammenspiel von Mechanismen, die weit über das hinausgehen, was man von klassischen Anti-Cheat-Systemen gewohnt ist.
Ein zentrales Element in Riot Vanguards Schutzmechanismus ist die Verwendung von Hooks innerhalb von Dispatch Tables auf Kernel-Ebene. Dispatch Tables, wie die HalPrivateDispatchTable, sind strenge Strukturen, in denen Funktionszeiger auf Kernelroutine verwaltet werden. Im Betriebssystem Windows werden sie primär von der Hardware Abstraction Layer (HAL) benutzt, um optionale Funktionalitäten implementieren zu können. Riot Vanguard nutzt diese Tabellen, um Kernel-Funktionen durch eigene Versionen zu ersetzen. Im Gegensatz zu anderen Kernelstrukturen, die durch Kernel Patch Protection (PatchGuard) geschützt werden, befindet sich die HalPrivateDispatchTable im .
data-Segment des Kernels und ist nicht durch PatchGuard geschützt. Das ermöglicht Vanguard eine Modifikation dieser Funktionszeiger, ohne sofort von Betriebssystem-Sicherheitsmechanismen blockiert zu werden. Ein Beispiel für solch einen Hook ist die Modifikation der Funktion KiClearLastBranchRecordStack, die im Kontext der Funktion SwapContext aufgerufen wird. SwapContext wird immer dann ausgeführt, wenn der Kern den aktuellen Ausführungs-Thread wechselt. Riot Vanguard modifiziert die Adressierung der Funktion KiClearLastBranchRecordStack, so dass diese zum eigenen Code innerhalb des Vanguard-Treibers (vgk.
sys) verweist. Der Vorteil liegt darin, dass Vanguard nach jedem Kontextwechsel eingreifen kann, um sicherzustellen, dass keine nicht autorisierten Aktionen auf geschützte Speicherbereiche oder bestimmte Prozesse zugreifen. Die Manipulation erfolgt dabei über Aktivierung eines speziellen CPU-Tracing-Flags, das signalisiert, ob die Modifikation aktiv sein soll oder nicht. Die Hook wird also nur ausgelöst, wenn das entsprechende Bit in den Kernel-Flags gesetzt ist. Beim Start des Spiels wird das aktiv, beim Beenden wieder entfernt.
Neben der Überwachung von Kontextwechseln verlässt sich Riot Vanguard außerdem auf eine weitere hochinteressante Technik: das Hooking von Systemaufrufen mittels einer PatchGuard-konformen Methode. Klassischerweise sind Systemaufrufe (System Calls) der wichtigste Weg, über den User-Mode-Programme mit dem Kernel kommunizieren. Vanguard hat hier eine subtile Technik implementiert, indem es die Funktion HalCollectPmcCounters innerhalb der HalPrivateDispatchTable mit einer eigenen Implementierung ersetzt. Diese Methode ist bereits in der Fachwelt als ein Weg bekannt, um Systemaufrufe zu überwachen, ohne PatchGuard auszulösen – was Vanguard zum Schutz der Integrität des Kernels besonders wichtig ist. Die Implementierung dieser Hook auf Systemaufrufe erfolgt mit einer speziellen Routine, die unter anderem prüft, ob ein bestimmtes „Hook-ID“-Muster im Tracepuffer vorhanden ist.
Nur dann aktiviert Vanguard das tatsächliche Umleiten oder Verändern des Systemaufrufs. Dabei werden gezielt bestimmte Kernel- und Win32k-Systemaufrufe überwacht und bei Bedarf manipuliert. Beispiele hierfür sind Operationen wie das Anlegen oder Freigeben von virtuellem Speicher, das Mappen von Speicherabschnitten oder das Suspendieren von Threads und Prozessen. Besonders interessant ist der Hook für NtSuspendProcess, da Vanguard auf diese Weise verhindern kann, dass genau das VALORANT-Spiel oder dessen zugehörige Prozesse unbefugt angehalten oder manipuliert werden. Die Prüfungen innerhalb des NtSuspendProcess-Hooks sind dabei komplex und beinhalten u.
a. das Referenzieren von Prozessen und Threads anhand ihrer Handles, um sicherzustellen, dass keine unautorisierte Manipulation erfolgt. Sollte eine Prüfung fehlschlagen, verweigert Vanguard die Suspend-Anfrage mit einem Status, der Zugriff verweigert. Was genau diese Prüfungen im Detail umfassen, wird jedoch systematisch verschleiert und nur teilweise rückentwickelt – ein deutlicher Hinweis auf die Sorgfalt, mit der Riot die Anti-Cheat-Maßnahmen vor Manipulation schützt. Im Kern lässt sich sagen, dass Riot Vanguard mit diesen Dispatch Table Hooks eine Kombination aus Timing und Tiefenintegration im Kernel nutzt, die es dem Anti-Cheat ermöglicht, verdächtige Speicherzugriffe und Systemaufrufe zu überwachen und zu kontrollieren, bevor sie Schaden anrichten können.
Diese Hooks fangen kritische Ereignisse wie Thread-Kontextwechsel oder Systemaufrufe ab, manipulieren oder blockieren diese wenn nötig und geben so Sicherheit für das Spiel zurück. Interessanterweise sind manche dieser Modifikationen temporär und nur aktiv während das Spiel läuft. Nach dem Beenden wird der Ursprungszustand der Dispatch Tables wiederhergestellt beziehungsweise der Hook deaktiviert, wodurch Systemmechanismen wieder normal funktionieren. Eine Ausnahme bildet jedoch die Möglichkeit, dass Vanguard die Hooks nicht unmittelbar repariert, wenn sie durch Manipulationen entfernt wurden – was in einigen Tests dazu führte, dass das Spiel trotzdem ohne Einschränkungen gestartet werden konnte, wenn die Hooks deaktiviert blieben. Ein weiterer wichtiger Gedanke ist, dass diese Dispatch Table Hooks nur ein Teil des weitverzweigten Sicherheitsnetzwerks von Riot Vanguard sind.
Das System umfasst weitere Techniken zum Schutz des Spiels, die den Speicher, Prozesse und Systemzustände überwachen, absichern und Angriffe schon im Ansatz erkennen sollen. Der erwähnte Schutz vor Memory Copying mittels MmCopyVirtualMemory, der vielfach in Cheat-Foren diskutiert wird, konnte in einfachen Tests nicht reproduziert werden. Es ist möglich, dass der Schutz nur fein granular für relevante Spieldaten wie UWorld-Instanzen oder andere kritische Strukturen aktiv ist. Aus Sicht der Informationssicherheit und Reverse Engineering stellt Riot Vanguards Einsatz von PatchGuard-konformen Hooks in Dispatch Tables einen wichtigen Fortschritt der Anti-Cheat-Technologie dar. Die Verwendung von HalPrivateDispatchTable, um auf sichere und doch effektive Weise Kernel-Funktionalitäten zu überlagern, demonstriert ein tiefes Verständnis der Kernel-Infrastruktur und zeigt, wie Hersteller von Spielen zunehmend auf fortgeschrittene Techniken setzen, um Gameplay fair zu halten.
Zusammenfassend offenbaren Untersuchungen und Analysen der Dispatch Table Hooks in Riot Vanguard, dass das System Kernkomponenten von Windows daraufhin modifiziert, um frühzeitig und effektiv unerwünschte Aktivitäten abzufangen. Durch die Hooking-Techniken auf Ebene von Kontextwechseln und Systemaufrufen kann Vanguard die Ausführung verdächtiger Aktionen erkennen und verhindern, noch bevor diese Spielprozesse beeinträchtigen. Dies erzeugt eine robuste Barriere gegen Cheating-Methoden, die auf direkten Kernel-Angriff setzen oder versuchen, mit systemnahen Tricks Zugriff auf VALORANTs sensiblen Speicher zu erlangen. Die fortschrittliche und zum Teil verdeckte Entwicklungsarbeit von Riot Games an Vanguard ermöglicht es, ein hohes Maß an Sicherheit zu bieten und gleichzeitig die Integrität und Leistungsfähigkeit des Systems sowie des Spiels zu bewahren. Obwohl einige Details noch verborgen bleiben und die vollständige Aufdeckung der Schutzmechanismen komplex bleibt, bieten die Erkenntnisse genug Einblick, um die Bedeutung der Kernel-Hooks und deren Rolle im modernen Anti-Cheat-Kontext zu verstehen.
Durch die Kombination aus Berechtigungsüberprüfungen, gezielten Hook-Modifikationen und der Integration in Kernel-Mechanismen schafft Riot Vanguard eine bislang einzigartige Lösung, die den Kampf gegen Cheater auf ein neues Level hebt und VALORANT als kompetitives und faires Spielerlebnis sichert. Die Analyse der Dispatch Table Hooks bleibt ein faszinierendes Beispiel dafür, wie Reverse Engineering wertvolle Einblicke in die Entwicklung hochmoderner Sicherheitstechnologien ermöglicht.