Diablo 3: Blizzards Anti-Cheat macht Ernst

Thou shall not cheat

Warden Anti Cheat

Für Diablo 3 und andere Spiele von Blizzard wünschen sich nicht wenige Spieler ein Spiel mit fairen Voraussetzungen. Keine Bots die 24/7 Items und Paragonlevel farmen, keine Maphacks oder andere „Bequemlichkeiten“ welche durchaus über den Spielerfolg mitbestimmen konnten. Das weiß jeder der mal ein Greater Rift gerade nicht geschafft hat weil man eine Sackgasse zu viel gelaufen ist. Mit dieser etwas längeren Hintergrund-News wollen wir die bisherige Entwicklung und die neueren Anti-Cheat-Maßnahmen von Blizzard beleuchten und einordnen.

Blizzards Spiele sind beliebt bei Bot- und Cheat-Programmierern da jedes Spiel eine feste und treue Fanbase hat, zuweilen auch eine sehr große Fanbase hat. Manche machen das aus puren Interesse am Spiel und am Programmieren, manche weil sie Geld damit verdienen wollen – das ist wohl die Mehrheit.

Katz und Maus in Blizzards Haus

Bisher hatte Blizz nicht allzuviel auf die Reihe gebracht was das Unterbinden von Bots, Maphacks und dergleichen angeht. Vor einigen Jahren wurde Warden im Blizzard Universum eingeführt, ein Tool, welches verdächtige Aktivitäten auf den Rechnern der Spieler entdecken sollte. Das hat oft funktioniert und es gab eine Reihe von Banwaves.

Aber diese Methode löste das Problem nicht. Blizzards Spiele waren immer noch grundlegend anfällig für Hacks und Cheats und Blizzard doktorte mehr an den Symptomen rum als an der Ursache. Sobald Warden Aktivitäten entdecken konnte und Bans für nutzende Accounts ausgesprochen wurden, haben die „Third-Party“-Software Programmierer einen Weg gefunden ihren Code besser zu verstecken. Gleiches galt für Änderungen am Spielcode. Sobald statische Sprungadressen oder Quelladressen umgestellt oder neu strukturiert wurden, wurde binnen Tagen oder weniger Wochen ein neues Release nachgeschoben welche die Bots und Maphacks dieser Welt wieder funktionieren liessen.

Es war ein Katz-und Maus-Spiel, wobei Blizzard oft die Rolle der Maus einnahm.

Götterdämmerung für Bots und Co. in Diablo 3

No Cheats in Diablo 3

Das hat sich nun geändert. Der neue Patch 2.6.1 brachte einiges Neues mit sich, was sich, nachträglich betrachtet im Vorfeld schon ankündigte. Blizzard ist ja nun nicht bekannt dafür besonders transparent über seine Anti-Cheat-Politik zu sprechen. Das ist ja auch verständlich. Aber es gab mindestens einen Hinweis der uns schon damals Hoffnung machte dass sich die Lage ändern könnte.

Im letzten Herbst begann die neue Diablo 2 Ladder ganz überraschend bot- und cheatfrei. Ein Meilenstein für dieses mittlerweile 18 Jahre Spiel. Das ist weitgehend so geblieben. Vereinzelt auftauchende Bot-Accs verschwinden zumeist wieder recht schnell – die Botschwemme in D2 – übrigens auch Werbebots betreffend, ist, wie es aussieht, vorbei.

Dazu war es offenbar notwendig – wie in Diablo 3 auch – die Unterstützung für alte Betriebssysteme abzukündigen und nur noch neuere Betriebssysteme zu unterstützen. Sicherlich, man kann Diablo 2 unter Windows im Kompatibilitätsmodus fahren. Das ändert aber nichts daran, dass die Codebase von Diablo 2 bzw. eine Schnittstelle zu neueren Betriebssystemen, nach und nach angepasst wurde. Noch im Jahr 2016 gab es größere Banwaves.

