Teoría de juegos

La teoría de juegos es ampliamente utilizada en economía y estrategia militar porque proporciona un marco formal para analizar este tipo de dinámicas, además de que permite representar los posibles cursos de acción de cada actor, cuantificar sus resultados esperados y descubrir puntos de equilibrio en los que las estrategias de ambos se estabilizan.

Esto, aplicado a la ciberseguridad, no pretende predecir con exactitud el próximo ataque, sino entender cómo evolucionan las decisiones de cada parte y ajustar las defensas en función de los incentivos que guían al adversario.

Dicho esto, y con la finalidad de evitar que el ejercicio se quede demasiado académico, vamos a plantearnos el escenario bajo el que aplicar la teoría:

¿Qué combinación de defensas minimiza la ganancia esperada del atacante dado un presupuesto B y una superficie de ataque S?

Fase 1: Identificación de los elementos del juego

El primer paso es definir quienes son los integrantes de este juego:

  1. Jugadores: Defensor (organización) y Atacante (adversario racional u oportunista).
  2. Estrategias: conjunto de acciones disponibles para cada jugador (defender activos, invertir en detección, lanzar ataque, cambiar vector).
  3. Pagos o utilidades: resultado cuantificado (beneficio o pérdida) asociado a cada combinación de acciones.
  4. Tipo de juego: simultáneo (Nash), secuencial (Stackelberg) o con información incompleta (Bayesiano).

Equilibrio de Nash

En un juego simultáneo, ambos jugadores toman sus decisiones al mismo tiempo sin conocer la elección del otro de forma que cada uno busca maximizar su beneficio (o minimizar su pérdida), asumiendo que el adversario hará lo mismo, por lo que el modelo es útil para evaluar escenarios de ataque y defensa donde las acciones son independientes o casi simultáneas.

Ej: un atacante elige qué vector usar (phishing) al mismo tiempo que el defensor decide qué controles reforzar (MFA).


Juegos secuenciales (Stackelberg)

En los juegos secuenciales, uno de los jugadores mueve primero y el otro reacciona después, lo que permite modelar escenarios más realistas, donde el defensor establece una política o infraestructura visible, y el atacante decide cómo actuar en función de ello.

Ej. El CISO define la política de segmentación de red, las capas de autenticación y los mecanismos de detección (primer movimiento).
El atacante, tras reconocer el entorno, elige qué vector le ofrece el mayor beneficio con el menor riesgo (segundo movimiento).

Es el modelo más útil para el ámbito de la ciberseguridad porque permite:

  • Optimizar inversiones en controles al asignar presupuesto sabiendo que el atacante elegirá el camino más débil.
  • Diseñar estrategias de disuasión haciendo visibles ciertas defensas para redirigir los ataques hacia zonas controladas (por ejemplo, honeypots).
  • Planificación defensiva proactiva al anticipar cómo un adversario racional reacciona ante cambios de política o arquitectura.

Bayesianos

En los juegos bayesianos, los jugadores no tienen toda la información sobre el otro, por lo que es el modelo más cercano al riesgo, ya que cada uno tiene creencias o probabilidades sobre los posibles “tipos” del adversario.

Ej. El defensor no sabe si el atacante es un actor estatal avanzado, un insider descontento o un ciberdelincuente oportunista y cada tipo tiene estrategias distintas, y el defensor asigna una probabilidad inicial a cada perfil de forma que, a medida que se observan acciones (patrones de escaneo, tiempos, técnicas), esas probabilidades se actualizan.

Es decir, el equilibrio bayesiano define las estrategias óptimas considerando incertidumbre y aprendizaje continuo que permite que el sistema de defensa evolucione y se adapte en lugar de depender de suposiciones fijas.

Fase 2: Modelado matemático del entorno

El objetivo de esta fase es traducir el contexto de seguridad en ecuaciones formales y estructuras de decisión y, aunque podemos complejizarlo tanto como queramos, haremos una fomulación sencilla:

  • DD: Defensor
  • AA: Atacante
  • Estrategias:
    • SD={d1,d2,…,dm}SD​={d1​,d2​,…,dm​}
    • SA={a1,a2,…,an}SA​={a1​,a2​,…,an​}

Cada par de estrategias genera una utilidad para ambos jugadores: UD(di,aj) UA(di,aj)

  • Estrategias: El objetivo es obtener una tabla que muestra todas las combinaciones posibles de acciones entre atacante y defensor, y el resultado que obtiene cada uno en cada caso en una horquilla de valores -10/10.
Defensor / AtacanteAtaca ERPAtaca CRMAtaca Intranet
Defiende ERP(-1, 1)(-6, 4)(-5, 3)
Defiende CRM(-7, 5)(-2, 1)(-4, 3)
Defiende Intranet(-6, 4)(-5, 3)(-1, 1)

Siguiendo la tabla, si el defensor defiende ERP y el atacante ataca ERP, el impacto será bajo (-1,1).

Tipo de juego: Escogemos Stackelberg, por lo que formalmente aplicaríamos max⁡di∈SD = UD(di,aj∗(di)) donde aj∗(di)aj∗​(di​) es la mejor respuesta del atacante ante cada defensa.

Siguiendo el ejemplo:

  • ERP: valor 100
  • Efectividad de control 0.9
  • Coste de defensa 15
  • Coste de ataque 5

Cálculos: UA=100(1−0.9)−5=5 y UD=−100(1−0.9)−15=−25

Y ahora sin defensa (E=0E=0):UA=95 UD=−100

En base a los cálculos, la decisión del defensor sería proteger el ERP porque la inversión reduce en un 95% el beneficio esperado del atacante.

En el supuesto de que quisiéramos dar un paso más en el modelo con el objetivo de hacerlo más realista, deberíamos incluir:

  • Incertidumbre en las fórmulas mediante distribuciones (Ej.E∼N(0.8,0.05)E∼N(0.8,0.05)).
  • Otros valores de ajuste:
    • V(aj​): valor del activo.
    • E(di,aj): efectividad del control (0–1).
    • CA(aj): coste del ataque.
    • CD(di): coste de defensa.

En definitiva, el valor principal de la aplicación de la teoría de juegos no reside en predecir con exactitud el próximo movimiento del adversario, sino en anticipar los patrones de comportamiento que emergen cuando ambos compiten por recursos y oportunidades, sobre todo porque pensar como ellos es tan importante como protegerse de ellos.