Special: Counter-Strike (Shooter)

von Marco



Entwickler:
Publisher: Vivendi Universal
Release:
kein Termin
Spielinfo Bilder  

Counterstrike.de: Ein AC-Tool also, welches ähnlich ist wie das ESL eigene Aequitas. Ist Aequitas ein brauchbares Anti-Cheat-Tool?

xgx: Schwer mit wenigen Worten zusammenzufassen, aber ich denke man kann durchaus sagen das Aequitas ein brauchbares Anti-Cheat-Tool ist. Es soll ja dazu dienen die Anzahl der Cheater im Ligabetrieb einzudämmen. Und das tut es definitiv!

Die Aussage der ESL das alle Cheater erwischt werden stimmt so natürlich nicht und dient nur dazu die breite Masse einzuschüchtern. Wenn es jemand darauf auslegt mit Aequitas cheaten zu können und die nötigen Kenntnisse, Kontakte und/oder Geld besitzt, dann versagt Aequitas.

Auch in den bekannten monatlichen News, wo mit xyz erwischten Cheatern durch Aequitas aufgewartet wird, dient nur zum einschüchtern, da dort zum Teil Leute mit irgend einem Cheat erwischt wurden, welche x-beliebige Public-Cheats verwendet haben die nicht für den Einsatz mit Aequitas entwickelt wurden.

Außerdem ist die Aufmachung der News meiner Meinung nach im BILD-Zeitungs Stil gehalten. News mit Texten wie: "und wieder hat Aequitas xyz Cheater erwischt" und zusätzliche Einträge im Playerprofil wie "owned by Aequitas", halte ich für übertrieben. Aber darüber habe ich mit T-Man auch schon selber gesprochen, weiss aber nicht, ob bei Cheatern die erwischt wurden noch immer diese Einträge gemacht werden oder ob dies korrigiert wurde. Ein einfaches "12pp for cheating" würde meiner Meinung nach vollkommen ausreichen. Aber auch hier sieht man deutlich, dass die ESL versucht die Leute abzuschrecken.

 
Counterstrike.de: Gerade von dir liest man in den letzten Tagen und Wochen immer wieder, dass du Hacks entwickelt hast, die Aequitas umgehen können. Wie brauchbar kann ein AC-Tool sein, welches du mehrfach umgangen hast?

xgx: Zeitlich gesehen zieht sich das schon wesentlich länger hin als Tage und Wochen. Von daher ist diese Einschätzung also nicht ganz richtig. In Wirklichkeit sind das jetzt schon etwa 1 - 1,5 Jahre. Allerdings gab es in letzter Zeit natürlich einen großen Hype um das Thema Kernelmode/Ring0 Hacks.

Wie ich bereits erwähnt habe, dient Aequitas dazu die breite Masse an Cheatern zu erwischen oder einzuschüchtern. Wenn jemand programmieren kann und etwas von "re" versteht, sollte es kein Problem sein einen entsprechenden Hack zu schreiben, der wohl auch sehr lange unerkannt bleibt. Zumindest so lange unerkannt, wie ihn T-Man ihn nicht in die Finger bekommt. Da aber die meisten Leute die CS spielen eher der Altersgruppe von 14-19 einzuordnen sind und viele von diesen Leuten auch nicht die Ausdauer und den Willen haben sich mit dem nicht gerade simplen Thema coden länger auseinanderzusetzen, wird es eher wenige geben die Cheats entwickeln und diese ausschließlich für sich selber nutzen.

Um noch mal auf die Brauchbarkeitt von Aequitas zurückzukommen: Aequitas erfüllt bis auf wenige Ausnahmen wohl sehr gut seinen Zweck für den es gebaut wurde. Von daher würde ich es schon als brauchbar einstufen. Auch wenn einige äussere Bedingungen nicht ganz so optimal sind.

 
Counterstrike.de: Gerade der von dir angesprochene Hype von Cheats im Kernelmode/Ring0 steht in direkter Verbindung mit deiner Person. Wie muss ich mir das mit Ring0 als Laie vorstellen ohne ins Fachchinesisch abzutauchen?

xgx: Ich versuche es mal einfach auszudrücken.

