(Wie) Kann ein TPM Cheating in online games verhindern?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Hey,

ein TPM (Trusted Platform Module) kann in Anti-Cheat-Systemen verwendet werden, um die Integrität und Authentizität der Hardware und Software auf einem Spieler-PC zu überprüfen. Ein solches System könnte zum Beispiel sicherstellen, dass das Spiel und das Betriebssystem nicht manipuliert wurden, indem es regelmäßig Checksummen oder Signaturen überprüft. Es könnte auch sicherstellen, dass nur autorisierte Hardware und Software verwendet werden, indem es Zertifikate oder Schlüssel verwendet, die im TPM gespeichert sind. Dies könnte Cheating erschweren, indem es verhindert, dass Cheater modifizierte Spiele oder Betriebssysteme nutzen oder unerlaubte Geräte und Programme im Hintergrund laufen haben. Dennoch ist es wichtig zu verstehen, dass kein System vollständig cheatingsicher ist. Kreative Hacker finden oft Wege, auch die ausgeklügeltsten Schutzmechanismen zu umgehen.

Liebe Grüße,
Marcel

Woher ich das weiß:Recherche

R4c1ngCube 
Beitragsersteller
 22.02.2024, 12:30

Die Frage die ich mir stelle ist: woher weiß das TPM wovon es die Checksummen bilden soll?

Angenommen ich hab 2 Kopien einer Software laufen, eine modifiziert, die andere nicht.

Ich stelle es mir schwierig vor, hier festzustellen, dass gerade die Kopie mit dem Server kommuniziert, statt dem Original

Und das TPM müsste ja wissen, dass es die Kopie anschauen soll, um zu erkennen, dass es modifiziert wurde

Ist hier das Betriebssystem der Verräter? :D

Marcii21  22.02.2024, 13:53
@R4c1ngCube

Gute Frage! Das TPM allein kann nicht direkt feststellen, welche Software mit dem Server kommuniziert. Die Rolle des TPM in einem Anti-Cheat-System ist eher unterstützend und basiert auf der Zusammenarbeit mit dem Betriebssystem und der Spielsoftware. Das Betriebssystem könnte als Vermittler fungieren, indem es die Integritätsmessungen durchführt und das TPM verwendet, um die Messergebnisse zu speichern und zu überprüfen (Integritätsmessung im Sinne von Veränderung der Hashwerte identifizieren). Es wäre Aufgabe des Betriebssystems und der Anti-Cheat-Software, zu erkennen, welche Kopie der Software aktiv ist und mit dem Server kommuniziert. Sie könnten beispielsweise spezifische Prozess-IDs oder andere eindeutige Merkmale nutzen, um die echte Spielinstanz zu identifizieren.

In deinem Szenario würde das TPM dazu beitragen, die Integrität des Betriebssystems und der Anti-Cheat-Maßnahmen zu gewährleisten, aber es wäre auf die Informationen angewiesen, die ihm vom Betriebssystem und der Anti-Cheat-Software geliefert werden.

Die Idee ist modifizierte Betriebssysteme zu erschweren indem geprüft wird, dass der Boot Code nicht modifiziert ist und der Rechner etwa nicht in einer virtuellen Umgebung läuft.

Dabei geht es um attestation durch Hersteller Keys, Prüfung von Checksums in einer sicheren, verifizierten und zertifizierten Umgebung.

Niemand erwartet, dass cheats komplett unmöglich werden und ganz ehrlich, du würdest die Frage hier nicht stellen wenn du Erfahrung mit Manipulation auf dem Level hättest, dass du das umgehen könntest. Aber es macht es natürlich wesentlich schwieriger.

PS: auf Konsolen existieren ja (grob) ähnliche Mechanismen die Cheaten und vor allem Raubkopien erschweren sollen. Da sieht man denke ich auch gut grob wie effektiv oder ineffektiv solche Mechanismen generell sein könnten.


R4c1ngCube 
Beitragsersteller
 22.02.2024, 14:07

"du würdest die Frage hier nicht stellen wenn du Erfahrung mit Manipulation auf dem Level hättest, dass du das umgehen könntest"

Das ist wahr :D

Das meinte ich im Sinne von ich versuche eine konzeptionelle Lücken im beschriebenen System zu finden ohne es in der Praxis umzusetzen.

(Das erfordert aber eine konkrete Beschreibung)

Ich habe durchaus kryptographische Kenntnisse, nur eben kaum Kenntnisse zu TPM

