Parte: 19 — Seguridad de videojuegos, cheats y anti-cheat · Fuente principal: documentación de Epic Games y Valve ⏱️ Duración estimada: 120 min · Nivel: Avanzado
Comprender y verificar multiplayer y autoridad: nunca confiar en el cliente sobre el Game Security Range, conectando vulnerabilidad, abuso controlado, telemetría, evidencia, causa raíz, mitigación y prueba de regresión sin actuar sobre software de terceros.
Al finalizar, el alumno podrá:
| # | Tema | Evidencia esperada |
|---|---|---|
| 1 | Client-authoritative vs server-authoritative | Produce una decisión o evidencia verificable |
| 2 | Movimiento, combate y cooldown | Produce una decisión o evidencia verificable |
| 3 | Inventario, moneda y score | Produce una decisión o evidencia verificable |
| 4 | Predicción, corrección e invariantes | Produce una decisión o evidencia verificable |
Client-authoritative acepta resultados: 'estoy aquí', 'hice daño', 'tengo saldo'. Server-authoritative acepta intenciones: 'quise moverme', 'presioné disparo', 'solicito comprar'. El servidor comprueba estado previo, reglas, tiempo y recursos antes de producir el resultado. Esto no exige un cliente torpe: puede predecir para responder rápido y reconciliar cuando llega la verdad.
Cada dominio necesita invariantes. Movimiento limita desplazamiento y transición; combate valida arma, munición, cooldown, línea de visión y daño; economía usa transacciones idempotentes y saldo autoritativo; score deriva de eventos confirmados. La frase 'nunca confiar' significa validar según contexto, no rechazar todo. Un servidor que acepta comandos bien formados pero semánticamente imposibles sigue siendo vulnerable.
El diagrama se lee como un bucle de ingeniería, no como una cadena de sanción. El supuesto habilita un abuso dentro del target propio; la señal solo permite formular una hipótesis; la decisión incorpora contexto; la mitigación debe volver al supuesto y demostrar con una regresión que la confianza cambió. Si el último arco no puede verificarse, solo se ocultó el síntoma.
| Término | Definición en contexto |
|---|---|
| Client-authoritative | Concepto de esta clase aplicado al Game Security Range y a su frontera de confianza. |
| Movimiento, | Concepto de esta clase aplicado al Game Security Range y a su frontera de confianza. |
| Inventario, | Concepto de esta clase aplicado al Game Security Range y a su frontera de confianza. |
| Predicción, | Concepto de esta clase aplicado al Game Security Range y a su frontera de confianza. |
python -m unittest discover -s tests -v desde labs/game-security y conserva la línea base.síntoma → timeline → evidencia → hipótesis → causa raíz → fix → regresión.Entrega una ficha con threat boundary, reproducción en el rango, evento de telemetría, decisión explicada, alternativa legítima, causa raíz, mitigación y prueba de regresión.
Criterio de aceptación: otra persona puede ejecutar los comandos con la misma semilla, obtener la evidencia citada y comprobar que la mitigación bloquea el caso adversarial sin romper el caso normal.
| Síntoma | Causa y corrección |
|---|---|
| La anomalía se trata como culpabilidad | Falta contexto; correlaciona y revisa alternativas legítimas. |
| El control solo oculta un valor | La autoridad no cambió; valida o deriva el estado en servidor. |
| El experimento no se reproduce | Faltan semilla, versión, unidades o configuración; regístralas. |
| El detector castiga lag/FPS | El dataset no estratifica condiciones; evalúa por subpoblación. |
| Se propone instrumentar terceros | Fuera del alcance; usa exclusivamente el target educativo. |
¿Una alerta basta para sancionar? No. Es una hipótesis con un nivel de confianza; la consecuencia exige evidencia proporcional, política, auditabilidad y apelación.
¿Ofuscar el cliente resuelve el problema? Puede elevar costo, pero no reemplaza autoridad, invariantes ni minimización de información.
¿Por qué el laboratorio es sintético? Permite controlar verdad, semilla y falsos positivos sin invadir jugadores ni construir una herramienta reutilizable contra terceros.
Clase 350 — Triggerbot, macros, input automation y bots