¿Por qué un respondedor IKE debería cambiar la cookie "con frecuencia"?

4

IKEv2 tiene el concepto de un modo COOKIE , para intentar evitar el agotamiento del estado por inundaciones de iniciación solicitudes de direcciones IP inexistentes:

  

Dos ataques esperados contra IKE son el estado y el agotamiento de la CPU, donde      el destino se inunda con solicitudes de inicio de sesión de IP falsificada      direcciones Estos ataques pueden hacerse menos efectivos si un respondedor      utiliza una CPU mínima y no confirma ningún estado a una SA hasta que conozca la      El iniciador puede recibir paquetes en la dirección desde la cual afirma      estaré enviándolos.

Un iniciador envía una solicitud a un respondedor; el respondedor construye una cookie utilizando un secreto que el iniciador no tiene más detalles de la solicitud y la envía de vuelta al iniciador. El iniciador luego repite la solicitud, pero esta vez con la cookie adjunta, lo que demuestra que pueden recibir los paquetes enviados a la dirección IP de origen de la solicitud.

El RFC recomienda cómo se podría construir la cookie:

  

Cookie = <VersionIDofSecret> | Hash(Ni | IPi | SPIi | <secret>)

Donde Ni , IPi y SPIi son valores no secretos que definen de forma única las solicitudes de una dirección IP.

El RFC continúa diciendo que

  

El respondedor debe cambiar el valor de <secret> con frecuencia, especialmente si está bajo ataque.

¿Por qué el RFC hace esta recomendación?

Strongswan implementa esto mediante limitando el número de usos de un secreto a 10000 . Windows incrusta un valor de tiempo con una resolución de 150 segundos (consulte el párrafo 28) en la cookie.

Si no se cambia el secreto nunca , una vez que un atacante haya visto una respuesta para un IP de origen y parámetros de solicitud determinados, puede enviar correo no deseado al respondedor junto con una cookie correcta. Así que ciertamente hay una buena razón para cambiarlo en algún momento.

Pero (asumiendo una buena función hash), la cookie no filtra información útil sobre el secreto del atacante de inundación. Entonces, sin cambiar el secreto más a menudo que, digamos, a lo sumo a diario, este esquema parece proporcionar protección contra el objetivo establecido (agotamiento por estado de las inundaciones de solicitudes de direcciones IP fuera del control del atacante). Un atacante debe observar una respuesta del respondedor a una solicitud de cada dirección IP desde la que desea enviar las solicitudes antes de que el respondedor mantenga cualquier estado para esa solicitud.

Entonces, ¿por qué "con frecuencia"?

(Una respuesta legítima podría ser "¿por qué no?". Me pregunto si hay algo más que hacer.)

    
pregunta Michael 25.02.2013 - 22:29
fuente

1 respuesta

6

Supongamos que el "secreto" se mantiene sin cambios durante semanas. Como atacante, podría hacer muchas conexiones sin falsificación de IP, repartidas en varias semanas. Por lo tanto, reuniría posiblemente millones de "valores de cookie válidos", cada uno para una dirección IP de origen y los parámetros asociados (los valores Ni , IPi y SPTi de la RFC). Este es el paso de preparación.

Luego, cuando realmente se produzca el ataque, los reproduzco a todos en masa , dentro de un período de tiempo de 5 minutos, con la falsificación de IP necesaria para que los valores de las cookies coincidan, lo que obliga al servidor a asignar Recursos para millones de clientes. Esto ahogará el servidor con bastante eficacia.

Por construcción, este ataque se limita al número de cookies válidas ("válidas" en el sentido de "serán aceptadas por el servidor en el momento del ataque") que el servidor podría generar. Cada cambio de secreto invalida las cookies antiguas. Al cambiar el secreto a menudo, el tamaño máximo del conjunto de valores de cookies actualmente válidos se mantiene bajo, evitando el ataque descrito anteriormente.

Ahora, por supuesto, afirmar que el secreto debe cambiarse "más a menudo" en caso de ataque es solo una danza chamánica para propiciar a los Espíritus de la Sec. de TI. De manera similar, cuando veo que una construcción casera de "hash los datos con el secreto adjunto" se describe como "una buena manera", me estremezco y gruñí y derramé lágrimas de sangre. ¿No han oído hablar de HMAC ? ¿ usted desea seguir los consejos criptográficos de personas que no han oído hablar de HMAC?

    
respondido por el Tom Leek 25.02.2013 - 22:48
fuente

Lea otras preguntas en las etiquetas