Vertraue keinem Client

Dieser Tage habe ich beim Abarbeiten der RSS-Liste mal genauer in den folgenden Artikel reingesehen:

http://www.heise.de/newsticker/meldung/WoW-Hack-Massensterben-in-Azeroth-1725403.html

Insbesondere war ich verwundert, wieso die WoW-Server gehackt werden und es dann noch einen Level-1-Character braucht um den Schaden zu verbreiten? Aber in den verlinkten Forumsdiskussion wird auf ein clientseitiges Hackingframework verwiesen. Daher meine folgende Vermutung:

Offenbar verläßt sich bei WoW der Server in vielen Dingen auf die Auskünfte des Client – wohl auch bei so essentiellen Punkten wie Schadensverwaltung. Das ist eine verständliche Designentscheidung wenn man Bandbreite und Serverkapazität sparen will. Was passiert kann, wenn der Server alles kontrolliert sieht (bzw. sah) man bei Eve Online vor den jüngsten Optimierungen durch CCP.

Aber man erkauft sich mit einem zu allmächtigen Client potentielle Sicherheitslücken durch Manipulation. Natürlich versucht Blizzard, Clientmanipulationen zu erkennen und natürlich ist es laut EULA verboten. Aber böse Menschen juckt das halt nicht.

Und offenbar ist es jemandem gelungen, dem Server authentisch erscheinende Schadens- oder Killbefehle unterzuschieben. Da es offenbar auch recht schnell mit einem Hotfix behoben wurde scheint der Server sehr wohl in der Lage zu sein, die entsprechenden Clientdaten zu verifizieren. Nur ging man wohl bisher davon aus, daß kein Client sowas sendet.

Also bei der Entwicklung von Client-Server-Systemen nie vergessen: vertraue nie dem Client. Der Client ist potentiell feindlich, insbesondere, wenn er draussen im Internet auf fremder Hardware läuft. Und auch ein gutartiger Client kann immer noch Programmierfehler enthalten, die im worst case den Server abschießen.

Advertisements
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s