Es gibt zwei Ebenen unter Windows einmal die KernelMode (ring 0) und einmal die UserMode (ring 3) Ebene, die anderen zwei werden nicht verwendet auf die moechte ich jetzt auch nicht eingehen. Die UserMode Ebene ist der Teil, wo der "Benutzer" arbeitet. Dort laufen beispielsweise die ganz normalen Programme wie ICQ, Firefox, ThunderBird und mIRC. Um gewisse Funktionen nutzen zu können, die etwas hardwarenäher sind als normale, gibt es noch die WinApis im UserMode.

Um das etwas näher zu bringen, möchte ich mal ein kleines Beispiel machen, wie das alles ungefähr abläuft. Als Beispiel nehme ich eine Funktion die etwas in einem Prozess ausliest ReadProcessMemory. Wenn man diese Funktion im Usermode benutzt, wird vom Betriebssystem erst geprüft, ob der Aufruf der angegeben Parameter OK ist und dann erst auf die KernelMode Ebene sozusagen weitergeleitet.

Gewöhnlich ruft man ReadProcessMemory aus der Kernel32.dll auf, die dann den Aufruf in die ntdll.dll weiterleitet. Dort dann ZwReadVirtualMemory genannt und dann in den KernelMode weiterleitet durch die jeweilige ServiceID ( KernelMode ).

Würde man so einen Aufruf direkt aus dem KernelMode von NtReadVirtualMemory mit falschen Parametern machen, dann würde RtlRaiseException() eine Exception werfen, die abgefangen werden muss. Tut man das nicht, dann wird man einen gnadenlosen BSOD ( BlueScreen of Death ) bekommen, der den PC neustartet.

Wenn man nun im KernelMode eine Funktion hookt, zum Beispiel aus der Service Descriptor Table, demnach eine Funktion sobald diese aufgerufen wird zu seiner eigenen Funktion weiterleitet, eigenen Code ausführt und wieder zur Original-Funktion springt, kann man die Daten die z.B. ReadProcessMemory im Usermode ausgibt manipulieren. Und zwar ohne das es vom Usermode aus ersichtlich ist.

Ich wurde oft auf Alternativen angesprochen, die es erleichtern sollen aus dem UserMode zu arbeiten und man nicht erkannt werden sollte, wie zum Beispiel Hardware Breakpoints. Man kann Hardware Breakpoints nicht mit einem puren "Treiberhack" vergleichen, nur weil sie nicht sichtbar sind auf den ersten Blick, sie haben eigentlich mehr Nachteile als Vorteile. Auf der KernelMode Ebene kann man voellig ausschliessen, dass eine Detection möglich ist, wenn der Hack sich wie ein Rootkit verhält und das Anti-Cheat Tool ein reines UserMode Programm ist wie Vac, Vac2, Aequitas, SSclient, etc, etc.. Sogar professionelle Antiviren Hersteller wie Kaspersky, Norton haben Probleme derartige Programme zu erkennen, obwohl sie teilweise sogar auf der selben Ebene arbeiten.

Da Aequitas im Usermode läuft, ist es nicht möglich in den KernelMode einzugreifen. Er kann vielleicht mit viel Aufwand die gehookten Einträge der Service Descriptor Table lesen. Nehmen wir mal an er tut es (Ich weiss gar nicht ob das überhaupt möglich ist mit Visual Basic), dann wäre immer noch die Frage, ob man daraus keine false-positive Detection erhält, da viele Antiviren Hersteller Funktionen aus der Service Descriptor Table hooken, um ihre Software vor Malware zu schützen.

Zusammenfassen zum KernelMode & Aequitas...

Sicherlich ist sehr vieles undokumentiert und unbrauchbar, insbesondere aus der Win32k.sys, aber ein guter Programmierer soll sich nicht von "Kleinigkeiten" abringen lassen. Ausserdem ist ring 0 die "source of inspiration" :-).

Man munkelt auch, dass sobald Aequitas nicht mehr in der Lage ist den Cheat über den Speicher zu erkennen, es mal eben Ordner nach bekannten Namen absucht. Dabei ist dann egal, ob der Cheat vor 10 Tagen benutzt wurde oder heute, man wird gnadenlos gebannt. Wenn man böse Hintergedanken hätte könnte man das als Zeichen der Hilflosigkeit ansehen ;-)