Meine Frage wurde inzwischen mehr oder weniger beantwortet: nämlich woher das TPM Modul weiß wovon es die Checksummen zu bilden hat

Mich interessiert das so, weil ich es für möglich halte das ganze fast gänzlich unmöglich zu machen, das TPM aber so wie ich es verstehe für unzureichend halte

Gar nicht!

Ich denke, die Idee besteht hier darin, Secure Boot zu erzwingen, um zu verhindern, dass Cheater Manipulationen am Betriebssystem vornehmen.

Allerdings kann man Secure Boot problemlos mit seinen eigenen Keys nutzen, und mit diesen seine Cheats signieren. Es wäre sogar möglich, das gesamte TPM zu virtualisieren, sodass es immer die Ausgaben erzeugt, die das Anti Cheat System erwartet.

Woher ich das weiß:Studium / Ausbildung – Ich studiere Informatik

R4c1ngCube 
Beitragsersteller
 22.02.2024, 08:40

"Es wäre sogar möglich, das gesamte TPM zu virtualisieren"

Ich hatte angenommen TPMs seien zertifiziert? Also enthalten von Haus aus einen private key, der mit dem public key beim Hersteller überprüft werden kann

Und alles was das TPM macht könnte dann mit dem private key signiert werden

(Ich vermute aber auch, dass es nicht möglich ist Cheating zu verhindern)

DummeStudentin  22.02.2024, 08:51
@R4c1ngCube
Ich hatte angenommen TPMs seien zertifiziert? Also enthalten von Haus aus einen private key, der mit dem public key beim Hersteller überprüft werden kann

Davon habe ich noch nie gehört. Das ist bei TEEs oft der Fall, aber nicht bei TPMs. Ich bin aber keine Expertin auf diesem Gebiet.

Jedenfalls existieren virtuelle TPMs:

Kelec  22.02.2024, 08:59
@R4c1ngCube

Also zumindest bei den TPMs die ich kenne kannst du den Key löschen und einen neuen Key erzeugen. ZB bei Prozessoren mit integriertem TPM geht das oft im Bios.

Sinn und Zweck ist es am Ende ja nur, dass das TPM zu jeder Software einen Fingerprint erstellt und wenn sich dieser Fingerprint ändert dann wurde die Software geändert. Welcher private Key hierbei verwendet wird ist an sich egal solange er kryptologisch sicher ist.

R4c1ngCube 
Beitragsersteller
 22.02.2024, 09:05
@Kelec

Hmm dann habe ich das eventuell missverstanden. Ich habe mich bisher nur oberflächlich damit beschäftigt.

Ich dachte, das TPM soll auch Serviceanbietern zB Netflix gegenüber verifizieren können, dass das System nicht modifiziert wurde.

Und dazu müsste ja verifizert werden können, dass der fingerprint auch tatsächlich vom TPM stammt und nicht von irgend einer eigenen Software

Ich dachte hierzu wäre der Endorsement Key da.

Kelec  22.02.2024, 09:17
@R4c1ngCube

Der Endorsement Key kann tatsächlich nicht verändert werden aber man kann auch andere Keys im TPM speichern.

Direkte Signierung ist mit dem EK aber nicht möglich. Dafür gibt es abgeleitete Schlüssel aus dieser Hierachie und die können sich nun ändern sind aber ihrerseits gegen den Endorsement Key signiert.

Es kann also festgestellt werden ob Daten wirklich durch ein Hardware TPM signiert wurden oder nicht.

Vermutlich kann auch Datenintegrität gegenüber einem Anbieter gezeigt werden.

Valorant soll angeblich unter Windows 11 nur mit eingeschaltetem SecureBoot und TPM starten.

Angeblich soll das Cheater fernhalten. Wie, erschließt sich mir allerdings nicht.


Kelec  22.02.2024, 09:03

Ich glaube das soll Cheats verhindern die Tief in das System eingreifen oder die zB DLL Injections etc durchführen.

Valorant kann dann eben abgleichen ob sich der Fingerprint eines Speicherbereiches im Spiel ändert ohne dass Valorant selbst das machen würde. Sprich es gibt ihm eine Möglichkeit die Datenintegrität zu überprüfen. Das geht natürlich auch ganz in Software ist dann aber leichter auszuhebeln.

Ich kann mir aber vorstellen, dass es auch hier Cheats gibt die daran vorbei arbeiten.