Pregunta

¿Alguien sabe cuál es la tendencia con los desarrolladores de MMORPG encriptando sus protocolos cliente / servidor en estos días?

Las ventajas y desventajas son las siguientes.

Protocolo de cifrado:

    ¿
  • protege los secretos comerciales con respecto al protocolo cliente / servidor hasta cierto punto?
  • Los bots no se detienen, solo se cambian porque las personas crearán bots que leerán los estados de la pantalla y luego desencadenarán eventos de mouse + teclado, simplemente mitigando el desarrollo de bots en lugar de detenerlos de todos modos. A pesar de que el desarrollo de bot tiene menos oferta, pero la demanda sigue ahí, simplemente obtienen ofertas más altas en rentacoder.com

Texto sin formato regular:

  • bots más avanzados ya que los desarrolladores pueden inyectar sus propios datagramas en el protocolo cliente / servidor. (es decir, correr a través de las paredes, teletransportarse ... que el lado del servidor tiene que verificar ahora, lo que a su vez conduce a un concurso de desarrollo entre parches de exploits mediante inyección (consume mucho tiempo)
¿Fue útil?

Solución

@Samuel & amp; coxymla:

Eso no es del todo cierto. Si el protocolo utiliza cifrado asíncrono donde la clave privada del servidor es desconocida para el cliente, entonces el bot no puede descifrar la salida del cliente. Esto significa que para modificar los datos salientes, el bot realmente tiene que enganchar el proceso del juego e interceptar los datos antes de que se cifren.

Es bastante simple en teoría, pero puede ser un desafío técnico. Al menos estás elevando el listón para los atacantes.

@Zombies: Más allá del intercambio inicial de claves, la mayoría de los esquemas de cifrado no requieren una transferencia de datos adicional. Además, aunque hay trabajo adicional por hacer cuando se usa el cifrado, la transferencia de datos seguramente estará limitada por la red y no por el procesador.

En pocas palabras, el cifrado no conduce a una transferencia de datos más lenta / más.

Nota de precaución: Esta página de Wikipedia contiene una historia sobre un error de cifrado común cometido por el desarrolladores de Phantasy Star Online. Vale la pena leerlo.

Otros consejos

Agregar cifrado a sus paquetes solo retrasará unos segundos a una persona que escribe un bot. Su cliente necesitaría saber cómo cifrar para enviar datos al servidor y cómo descifrar los datos del servidor, y también lo haría el bot.

Con respecto a la prevención de deformaciones a través de las paredes, siempre debe hacer estas verificaciones. Nunca confíe en la entrada del usuario, incluso si ha escrito el cliente usted mismo.

Como fastcall , aún debe implementar el cifrado de algunos datos. Específicamente los que contienen datos confidenciales, como inicios de sesión y chat.

Como mínimo, el protocolo de inicio de sesión del MMO debe estar encriptado para que las personas en la red del jugador no puedan rastrear paquetes de información de su cuenta.

Esta razón puede extenderse fácilmente a otros datos que envía el reproductor. Por ejemplo, el chat con otros jugadores puede contener información confidencial. Si el juego ya está pasando por la molestia de configurar un protocolo de cifrado para el proceso de inicio de sesión, probablemente no haya muchas razones para desactivarlo después de que haya terminado.

Tenía la impresión de que ninguno de los principales MMO utilizaba el transporte de datos cifrados. Como dijo Samuel, realmente no obtienes ninguna seguridad, ya que el cliente también debe poder cifrar y descifrar los datos.

Es bastante irrelevante. Me imagino que cifran los metadatos, como la información de inicio de sesión y la información de la sesión, pero luego envían los datos de la mecánica del juego de forma clara. Después de todo, el servidor no puede confiar en el cliente de todos modos (no haber sido pirateado).

La mayoría de los piratas informáticos pirateados se conectarán al proceso de ejecución del juego y de todos modos hurgarán con su memoria, lo que es completamente indetectable: a menudo ponen algún reconocimiento de firma que intenta detectar hackbots conocidos que se ejecutan en la memoria, pero esto es esencialmente inútil de lo contrario.

Otra técnica posible para detectar hackbots es detectar patrones de juego de los conocidos.

Cifrar los datos no hace nada, ya que los hackbots atacan al cliente, en la memoria.

Si tiene tiempo, este video de una hora más sobre netcode tiene una parte sobre el cifrado (entre otras cosas como la sincronización del cliente y la compresión de paquetes).

La cita relevante del video es esta: la CPU es barata. Simplemente encripte, tiene suficiente tiempo de CPU para encriptar y el beneficio de encriptar es alto (los clientes no verán los comandos de su cliente, aumenta la barra para piratear, etc.).

La razón principal por la que los desarrolladores deberían agregar cifrado a sus protocolos es por razones de marketing. Simplemente necesitan asegurarse de que su servidor sea solo uno (por ejemplo, si quieren (o ya) quieren hacer una membresía paga) y nadie simplemente escribirá su propio emulador de servidor después de descubrir el protocolo y lo ofrecerá gratis .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top