An dieser Stelle möchte ich mich bei [ZELDA] bedanken, der mir bei der Entwicklung sehr geholfen hat.

 
Counterstrike.de: Du sagtest "so lange ihn T-Man nicht in die Finger bekommt". Muss ich mir dann eine Detection von Aequitas etwa so vorstellen wie bei VAC mit Fingerprint, einem Daumenabdruck sozusagen?

xgx: Jein! Im Vergleich zu VAC1, ist VAC2 eher ein Rückschritt geworden, da einige effektive Detections einfach entfernt wurden. Im Prinzip kann man unter VAC sehr vieles machen. Allerdings beschränkt sich die Detection bei Public-Hacks fast ausschließlich auf Fingerprint den du erwähnt hast, wobei ein Hash des Cheats erstellt wird und dann den Spieler bannt sobald eine Übereinstimmung gefunden wurde.

Aequitas arbeitet etwas anders. T-Man liest Prozess- und Modulliste aus und hasht diese um bekannte Cheats zu erkennen. Zusätlich benutzt er einen Selfcheck in Aequitas auf "push rtn detours". Und dann noch einige Checks in Half-Life/Counterstrike selber.

So lange der Hack in der Modulliste von HL.exe zu finden ist, ist die Erkennung kein Problem. Bei privaten Hacks was es bisher so, dass sie oft erst erkannt wurden, nachdem T-Man an den Cheat herangekommen war.

 
Counterstrike.de: Demnach ist in all den Jahren immer eines gleich geblieben - ein hin und ein her. Coder entwickeln Cheats, AC-Coder reagieren darauf und der Kreislauf beginnt von neuem?!

xgx: Ja, genau so ist das und wird wohl auch immer so bleiben. Es gibt auf keiner Seite die ultimative Lösung denke ich.

 
Counterstrike.de: Nachdem es um einen Kollegen von dir fast ein Jahr mehr oder weniger still war, hat er nun wieder etwas angesäuert Benutzerlisten veröffentlicht. Findest du das von Organner ok?

xgx: Na ja, die von ihm veröffentlichten Benutzerlisten beinhalten ausschließlich nicht legitimierte Benutzer seiner Software. Jeder Programmierer ist wohl bestrebt seine Software bestmöglich zu schützen und wenn dann Leute die Software in die viel Arbeit investiert wurde einfach so ohne Einwilligung des Autors nutzen, dann finde ich es auch durchaus in Ordnung solche Leute in Form einer solchen Liste an den Pranger zu stellen.

 
Counterstrike.de: Das heisst dann also, dass auch deine Hacks über die sogenannte Anti-Leak Funktion verfügen?

xgx: Alles andere wäre wohl dumm :-)

 
Counterstrike.de: Wie alle unsere Interviewpartner kannst auch du noch Grüße loswerden.

xgx: Mein Dank geht an burN, steeno, [ZELDA] und Patrick, die mir in der Vergangenheit oft hilfreich zur Seite standen. Zum Schluss möchte ich gerne noch das Team von *mph, *c-p, *pm grüßen, sowie burN, steeno, anarx, Anni, Patrick, panzer/rob, [ZELDA], ORGANNER, Iarumas, h1web, zaubermicha, uall, Donneker, Flex`` und eraa und alle anderen die ich wohl vergessen habe :-)

 
Counterstrike.de bedankt sich für die Zeit und die Antworten.

 
Bisherige Cheat-Spezial Berichte:
Cheat-Spezial Teil 8 - Interview mit xgx Teil 1 zum Thema ring0
Cheat-Spezial Teil 8 - Interview mit xgx Teil 2 zum Thema ring0
Cheat-Spezial Teil 7 - Organner veröffentlicht Cheaterlisten
Cheat-Spezial Teil 6 - Cheat-Datenbank ist Online
Cheat-Spezial Teil 5 - Cheaten war gestern... neues AC-Tool
Cheat-Spezial Teil 4 - Spielst du noch oder cheatest du schon?
Cheat-Spezial Teil 3 - Cheater-Accounts veröffentlicht
Cheat-Spezial Teil 2 - Interview mit AC-Coder T-Man
Cheat-Spezial Teil 1 - Interview mit Cheatcoder uall
 

                           

Kommentare

Es gibt noch keine Kommentare zu diesem Thema!
schrieb am