Allgemeines Hacker können nicht mehr Joinen durch Programm!

PrikeLP

Mitglied
30 Jan. 2015
5
3
573
Hallo zusammen!

Als ich mir ein Spiel in Steam heruntergeladen hatte fiel mir auf das man nur in den Multiplayer konnte wenn man
eine Software installiert hatte die den Spielclient auf unerlaubte Modifikationen überprüfte.
Meine Idee wäre dass ohne dieses Programm bei connecten auf GommeHD.net, eine Meldung erscheint, dass man sich unter einem Link diese Software runterzuladen hat, um weiterhin auf GommeHD.net spielen zu können.
So könnten auch unerlaubte Mods auf GommeHD.net nicht mehr verwendet werden.
Zur allgemeinen und betriebssystemübergreifenden Verfügbarkeit, würde ich das Programm als Java Datei bzw.
Java-Installer zur Verfügung stellen. Damit sollten sich die Devs auf GommeHD.net ja bestens auskennen :D


Mfg PrikeLP
 
  • Like
Reaktionen: Failureofficial
D

Deleted member 16202

Unregistriert
@Ich05 in meinem Ansatz verwende ich AES-256 für die Verschlüsslung.
Für was? Eine symetrische Verschlüsselung ist in dem Fall meiner Meinung nach vollkommen sinnlos weil hier keine großen Datenmengen verschickt werden müssen. Eine Public-Key-Verschlüsselung würde hierbei völlig ausreichen und ist zusätzlich auch viel flexibler.
@Ich05 Das mit der Uhrzeit ist Schwachsinn.
Und kannst du mir das genauer erklären? Wenn ein Hacker das Packet einmal aufgezeichnet hat, dass er legit spielt, kann er dieses Paket beim nächsten Joinen einfach nocheinmal verschicken. Eine Uhrzeit würde das hierbei verhindern.
@Ich05 zusätzlich kann ich den Quellcode nicht veröffentlichen, da dies sonst die Sicherheit des Systems beeinträchtigen würde.
Bei meinem Ansatz basiert die Sicherheit nur auf der Geheimhaltung des geheimen Schlüssels zum Signieren, da ist es egal ob der Rest des Quellcodes öffentlich ist.
 

SkyCryHD

Mitglied
20 Juni 2015
43
5
253
@SkyCryHD serverseitig würde das nicht ohne versenden des keys gehen
@Ich05 in meinem Ansatz verwende ich AES-256 für die Verschlüsslung.
Der Key kann nicht ausgelesen werden.

EDIT:
@Ich05 Das mit der Uhrzeit ist Schwachsinn.
@Ich05 zusätzlich kann ich den Quellcode nicht veröffentlichen, da dies sonst die Sicherheit des Systems beeinträchtigen würde. z.D. Hackbarer
Poste auf github - das ist doch sowieso noch nicht für Gomme oder - die Devs sollten es dann selbst nachschreiben, aber das system ist wertlos da die spieler bzw die eltern der spieler diese nichts runterladen würden für den Server..
es sind ja meist 12 jährige kinder die an den Pcs von den eltern zocken..
 
  • Like
Reaktionen: Ich05

Nightishaman

Premium
29 Dez. 2013
122
102
710
@Home
Für was? Eine symetrische Verschlüsselung ist in dem Fall meiner Meinung nach vollkommen sinnlos weil hier keine großen Datenmengen verschickt werden müssen. Eine Public-Key-Verschlüsselung würde hierbei völlig ausreichen und ist zusätzlich auch viel flexibler.

Und kannst du mir das genauer erklären? Wenn ein Hacker das Packet einmal aufgezeichnet hat, dass er legit spielt, kann er dieses Paket beim nächsten Joinen einfach nocheinmal verschicken. Eine Uhrzeit würde das hierbei verhindern.

Bei meinem Ansatz basiert die Sicherheit nur auf der Geheimhaltung des geheimen Schlüssels zum Signieren, da ist es egal ob der Rest des Quellcodes öffentlich ist.
In meinem Ansatz verwende ich einen einmaligen Session Key für die Authentifizierung

EDIT:
@Ich05, wenn du gute Ideen für den Schutz hättest, lasse die mir bitte zukommen

Bei meinem Ansatz basiert die Sicherheit nur auf der Geheimhaltung des geheimen Schlüssels zum Signieren, da ist es egal ob der Rest des Quellcodes öffentlich ist.
Das Problem hier bei ist, dass der Schlüssel mit ein paar Programmen einfach aus dem Programm extrahiert werden kann.
 
D

Deleted member 16202

