Ich habe nun ein Spiel im Moorhuhn-Stil, das einfach Hashes übergibt, die vom Server kommen. Mit einem Sniper konnte ich das Spiel selbst manipulieren. Eine Verschlüsselung des Punktestandes bringt da auch nichts, das Verschlüsselungsverfahren kann man ja auch in der swf lesen.
Nun möchte ich gerne auf die genannten Elemente zu Verbesserung der Sicherheit eingehen. Ich würde gerne seitenlange Manuals dazu lesen, finde aber leider nirgendwo keine.
Ich danke auf jeden Fall jetzt schon für die Erklärungen.
Sofern es wirklich sicher sein muss, sollte man eine komplexere Server- / Client-Struktur aufbauen, mit Cookies, Sessions & Tickets und dann alle Nase lang Daten hin & her schicken,
Bei einem Spiel in der Form von Moorhuhn kann ich fakesicher nur dafür sorgen, kein Spiel nochmal zu starten und kein Punktestand aus einer Session mehrmals zu senden. Zudem werden Hashes wie beschrieben übergeben, aber die kann man ja auslesen mit bestimmten Proggs.
generell soviel wie möglich auf dem Server ausrechnen lassen, immer prüfen ob nicht irgendein sinnvolles Maximum überschritten wurde.
Es ist wohl in meinem Fall nicht möglich, weitere Daten auszutauschen. Beim Quiz z.B. wäre die Sache klar, aber die Punktevergabe durch ein Klickspiel bestimmt immer noch der Client durch seine Mausklickerei.
Immer nur bestimmte Server zulassen, also jede SWF sollte gucken ob ihre _url auch die ist die sie sein soll.
Welche Funktion / welches Stichwort bringt mir die Informationen für ActionScript?
Jede Menge relative Ladeaufrufe (../ordner/datei, usw ), mit dem Ziel das es möglichst schwer ist "mal eben" die Serverstruktur zu simulieren.
Stimmt, das werde ich ändern.
Auf keinen Fall irgendwo eine Fehlermeldung ausgeben, die sind dann komfortable "Wegweiser" für "Hacker" im Sinne von: "Ach hier fehlt noch eine Variabel, was ist denn mit der hier?. Ah, Geht doch." Dann lieber immer so tun als hätte alles geklappt.
Und jegliche Kommunikation verschlüsseln, MD5 bietet sich da meistens an.
Da sollten die Schlüssel zum dekrypten möglichst gut versteckt sein.
Also lieber mc0.rahmen.container.xVal als _root.secret.
Ja, so habe ich es umgesetzt.
Ich weiß also gar nicht genau, wie ich weiter verfahren soll, um das Spiel auch mit großem Aufwand recht sicher zu gestalten. Ist das in diesem Fall prinzipiell möglich?
EDIT:
Doch noch etwas gefunden:
ms_hh (flashforum.de) hat gesagt.:
- Verschlüsseln der Kommunikation zum Server( z.B. "Diffi-Hellmann", "Rijndael" etc.)
- laden von SWFs zu laufzeit, welche "server-tickets" enthalten. Diese "Inhalte", schickst Du mit zum Server, der dann validieren kann ob du "echt" bist.
- Du kannst deinen Source-Code "obfuscaten" -> obfu
- viel verschleiern.
Entdeckt habe ich auch
dieses System, wie schätzt ihr es ein?