Aber das ursprüngliche Problem blieb, nämlich die Durchsichtigkeit von Blizzards Code für „Reverse Engineers“. Mit der neuen Ladder hat sich das geändert und seitdem ist es, was man so hört, keinem Programmierer mehr gelungen spielbeeinflussende und/oder entdeckungsfreie Software für Diablo 2 zu schreiben, bzw. dauerhaft im Spiel anzuwenden. Ähnliches gilt für die Werbebots die sonst die Channels geflutet haben.

Eine parallele Entwicklung ist im deutlich jüngeren Overwatch zu beobachten. Hier begann Blizzard im Jahr 2017 mit seinerzeit stark kritisierten Maßnahmen um die Spieler zu einem besseren Verhalten in-und außerhalb des Spiels auf Blizzards Servern zu animieren. Diese „Anti-Toxic-Strategy“ zeitigte aber gute Erfolge und nahezu zeitgleich wurden Aimbots und anderer Third-Party-Software das Überleben schwer gemacht. Die bisher gängigen Bots sind, was man so liest, offline.

No Bots anymore in Diablo 3

Anfang 2017 wurde für Diablo 3 die Unterstützung der Betriebssystem Windows XP und Windows Vista ab Patch 2.6.1 abgekündigt. Jetzt kann man sagen, klar, wer spielt 2017 noch auf WinXP oder Vista? Richtig, aber mit diesem Schritt ergab sich für die Entwickler von Diablo 3 und anderen Spielen auch die Möglichkeit im Code von den Vorteilen neuerer Hardware (Prozessoren, RAM) und Betriebssystemen zu profitieren ohne Altlasten mit sich herumschleppen zu müssen.

Das Zusammentreffen mehrerer Umstände, nämlich hier die mögliche Änderung der Code-Basis von Diablo 3 aufgrund Wegfalls von Altlasten sowie erstmals weitgehende Botfreiheit in Season 13 (Nomen est Omen für Abergläubische)- ist als Koinzidenz bekannt. Was freilich kein sicherer Hinweis auf die Ursache ist. Ergänzen wir den Umstand dass es erstmals seit langem kein Content-Update für Diablo mit der neuen Season gab, kommt man aber schon in den Bereich größerer Wahrscheinlichkeit, nämlich jener, dass Blizz sich voll und ganz auf die Umstellung des Spielcodes konzentriert hatte und Inhaltsarbeit weniger priorisiert wurde.

Kurz: Derzeit gibt es keine Bots oder Maphacks für Diablo 3 die so funktionieren wie es die Nutzer dieser Software gerne hätten, nämlich entdeckungsfrei und komfortabel cheaten zu können. Ich hatte bereits vor 10 Tagen nach einer kurzen Recherche ins Forum geschrieben, dass die gängigen Tools deren Name hier nicht erwähnt wird, alle offline sind weil es keiner der Programmierer bisher geschafft hat, Blizzards neuen Code zu knacken. Daran hat sich bis heute nichts geändert. Vereinzelte Rückzugsgefechte wie „Beta-Status“ einer Software gibt es, aber keine Releases und vor allem, keine „stable“ Releases wie es deren Entwickler gerne verkaufsfördernd anpreisen.

Thou shall not cheat

Das neue Sicherheitskonzept von Blizzard

Was hat Blizzard nun geändert? Nun, das werden sie uns nicht auf die Nase binden, aber einige zielführende Hinweise gibt es. Blizzard hat es aufgegeben allein darauf zu hoffen, dass Botsoftware und vergleichbare irgendwie entdeckt werden kann. Der Aufwand war zwar beträchtlich aber die Ergebnisse eher mager. Denn neben dem Nachweis dass jemand Botsoftware nutzte mussten echte Menschen darüber entscheiden wer gebannt werden sollte und wer nicht. Nach eigener Politik sollten ja vor allem die gebannt werden die tiefgreifend in das Spiel eingreifen und/oder sich erhebliche unfaire Vorteile verschafften. Daher war die Entscheidung von Menschen notwendig was Ressourcen bindet und natürlich auch Geld kostet. Mit dem Ergebnis dass sich der/die Gebannte umgehend eine neue E-Mailadresse und einen neuen Acc zulegte und binnen 24 Stunden mit Hilfe seiner Kollegen wieder Paralevel 800 erreicht hatte und weiterbottete.

