Sé que los fics (servidor gratuito de ajedrez de Internet: www.freechess.org/) utilizan un programa llamado timeseal para medir el tiempo que un usuario necesitaba para moverse. Este timeeal es una medida de tiempo en el cliente. Medir en el cliente es mucho mejor y más justo que medir el tiempo en el servidor, ya que no pierde tiempo solo por tener una mala conexión.
Pero dado que los fics tienen muchas interfaces para jugar, ¿qué impide que las interfaces no autorizadas digan que siempre usaron 0.1 segundos para cualquier movimiento? ¿Alguien sabe cómo se maneja esto?
Solo una nota al margen: no quiero construir una interfaz maliciosa, pero estoy tratando de construir algo similar que esté midiendo el tiempo del lado del cliente pero que no debería ser fácil de engañar.
fuente
Respuestas:
Soy un jugador de ajedrez y programador. En realidad, hubo un documento sobre esto hace 10 años sobre la marca de tiempo y otras medidas de seguridad en ICC. Debe leerlo con el entendimiento de que las cosas pueden ser diferentes ahora:
Cómo hacer trampa en el ajedrez: un análisis de seguridad del Internet Chess Club
Pero en general, tienes razón. Es posible manipular los tiempos reportados en timeseal (marca de tiempo). De hecho, lo he hecho, incluso con la interfaz oficial de ICC, solo para ver si se puede hacer. Los trucos de velocidad existen para muchos juegos y utilicé un programa de pirateo de velocidad existente para ralentizar mi reloj en lugar de acelerarlo (lo que normalmente harías para correr más rápido en un juego). El resultado fue un juego que jugué contra KBNK (un bot que te permite practicar B + N mate), en el que emparejé la computadora después de unos 30 movimientos en menos de 3 segundos. Promediar 0.1 segundos por movimiento más o menos en un compañero no trivial definitivamente no es natural.
Informé el efecto a los administradores del sitio, pero me dijeron que pudieron detectarlo. De hecho, tenían un registro de mis marcas de tiempo fraudulentas detectadas (en algún lugar ... supongo que pueden ver informes falsos evidentes, así como compararlo con las marcas de tiempo TCP / IP y ver si los números son razonables). Me dijeron que pudieron detectar tales trampas y por favor no usarlas, pero gracias por mi preocupación.
Entonces, sí, es posible manipular cualquier cosa del lado del cliente, pero también es posible que puedan detectar marcas de tiempo fraudulentas del lado del servidor. Los mejores servidores de ajedrez generalmente ya tienen un equipo de personas que investigan los informes de trampas, ya sea por computadora o por manipulación del reloj.
fuente