Come funziona timeseal? [chiuso]


8

So che la fics (server di scacchi Internet gratuito: www.freechess.org/) utilizza un programma chiamato timeseal per misurare il tempo necessario a un utente per muoversi. Questo timeseal è una misurazione del tempo sul client. Misurare sul client è molto meglio e più equo che misurare il tempo sul server poiché non si perde tempo solo con una connessione errata.

Ma poiché la fics ha molte interfacce su cui giocare - cosa impedisce alle interfacce canaglia di dire che hanno sempre usato solo 0,1 secondi per ogni mossa? Qualcuno sa come viene gestito?

Solo un sidenote: non voglio costruire un'interfaccia canaglia, ma sto cercando di costruire qualcosa di simile che sta misurando il tempo lato client ma non dovrebbe essere facile imbrogliare.


2
Questa è probabilmente una domanda che può essere posta meglio in uno scambio di programmazione, dato che non è specifica per gli scacchi, anche se questa implementazione lo è. A una certa ipotesi, viene utilizzata una qualche forma di offuscamento, poiché non è possibile crittografare il funzionamento in memoria senza avere la chiave da qualche parte sul client. (O potresti averlo risiedere sul server, ma poi questo sconfigge totalmente il punto delle operazioni sul lato client ...)
Jonathan Garber

Risposte:


12

Sono un giocatore di scacchi e un programmatore. In realtà c'era un articolo su questo 10 anni fa sulla data e ora e altre misure di sicurezza sull'ICC. Dovresti leggerlo con la consapevolezza che le cose potrebbero essere diverse ora:

Come imbrogliare negli scacchi: un'analisi della sicurezza di Internet Chess Club

Ma in generale, hai ragione. È possibile manipolare i tempi riportati in timeseal (timestamp). L'ho fatto davvero, anche con l'interfaccia ufficiale di ICC, solo per vedere se si può fare. Gli hack di velocità esistono per molti giochi e ho usato un programma di hacking di velocità esistente per rallentare il mio orologio invece di accelerarlo (cosa che normalmente faresti per correre più veloce in un gioco). Il risultato è stato un gioco a cui ho giocato contro KBNK (un bot che ti permette di esercitarti in B + N mate), in cui ho accoppiato il computer dopo circa 30 mosse in meno di 3 secondi di tempo di gioco. Fare una media di 0,1 secondi per mossa su un compagno non banale è decisamente innaturale.

Ho segnalato l'effetto agli amministratori del sito, ma mi è stato detto che erano in grado di rilevarlo. In effetti, avevano un registro dei miei timestamp fraudolenti rilevati (da qualche parte ... suppongo che possano vedere falsi rapporti palesi, oltre a confrontarli con i timestamp TCP / IP e vedere se i numeri sono ragionevoli). Mi è stato detto che erano in grado di rilevare tali imbrogli e per favore non usarli ma grazie per la mia preoccupazione.

Quindi, sì, è possibile manipolare qualsiasi lato client, ma è anche possibile che possano rilevare timestamp fraudolenti lato server. I server di scacchi migliori in genere dispongono già di un team di persone che studia le segnalazioni di imbrogli, tramite manipolazione del computer o dell'orologio.


grazie - quel documento descrive principalmente quello che stavo cercando.
Simon Meyer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.