¿NAT interrumpe la asignación aleatoria del puerto de origen?

6

La defensa estándar contra el ataque de Kaminsky es utilizar la asignación aleatoria del puerto de origen para todas las solicitudes de DNS.

¿NAT rompe los beneficios de seguridad de la aleatorización de puertos de origen?

En más detalle, considere un cliente que se sienta detrás de un NAT. Supongamos que el cliente utiliza la asignación aleatoria de puertos de origen para todas las solicitudes de DNS y emite una solicitud. Cuando la solicitud atraviesa el NAT, el NAT puede traducir el número de puerto de origen a un nuevo puerto de origen dentro del conjunto de números de puertos locales del NAT.

Me preocupa que, si el NAT utiliza una estrategia de asignación de puertos predecible, esto puede desasignar el puerto de origen en el paquete, dejando al cliente abierto a un ataque de Kaminsky. ¿Esto sucede en la práctica? ¿Los NAT traducen el puerto de origen en las solicitudes de DNS? ¿Usan puertos de origen predecibles? Si este es un problema para algunos NAT, ¿alguien sabe qué tan frecuente es el problema? ¿Los NAT en estos días toman alguna medida para evitar arruinar la aleatorización del puerto de origen? ¿Hay algo que uno deba hacer, al configurar un NAT, para garantizar que el NAT no lo haga más vulnerable a los ataques de Kaminsky?

    
pregunta D.W. 05.10.2012 - 09:21
fuente

3 respuestas

5

Obviamente, las implicaciones dependerán de la implementación. El dispositivo NAT es libre de elegir cualquier puerto de origen deseado, y algunas implementaciones pueden haber usado históricamente la numeración de puertos secuencial. Pero con el hardware más nuevo, esto es cada vez más improbable.

Específicamente, los enrutadores más nuevos prefieren usar el puerto de origen original de la computadora cliente (particularmente para UDP) para permitir el NAT NAT usando una técnica ahora llamada Perforación de agujeros UDP .

En un momento dado, esto se consideraba una característica codiciada para juegos, Skype, etc., pero ahora es bastante esperado.

Además, tenga en cuenta que, en la mayoría de los casos, el enrutador se configura a sí mismo como el servidor DNS preferido para su red, y luego ejecuta una resolución de reenvío localmente en el dispositivo. Esto significaría que la aleatorización de puertos en la computadora cliente sería irrelevante; en cambio, la aleatorización debería ser una característica del sistema de resolución de DNS del enrutador.

    
respondido por el tylerl 05.10.2012 - 09:58
fuente
2

Depende del dispositivo que haga el NAT. La mayoría de los cortafuegos sofisticados tienen características de cifrado de huellas digitales que pueden habilitarse, por ejemplo, Checkpoint ha tenido esas características desde NG, creo, por lo tanto, unos buenos 10 años. Un enrutador básico no realizará la codificación de huellas digitales, solo usará el puerto de origen en el paquete TCP. Algunos dispositivos de red realmente asignarán puertos de origen a números secuenciales, pero eso es muy raro.

Por lo tanto, la respuesta a su pregunta es casi siempre un no calificado, siempre que su sistema operativo esté utilizando la asignación aleatoria de puertos de origen. Si su sistema operativo está utilizando puertos de origen predecibles y tiene un dispositivo NAT que no los asigna al azar, entonces no hay protección contra ataques predictivos. Si su dispositivo NAT se asigna a puertos de origen secuenciales, entonces le dice a un atacante más sobre su dispositivo de red que sobre los sistemas que contiene.

    
respondido por el GdD 05.10.2012 - 09:58
fuente
1

Incluso si el dispositivo NAT aleatoriza los puertos de origen, aún puede estar expuesto a ataques de envenenamiento de caché DNS, vea aquí una investigación sobre la seguridad de los dispositivos NAT y DNS parcheados: enlace

    
respondido por el schul 01.02.2013 - 15:32
fuente

Lea otras preguntas en las etiquetas