Hasentod
Active member
- Registriert
- 12 Januar 2008
- Beiträge
- 654
- Punkte Reaktionen
- 0
und klar gibt es immer bots, aber zumindest keine maphacks, itemdupes, unzerstörbarkeits hacks, waffenhacks usw. usw...
Bei der Behauptung muss ich leider einen leichten Hang zur Naivität unterstellen. Das Sicherheitskonzept "Security by Obscurity" ist immer nur maximal eine Ergänzung zur Sicherheit in IT-Systemen, niemals die Grundlage. In der Praxis stellte sich dieses Konzept im Gegenteil in vielen Fällen als kontraproduktiv heraus, wenn Programmierer an anderer Stelle schlampig arbeiten und sich auf die Geheimhaltung verlassen. Sobald dann ein Zufallstreffer durch einen Angreifer erfolgreich ist, brechen die Sicherheitskonzepte wie Kartenhäuser zusammen.
Die Möglichkeit die Server gezielt abstürzen zu lassen und das Zurücksetzen der Datenbank auszunutzen (auch bekannt als Rollback, aber wenn es ein richtiger Rollback wäre, dann gebe es keine Inkonsistenzen) war wohl die bekannteste Dupe-Möglichkeit in D2. Wenn die Datenpakete der Clients durch den Server nicht korrekt geprüft werden, können Programmabstürze im neuen D3 genauso erzeugt werden. Dazu muss nicht einmal der Code bekannt sein. Ein paar Bits im Datenverkehr per Fuzzing zu kippen hat schon so manchen Webserver zu Fall gebracht. Das Dupeproblem läßt sich auch sehr einfach aus der Welt schaffen, indem die gesamte Item/Charakterdatenbank hart die ACID-Kriterien erfüllt. Machbar ist dies zweifelsfrei, stellt aber bei der hohen Anzahl an Transaktionen durch viele Spieler enorme Anforderungen an die Hardware, damit dies nicht zum Flaschenhals wird.
Maphacks sind ebenfalls ein Problem, welches nicht davon abhängt, ob der Servercode bekannt ist oder nicht, sondern nur welche Informationen zu den zufällig generierten Karten dem Client wann zur Verfügung gestellt werden. Der schlechtmöglichste Fall ist die gesamte Karte auf einen Schlag zu übertragen (D2). Dann kann ein Maphack diese Information aus dem Speicher fischen und optimal auswerten. Werden nur einzelne Kacheln der Karte bei Bedarf übertragen (Spieler kommt nahe) sieht es schon besser aus. Aus Performancegründen ist es aber notwendig, zumindest einen kleinen Kartenabschnitt im Vorraus zu übertragen. Davon kann ein Maphack immer noch Vorteile ziehen. Die Frage ist, ob der Vorteil ausreichend nutzenswert ist.
Ob die Algorithmen zum Erzeugen der Karten nun in der geheimen Serverkomponente oder auch auf dem Rechner des Benutzers vorliegen spielt dabei absolut keine Rolle. Nicht die Erzeugung ist wichtig, nur das Ergebnis. Und dies kann nicht geheim sein, weil der legitime Spieler die Karte auch sehen will und kann.
Und zum Schluss, wenn sich mit dem Aktionshaus Geld verdienen lässt, dann wird nicht nur Kacknoob-Sciptkiddy versuchen D3 zu hacken. Sobald Geld in nennenswerten Umfang zu verdienen ist, interessieren sich auf (Semi-)Profis aus der legalen Grauzone dafür Programmierlücken zu suchen.
Fazit: Mehr Sicherheit durch serverbasierte Ausführung des Codes ist nur eine Fassade. Wie sicher die Implementierung dahinter aussieht ist entscheidend. Ob lokal oder serverbasiert ist nicht entscheidend.
Sicher wäre es vielleicht erst, wenn der Client nicht mehr selbst irgendwas berechnet. Dieser schickt nur noch Tastatur und Mausklicks zum Server und bekommt als Antwort einen Videostream. Und leider sind solche Szenarien schon lange existent...