Sicherheit in Online-Spielen

Am Donnerstag den 11. Juni hielt Stefan Payer, einer der Gründer von CipSoft, einen Vortrag über die verschiedenen Sicherheitsaspekte in Online-Spielen. Als Beispiel dienten Tibia und Tibia ME, zwei Spiele, die von CipSoft entwickelt werden.

Angefangen bei der Differenzierung zwischen Sicherheit FÜR den Spieler (z.B. in Bezug auf Epilepsie), die im Englischen mit „safety“ bezeichnet wird, und der Sicherheit des Spiels (eng. security) wurden zahlreiche wichtige Details betrachtet, die bei der Implementierung von Online-Spielen beachtet werden müssen.

Als Anbieter von Onlinespielen muss sich die Regensburger Spieleschmiede mit verschiedensten Arten böswilliger Angriffe auf ihre Server auseinandersetzen. So unterschiedlich wie die Attacken selbst sind dabei auch die Motive der Angreifer.

Während einige schlichtweg ihre Fähigkeiten als Programmierer testen wollen, suchen andere nach Wegen im betroffenen Onlinespiel (im Falle von CipSoft ist das Tibia) einen Vorteil gegenüber anderen Spielern zu erlangen. Zusätzlich wollen Hacker die Nutzerdaten der Spieler erbeuten und sich daran bereichern.

Um Spieler daran zu hindern Kommandos abzusetzen, die ihnen nicht erlaubt sind, ist eine serverseitige Validierung aller Benutzereingaben sehr wichtig. Ein weiteres Problem ist zum Beispiel die Veränderung des Clients, sodass zusätzliche Informationen im User Interface angezeigt werden oder das Spiel teilweise automatisiert wird. Während das sogenannte Botting meist durch die AGB eines Spieles untersagt werden, ist es schwer bis unmöglich, solche Veränderungen an Spielclients festzustellen. Hier lautet die einzige Lösung, das Botting durch passende Regeländerungen in der Ingame-Logik oder durch Hinzufügen zusätzlicher Features zum eigentlichen Client (bzw. Verkauf als Premium Features) unattraktiv zu machen. Weiter werden Spieler, die beim Cheaten erwischt werden, vom Spiel ausgeschlossen.

Neben solchen allgemeinen Problemen, mit denen wahrscheinlich jeder Spieleentwickler zu kämpfen hat, ging Herr Payer auch auf ein paar Fehler ein, die sich zu Beginn eines solchen Projekts meistens durch Unerfahrenheit einschleichen (oder weil man sich nicht vorstellen kann, was Spieler alles machen...). Ein prominenter Vertreter dieser Art ist die Verschlüsselung des gesamten Datenverkehrs zwischen Spielclient und Server, die sowohl gegen Replay-Attacks als auch gegen einfache MITM Attacken geschützt sein muss. Der Test aller Parameter einer Funktion auf Validität gehört hier ebenso dazu (z.B. schieße auf Feld XY, wobei XY aber im Sichtbereich des Charakters sein sollte).

Am Ende des Vortrags wurde auf DDoS Attacken eingegangen und wie man zumindest einen Teil verhindern kann. Hier werden z.B. "Stateful Firewalls" eingesetzt. Die Wahl des Rechenzentrums spielt ebenso eine Rolle, denn je besser die Anbindung des Rechenzentrums und der gemieteten Server innerhalb jenes ist, desto größer müssen eingehende DDoS Attacken ausfallen, um Schaden anzurichten.

Abschließend gingen wir zusammen mit Herr Payer zum Pizza essen ins PADU, wo wir den Abend bei regen Diskussionen über die verschiedensten Sicherheitsmechanismen, aber auch Angriffsvektoren, ausklingen ließen.