Jetzt sorgt Blizzard dafür dass ihre eigene Software nicht mehr ohne weiteres ausgelesen werden kann und packt damit das Übel an der Wurzel. Der laufende Code ist in weiten Teilen im System verschlüsselt, wobei unklar ist ob es sich um eine statische oder eine sich ändernde Verschlüsselung handelt. Quellen und vor allem Zieladressen für die Ausführung des Codes sind damit nicht mehr ohne weiteres lesbar. Daneben wurden wenigstens auch die Zieladressen die für die einzelnen Schritte zur Abarbeitung des Codes notwendig sind, dynamisch gemacht. Das heißt: Wo früher für die Laufzeit eines Patches und für einen bestimmten Arbeitsschritt immer die gleiche Zieladresse bzw. Offsets verwendet wurden, sind diese jetzt teilweise dynamisch und können nicht mehr ohne weiteres vorhergesagt werden. Ferner wurde wohl dafür gesorgt dass bestimmte Spielinhalte, die für die Verwendung von Maphacks wichtig sind, z.B. Leveldesign, Monsterarten, Schreine etc. ebenfalls nur dynamisch preisgegeben werden in Abhängigkeit vom Standort des Spielers. Also softwareseitig genauso beschränkt wie es sich für normale Spieler darstellt die durch Ablaufen der Karte nach und nach alles aufdecken müssen. Maphacks können also nicht mehr die ganze Karte/Level anzeigen da die Information noch gar nicht lesbar ist. Soweit bekannt können Maphacks deswegen zur Zeit nur sehr wenig mehr aufdecken als der normale Spieler wodurch sie praktisch nutzlos werden.

Die Programmierer müssen also mindestens zwei Hürden nehmen: Sie müssen die Verschlüsselung knacken oder umgehen wenn sie für die Zwecke des Spiels entschlüsselt wird UND sie müssen wissen wo welche notwendigen Spielinformationen für eine korrekte Funktion liegen. Das hat ihnen Blizzard nun sehr schwer gemacht.

Blizzard wird uns nicht sagen was sie nun genau gemacht haben. Sicherheitstechnisch ist dieser Ansatz des „Security by Obscurity“ (in etwa: Sicherheit durch Unklarheit) verständlich, aber in dem Moment gescheitert wo jemand Muster in der Verschlüsselung und der Sprungvorhersage entdeckt und für sich ausnutzt. Es ist also denkbar dass jemand in der Zukunft den Code lesen kann wie früher auch und einen Maphack oder einen Bot darauf abstimmt. Aber wir wollen uns nicht beschweren: Es ist in jedem Fall eine effiziente Methode mit einer sehr sehr hoch gelegten Latte die bisher noch keiner übersprungen hat. Daher wiederhole ich mich gerne:

GOOD JOB BLIZZARD !

Die Auswirkungen können wir für Season 13 bereits sehen: Es gibt zwar Accounts mit recht hohen Paraleveln. In einer gut laufenden Meta die mehrheitlich über 100+ Greater Rifts spielt sind diese Werte aber durchaus realistisch. Kein Vergleich zu vorherigen Seasons wo bereits nach wenigen Wochen die ersten 3500+ Paralevel sichtbar waren. 24/7 Accounts – also Spielzeit nahe 24 Stunden über mehrere Wochen- sind derzeit auch nicht sichtbar.

Nun ich bin kein Programmierer oder Softwareentwickler. Was meint Ihr? Wird Blizzards Maßnahme halten oder müssen wir in näherer Zukunft wieder mit wochenlang laufenden Bots in Diablo 3 rechnen? Habt Ihr eigentlich gemerkt dass sich in den Ranglisten bzw. Spielen keine Bots oder zielsicher laufenden Mitspieler mehr tummeln? (Man weiß ja nie …) :p