GDC Vorträge - Tag 2: Cheaters, Hackers, Script Kiddies - The Dark Side of Online Games
Vorgestern startete in Köln die GDC Europe
Die
Game
Developers
Conference ist eine jährlich stattfindende Veranstaltung für die Entwickler von Computerspielen. Hier gibt es Vorträge, in denen neue Technologien präsentiert und diskutiert werden. Zudem werden die neuesten Entwicklungen gezeigt und die Game Developers Choice Awards verliehen.
Am gestrigen Tag der GDC gab es einen spannenden Vortrag über Cheater, Hacker und Script Kiddies, der von Stephan Payer (Managing Director bei CipSoft) abgehalten wurde, über den wir euch heute, nach dem gestrigen DICE Vortrag berichten wollen.
----------------
Es hätte alles so schön sein können. Doch es kam alles anders. Hacker legten zur Europameisterschaft die Webseite einer namhaften Wett-Webseite lahm. Sie forderten 15.000 USD, um die so genannte DDos (Dedicated Denial of Service)-Angriffe abzuwehren. Die Wett-Website wollte sich nicht erpressen lassen und zahlte nicht. Und so war es nicht mehr möglich, Wetten zu platzieren.
Diese DDoS-Attacken sind die mit Abstand die nervigsten, die es geben kann, und zwar nicht nur für die User sondern auf für die Website Betreiber. Man kann sie nämlich nur schwer und wenn überhaupt meist nur sehr spät verhindern.
Mit diesem Beispiel eröffnete Stephan Payer, Managing Director bei CipSoft, seinen Vortrag über Cheater, Hacker und so genannte Script-Kiddies und sprach über die Technologien und Motivationen, die Spieler nutzen, um sich einen unfairen Vorteil gegenüber den Mitspielern zu verschaffen.
Er selbst hatte Tibia, das erste Online-RPG, 1997 auf den Markt gebracht. Selbst knapp 15 Jahre nach dem Release gibt es noch mehrere zehntausend Spieler am Tag, ein großer Teil davon gehört zur zahlenden Gruppe.
Safety und Security
Bei einem Spiel gibt es sehr viele Sicherheits-Aspekte, die man beachten muss. Hier unterscheidet Payer zwei Gruppen: "Safety" und "Security".
Zu ersterer gehören unter Anderem die Belastbarkeit, Ausfallsicherheit und Ergonomie des Produkts sowie die Privatspähre des Users. Die zweite Gruppe, die Payer ansprach, schützt das System vor den Usern. Dazu gehören die Fairness, die Zugriffskontrolle, die Integrität und Verfügbarkeit des Systems.
Hier muss sichergestellt werden, dass Spieler sich gegenüber anderen Spielern keinen unfairen Vorteil gegenüber anderen Spielern verschaffen, dass das System jederzeit verfügbar ist und eben nicht Ziel von Angriffen wird.
Als Beispiel eines solchen "unfairen Vorteils" nannte er die so genannten Farmbots. Sie sorgen dafür, dass der Spieler Erfahrung, Gold oder welchen Rohstoff auch immer automatisiert einsammelt, ohne dass der Spieler real vor dem Computer sitzt und spielt. Eine "Abart" dieser Bots ist ein zweiter Charakter im Online-Spiel, der erstmal in keiner Verbindung zum Haupt-Charakter des eigentlichen Spielers steht. Er ist dazu befähigt, vorprogrammierte Wege abzulaufen, Rohstoffe einzusammeln und anderen Spielern auf Anfrage zu antworten.
Zerstörung der Spiel-Ökonomie
Andere Spieler verlieren aufgrund der Unfairness die Lust am Spiel. Außerdem befähigen sich die Cheater einer Macht, die ihnen nicht zusteht. Damit ist die gesamte Spiel-Ökonomie gestört. Und das ist für ein Unternehmen tödlich. Ist im Spiel Geld im Umfluss, welches nicht vom Unternehmen "abgesegnet" wurde, ist ein Ungleichgewicht im Markt. Ist zu viel Geld im Umfluss und hat jeder zu viel, werden die Preise für Gegenstände angehoben. Ist ein ehrlicher, armer User davon betroffen, wird er die Lust am Spiel verlieren und nicht weiter in das Spiel investieren, um sich neue Ausrüstungsgegenstände zu kaufen.
Gegenmaßnahmen
Payer nannte dazu einige Gegenmaßnahmen, die ClipSoft in Tibia vornimmt. Vor allem ist es die Community im Spiel, die Cheater meldet. ClipSoft hat außerdem die Menge an Geld limitiert, die ein Charakter einem anderen Charakter im Spiel schenken kann. Durch die Implementierung vieler weiterer Sicherheitsfeatures und das Bannen durch Game Masters sowie ein automatisches System zur Bestrafung von Cheatern versucht man nun, diesem Problem entgegen zu wirken.
Payer führte noch einmal besonders den allseits berühmten "Wall Hack" an, dem in der Cheating-Szene besonders im Spiel
Counter Strike große Begeisterung gezollt wird.
Missbrauch von Macht
Außerdem erwähnte er den bereits angesprochenen Missbrauch von Macht, wenn sich Spieler mehr Funktionen im Spiele-Client verschaffen, als ihnen zusteht oder Befehle ausführen, zu denen sie eigentlich nicht berechtigt sind.
Der kritischste Punkt, der zugleich auch der schwerwiegendste ist, ist die Verfälschung von Daten, die an Mitspieler gesendet werden. Dazu muss der Cheater, der dann gleich nebenbei auch noch zum Hacker wurde, bereits Zugriff auf den Spieleserver haben. So kann man den Mitspieler in dem Glauben lassen, man stünde noch vor ihm, obwohl man längst den Angriff aus dem Hinterhalt plant. Der Mitspieler wähnt sich in Sicherheit, denn der Cheater steht in seinen Augen ja noch vor ihm.
Ein letzter angesprochener Punkt war das Account Sharing. Durch einen Zusammenschluss mehrer Spieler rund um die Welt könnte man einen Charakter also vierundzwanzig Stunden am Tag trainieren und so einen weiten Vorsprung durch scheinbar "krampfhaftes" Spielen erzielen.
Maßnahmen gegen Cheater
Man macht das Cheaten einfach unmöglich. Der Saal bricht in lautem Gelächter aus. Man kann das Cheaten nicht "mal gerade" unmöglich machen. Ein System - vom Menschen gebaut - kann auch vom Menschen zerstört werden.
Ein zweiter und viele weitere Ansätze brachten Payer aber wieder die Aufmerksamkeit:
Cheater müssen erkannt und gesperrt werden. Beobachter, die einen solchen "Hack" beobachten, sollten belohnt werden wenn sie einen Vorfall melden.
Wenn alle Stricke reißen, dann müssen die Regeln des Spiels geändert werden und Features, die im Spiel sonst erschlichen wurden, werden ins Spiel eingebaut. Damit macht man das Cheaten überflüssig.
Account-Hacking
In der Anfangsphase von Tibia wurden die Login-Daten unverschlüsselt vom Spieler zum Server gesendet. Jeder auf dem Weg vom heimischen PC bis zum Spieleserver in Süddeutschland konnte den Usernamen und das Passwort einsehen.
Später wurden die Login-Daten mittels RSA, einem asymetrischen Verschlüsselungsverfahren chiffriert, sodass Angreifer von außen nun auch draußen blieben. Bei der Anmeldung einigen sich beide Seiten auf ein Geheimwort, welches dann zur weiteren Kommunikation dient. Alle Daten, ob Spielerposition oder Kartenmaterial wurden also ebenfalls verschlüsselt.
Knackpunkt: Auch dieses Verfahren war nicht lange sicher. Hacker konnten das Paket mit dem Username und dem Passwort zwar nicht mehr lesen, allerdings konnten sie es aufzeichnen und zu einem späteren Zeitpunkt wieder absenden. Das würde den Spieler aus dem Spiel werfen und den Hacker erfolgreich einloggen. Das Passwort stimmte ja überein.
Zu diesem Zeitpunkt wurde das Challenge-System eingeführt. Bevor der Client seine Daten senden würde, forderte der Server den Client auf, eine bestimmte Aufgabe zu lösen. Diese ist zeitabhängig, nur kurz gültig und kann kein zweites Mal eingespielt werden. Der Client verschlüsselt die Antwort wieder und schickt sie mit den Zugangsdaten an den Server. Der Server entschlüsselt die Daten und sieht, dass der Zeitpunkt nicht mit dem aktuellen übereinstimmt und verweigert eine weitere Zusammenarbeit.
Zum Abschluss kann man also sagen, dass folgende Gegenmaßnahmen zielführend sind und in einem neuen Projekt unbedingt bedacht werden sollten:
Die Nutzung einer Verschlüsselung ist unbedingt notwendig. Ebenso sollten User auf die Verwendung eines komplizierteren Passworts hingewiesen werden, um Brute-Force-Attacken abzuschmettern.
Die Verwendung von so genannten "Challenges", also Herausforderungen im Authentifizierungsablauf hilft, Betrüger schon früh aus dem System zu werfen.
Payer endet mit dem allzu treffenden Satz:
"
Jede Kette ist nur so stark wie das schwächste Glied."
Es bringt nichts, nach Perfektion in einem (Sicherheits-)Aspekt zu suchen, wenn dabei alle anderen auf der Strecke bleiben. Hacker finden jede Sicherheitslücke. Es gibt keine Möglichkeit, Hacker von vornherein zu erkennen. Deswegen muss man jede Eingabe prüfen und entsprechend verarbeiten.
Es gibt kein sicheres System.
Angreifer müssen nach aller Möglichkeit abgewehrt werden und dürfen unter keinen Umständen ins System gelangen. Gelangen sie doch ins System, so sollten sie schon Daten vorfinden, die legitim erscheinen, aber letztendlich vollkommen nutzlos sind. Eine effektive Möglichkeit, Hacker aus dem Spiel zu halten, ist es sie zu sperren. Welche Kritikpunkte dafür in Frage kommen, liegt im Ermessen des Programmierers.