spanish & technology & web Franchu on 07 Sep 2008 08:35 am
Vulnerabilidad DNS de Kaminsky explicada gráficamente
He encontrado una página en la que explican de forma sencilla y visual el funcionamiento del sistema DNS y la vulnerabilidad descubierta por Kaminsky.
A grandes rasgos todo se reduce a engañar al servidor DNS que se desea comprometer para que tome como válida una respuesta que no proviene de una fuente fiable. Esto que a priori puede parecer muy complicado, se ve facilitado por un fallo de diseño del sistema DNS y una implementación poco cuidadosa en el software servidor de DNS más popular a nivel mundial.
El proceso se puede resumir en los siguientes pasos:
- 1 - El atacante manda una petición DNS al servidor victima para un nombre de host que quiere comprometer. En este ejemplo se asume que el servidor de nombres permite peticiones recursivas desde el mundo exterior.
- 2a - Sabiendo que el servidor victima pedirá en breve a ns1.bankofsteve.com (tal como se lo indicarán los servidores raiz/GTLD) una dirección IP para www.bankofsteve.com, el atacante comienza a inundar con paquetes de respuesta DNS con el fin de que ns1.bankofsteve.com tome por buena la respuesta fraudulenta y asigne a www.bankofsteve.com una IP falsa.
- 2b & 3 - Los servidores raiz/GTLD indican que la petición ha de redirigirse a ns1.bankofsteve.com.
- 4 - El servidor de nombres víctima pide a ns1.bankofsteve.com la dirección IP de www.bankofsteve.com y utiliza el query ID 1001 (uno más que la petición anterior).
- 5 - El servidor de nombres real (ns1.bankofsteve.com) proporciona una respuesta legítima a la petición con un Query ID de 1001, pero si el atacante ha enviado una respuesta con el mismo Query ID en el paso 2a, esta respuesta legítima llega demasiado tarde y es ignorada.
- 6 - Con la dirección IP falsa (del servidor web del atacante) en el cache el servidor ha quedado comprometido y todas las peticiones al servidor DNS para www.bankofsteve.com (la actual y futuras) redirigen al servidor del atacante.
Como podeis ver es un ataque muy sencillo y peligroso contra el que se han tomado una serie de medidas como añadir aleatoriedad al query ID y ampliar el espacio de query ID posibles desde 16K hasta aproximadamente 113M añadiendo aleatoriedad en el puerto que se utiliza para realizar las peticiones DNS. Para una explicación más detallada os recomiendo que leais el fantástico artículo original.
No related posts.