Unregistriert
Aber der Session-Key muss doch ausgetauscht werden? Wie geschieht das?


Dein Ansatz fordert doch noch viel mehr Geheimhaltung? Bei dir muss der gesamte Code geheim sein, bei mir reicht ein kleiner Teil. Und du brauchst doch auch einen Schlüssel zum Verschlüsseln? Wie hälst du ihn geheim?
 

Nightishaman

Premium
29 Dez. 2013
122
102
710
@Home
@Ich05 ich verwende da so einen kleinen Trick.
Der Session Key wird einmal an den Spieler und an den Server gesendet. Dann sendet der Spieler den Token über einen Custom Payload zum Server. Dann ist er validiert. Sollte der Spieler einen Ping over 3000ms haben hat er den Login verkackt.

EDIT:
Und dann,dann,dann,dann,dann

EDIT2:
Das war extra.

Wie hälst du ihn geheim?
Ich halte ihn garnicht geheim. Auf Clientseite existiert er nicht. :D
 
D

Deleted member 16202

Unregistriert
@Ich05 ich verwende da so einen kleinen Trick.
Der Session Key wird einmal an den Spieler und an den Server gesendet. Dann sendet der Spieler den Token über einen Custom Payload zum Server. Dann ist er validiert. Sollte der Spieler einen Ping over 3000ms haben hat er den Login verkackt.

EDIT:
Und dann,dann,dann,dann,dann

EDIT2:
Das war extra.


Ich halte ihn garnicht geheim. Auf Clientseite existiert er nicht. :D
Kannst du mal einen groben schrittweisen Plan erstellen wie dein Programm funktioniert?

Und wie verhinderst du dass nicht ein böswilliger einen Sessionkey bekommt?
 

SkyCryHD

Mitglied
20 Juni 2015
43
5
253
@Ich05 ich verwende da so einen kleinen Trick.
Der Session Key wird einmal an den Spieler und an den Server gesendet. Dann sendet der Spieler den Token über einen Custom Payload zum Server. Dann ist er validiert. Sollte der Spieler einen Ping over 3000ms haben hat er den Login verkackt.

EDIT:
Und dann,dann,dann,dann,dann

EDIT2:
Das war extra.


Ich halte ihn garnicht geheim. Auf Clientseite existiert er nicht. :D
Aber nen hackclient kann genau das gleiche einbauen.

egal was du in den Client einbaust, jeder kann es sehen, man kann auch obfuscated code durchblicken, braucht nur nen bischen zeit, die gleiche zeit, wie für nen neues Anticheat ca.
also nicht lang.
 

Nightishaman

Premium
29 Dez. 2013
122
102
710
@Home
Der Sessionkey wird vom Master-server nach einer gewissen Zeitspanne invalidiert.

EDIT:
Da ich von dem Prinzip erstmal doch nix halte veröffentliche ich sobald ich am PC bin auf GitHub.
Wer die URL will soll mich anschreiben.
 

expeehaa

Mitglied
19 Juni 2015
305
1.283
1.065
github.com
@Ich05 Das mit der Uhrzeit ist Schwachsinn.
Das ist gar nicht so doof. Wenn man jedes Paket mit einer Absenderuhrzeit ausstattet, kann der Server darauf entsprechend reagieren. Gibt es keine Uhrzeit/eine noch nicht gültige Uhrzeit, wird das Paket ignoriert. Hat das Paket eine Zeitsignatur, die vor dem letzten angekommenen Paket des Clients liegt, wird es ebenfalls ignoriert, und liegt das letzte Paket mehr als 1s (eher kürzer) zurück, landet es ebenso im Papierkorb. Ich weiß nicht, ob das so funktioniert oder schon gehandhabt wird, aber aus meiner Sicht als Laie in diesem Gebiet sieht es machbar aus. Dazu bräuchte man nur einen kleinen Mod, der die Client-Server-Kommunikation verändert, allerdings nur bei bestimmten Servern (konfigurierbar).
Ich nehme mal an, ich stelle mir das ganze viel zu einfach vor, aber das müsste doch in etwa funktionieren?
 
  • Like
Reaktionen: Ich05

SkyCryHD

Mitglied
20 Juni 2015
43
5
253
Aber nen hackclient kann genau das gleiche einbauen.

egal was du in den Client einbaust, jeder kann es sehen, man kann auch obfuscated code durchblicken, braucht nur nen bischen zeit, die gleiche zeit, wie für nen neues Anticheat ca.
also nicht lang.
Ich wiederhole es jederzeit gerne, Einfach Decompilen und Kopieren,
 

Soziale Medien

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop