Como funciona o timeseal? [fechadas]

8

Eu sei que o fics (servidor de xadrez gratuito na Internet: www.freechess.org/) usa um programa chamado timeseal para medir o tempo que um usuário precisava para agir. Esse selo de tempo é uma medida de tempo no cliente. Medir no cliente é muito melhor e mais justo do que medir o tempo no servidor, pois você não perde tempo apenas por ter uma conexão ruim.

Mas como o fics tem muitas interfaces para jogar - o que impede que as interfaces não autorizadas digam que elas sempre usavam apenas 0,1 segundos para qualquer movimento? Alguém sabe como isso é tratado?

Apenas uma nota de rodapé: eu não quero criar uma interface não autorizada, mas estou tentando criar algo semelhante que esteja medindo o tempo do lado do cliente, mas não deve ser fácil enganar.

Simon Meyer
fonte
2
Provavelmente, essa é uma pergunta melhor feita em uma troca de programação, pois não é realmente específica do xadrez, mesmo que seja essa implementação . Suponho que haja alguma forma de ofuscação usada, pois você não pode criptografar o funcionamento da memória sem ter a chave em algum lugar do cliente. (Ou você pode tê-lo residem no servidor, mas depois que derrota totalmente o ponto de operações do lado do cliente ...)
Jonathan Garber

Respostas:

12

Sou jogador de xadrez e programador. Na verdade, havia um artigo sobre isso há 10 anos sobre o carimbo de data e hora e outras formas de segurança no ICC. Você deve lê-lo entendendo que as coisas podem ser diferentes agora:

Como trapacear no xadrez: uma análise de segurança do Internet Chess Club

Mas, em geral, você está correto. É possível manipular os horários relatados no fuso horário (registro de data e hora). Na verdade, eu fiz isso, mesmo com a interface oficial da ICC, apenas para ver se isso pode ser feito. Os hacks de velocidade existem para muitos jogos e eu usei um programa de hack de velocidade existente para diminuir meu relógio em vez de acelerar (o que você normalmente faria para correr mais rápido em um jogo). O resultado foi um jogo que eu joguei contra o KBNK (um bot que permite praticar B + N mate), no qual acasalei o computador após cerca de 30 jogadas em menos de 3 segundos de tempo de jogo. A média de 0,1 segundos por movimento ou mais em um parceiro não trivial é definitivamente antinatural.

Eu relatei o efeito aos administradores do site, mas me disseram que eles eram capazes de detectá-lo. Na verdade, eles tiveram um registro dos meus registros de data e hora fraudulentos detectados (em algum lugar ... eu suponho que eles possam ver relatórios falsos flagrantes, além de compará-los aos registros de data e hora TCP / IP e ver se os números são razoáveis). Foi-me dito que eles eram capazes de detectar tais trapaças e, por favor, não usá-las, mas obrigado pela minha preocupação.

Portanto, sim, é possível manipular qualquer coisa do lado do cliente, mas também é possível que eles possam detectar carimbos de data e hora fraudulentos no lado do servidor. Servidores de xadrez melhores normalmente já têm uma equipe de pessoas que investiga relatórios de trapaça, por manipulação de computador ou relógio.

Alan
fonte
thx - esse papel descreve principalmente o que eu estava procurando.
Simon Meyer