Você está na página 1de 6

Ataque de DNS Amplification

Ataque de DNS Amplification

Menú

1. DoS contra el servidor de


nombres
2. Ataque de DNS
Amplification
3. Servidores vulnerables
4. Impacto Potencial
5. Recomendaciones
6. Conclusiones
7. Faq
8. Referencias
1. DoS contra el servidor de nombres

De forma general, los ataques de negación de servicio pretenden sobrecargar las redes y servidores con un
conjunto de solicitudes o respuestas con el fin de sacar de operación a dichos servicios.

La tendencia en el uso de ataques de negación de servicio a través del uso de peticiones spoof al DNS en
últimas fechas ha visto un incremento de consideración, este problema es fundamental tomando en cuenta
que muchas de las comunicaciones en internet hacen uso del DNS.

2. Ataque de DNS Amplification

El atacante envía una alta cantidad de peticiones con una dirección IP falsificada (spoof) al DNS que
permite recursión, el DNS procesa estas peticiones como si éstas fueran válidas mandando una respuesta al
sistema al cual se quiere atacar, es decir al sistema víctima. Cuando estas peticiones alcanzan un volumen
importante pueden inundar al sistema víctima de repuestas del DNS a las peticiones que se le realizan. Este
ataque es llevado a cabo gracias a errores en la configuración del DNS y es llamado amplification puesto
que los DNS al reflejar el ataque, potencian el nivel de éste hacia un blanco en especifico a causa de que las
respuestas del servidor de nombres son de un tamaño considerablemente mayor que las peticiones que se le
realizan causando con esto, en ocasiones, la caída del servicio y con ello la negación del mismo.

Ataque de DNS Amplification


Ataque de DNS Amplification

3. Servidores vulnerables

Los ataques de este tipo son susceptibles de ser exitosos en servidores de nombres de dominio en los cuales
la recursión esté activada; esto es en una inmensa mayoría de los servidores de este tipo. Para hacer una
detección exitosa de este tipo de servidores se puede hacer realizando un escaneo con ciertas herramientas
las cuales nos indican el nivel de recursión que implementan los servidores de dominio. Algunas de estas
son :

• DNSCheck

Esta herramienta web nos indica el nivel de recursión implementado en lo servidores de nombre que
se hayan especificado a través del nombre del dominio

http://dnscheck.se/
• dlint

Herramienta libre que pude ser de utilidad al indicarnos las subzonas de un dominio en específico,
indicándonos si en ésta se lleva a cabo la recursión o no.

Ataque de DNS Amplification


Ataque de DNS Amplification

4. Impacto Potencial

La potencialidad de este ataque es de dimensiones sumamente grandes puesto que la mayoría de los
servidores de nombre en internet tiene un problema en cuanto a la configuración de la recursión (que se
describe en la sección siguiente), causa por la cual un ataque coordinado podría tener consecuencias
desastrosas con incluso la caída de internet o la negación de servicio en muchos de sus servidores de
nombres. El aumento en este tipo de prácticas nos da una idea y una base fundamentada para tomar medidas
precautorias que nos ayuden y preparen para un ataque de estas magnitudes

5. Recomendaciones

En un sentido más amplio, la recursión es completamente inevitable puesto que al desaparecer esta, la razón
de ser y la utilidad del DNS pierde la funcionalidad casi por completo. Esto se debe a la necesidad en el
sistema de nombres de consultar a distintos servidores DNS puesto que la mayoría de las veces el DNS
autoritativo para nuestro dominio no tendrá la respuesta a nuestra consulta y tendrá que preguntar en forma
recursiva a partir de los DNS raíz hasta encontrar el DNS que pueda resolver nuestra consulta. Es decir, en
estricto sentido la recursión no es ningún error de configuración. Se convierte en error al tiempo de que no
se restringe la recursión en el servicio de nombres a solo una lista de solicitantes en los cuales confiamos.
Una práctica de configuración ampliamente recomendable sería el permitir la realización de consultas
recursivas solo a un grupo específico de direcciones IP. Si bien el riesgo no es completamente eliminado si
logramos mitigar en gran medida la posibilidad de ser víctimas de una práctica maliciosa de este tipo.

Por otra parte una regla que debe aplicarse para minimizar el riesgo de DNS amplification es la del mínimo
privilegio, esto es, un DNS no tiene que permitir la recursión a nadie mas que a los host estrictamente
indispensables. Si nuestro DNS no tiene la necesidad de realizar consultas recursivas, puesto que no tenemos
un dominio de menor jerarquía al cual permitirle la recursión, no existe la necesidad de permitirla o, en el
caso de que tengamos ciertos dominios de mas baja jerarquía, debemos permitir la recursión solo a los hosts
en los cuales tengamos confianza.

Ahora bien, ¿por qué limitar la recursión?. Si hasta ahora permitimos en nuestros servidores de nombres la
recursión ilimitada (es decir, permitimos las consultas recursivas sin validar antes quién nos las está
solicitando), estamos aumentando la posibilidad de que nuestro servidor DNS sea utilizado para hacer
ataques de DoS ya que al no validar cualquier host puede realizar consultas falsificando la IP redirigiendo un
ataque amplificado hacia cualquier objetivo de la red. Por otro lado, al configurar nuestro servicio de
nombres restringiendo las IPs que nos pueden realizar consultas recursivas lo que hacemos es que nuestro
servidor no podrá ser utilizado para llevar acabo ataques DoS a menos que se logre la falsificación de una de
las IPs a las cuales tenemos otorgado el permiso de recursión

A continuación se describe quién se vería afectado y de que manera en el caso de una restricción de la
recursión en un DNS.

En el caso de que se realice una restricción de la recursión, se verán afectados aquellos usuarios de nuestro
DNS los cuales salgan del rango de IPs que nosotros tengamos configuradas. En este caso se verán afectados
puesto que no les será posible acceder al servicio de nombres, cuando menos a partir de nuestro servidor
DNS.

Ataque de DNS Amplification


Ataque de DNS Amplification

Todos los usuarios que tengan una IP que pertenezca al rango establecido en la configuración previamente
mencionada no se verán afectados de ninguna manera puesto que el servicio de DNS les seguirá siendo
proporcionado sin diferencia alguna.

5.1 Ejemplos de configuración recomendada (eliminar recursión)

5.1.1 Bind 8/9

En el siguiente ejemplo tenemos la configuración deseable (en BIND 8/9) para un servidor de nombres el
cual no tiene ningún dominio de menor jerarquía al cual tengamos estrictamente que permitirle realizar
consultas recursivas

options {

directory "/var/named";

recursion no;

};

5.1.2 Microsoft DNS

En el caso de Microsoft DNS se realizaría añadiendo un registro de tipo REG_DWORD llamado


NoRecursion con el valor 1.a la siguiente llave del registro

HKEY_LOCAL:MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

5.2 Ejemplos de configuración recomendada (limitar recursión)

5.2.1 Bind 8/9

El siguiente ejemplo es útil en el caso en que tengamos dominios de menor jerarquía a los cuales tengamos
que permitirles la recursión siempre y cuando esos hosts sean de nuestra confianza (BIND 8/9).

acl recurseallow { x.x.x.x; y.y.y.y; z.z.z.z; };

options {

directory "/var/named";

allow−recursion { recurseallow; };

};

5.2.2 Microsoft DNS

En el servidor de DNS de Microsoft Windows 2000 no existe manera conocida para hacer un bloqueo

Ataque de DNS Amplification


Ataque de DNS Amplification

discriminatorio entre las IPs a las cuales otorgarles la recursión y a cuáles no. Es decir, la única manera que
resultaría efectiva sería definir reglas en un firewall que bloqueen el protocolo UDP por el puerto 53 de
entrada y arriba del 1023 de salida para las IPs que no tengamos contemplado permitirles la realización de
queries.

* Referencia: Building Internet Firewalls 2da edición

6. Conclusiones

La recursión en el servicio de nombres no puede ser eliminada pero si puede ser controlada a través de la
correcta configuración de los hosts a los cuales les es permitido hacer consultas recursivas en nuestro DNS.
Si bien esto no elimina el riesgo de que nuestro DNS pueda ser usado como amplificador de recursión, sí
disminuye el riesgo de manera considerable.

¿Porque no se elimina el riesgo?

El riesgo no se puede eliminar por el hecho de que siempre existe la posibilidad de que un atacante falsifique
alguna IP para la cual nuestro servidor de nombres permite las consultas recursivas haciendo que el riesgo
siempre esté latente. ¿Puede nuestro servidor ser víctima de la amplificación en la recursión producto del
ataque a otro servidor DNS?

Si bien se puede mitigar el riego de que nuestro servidor lleve a cabo ataques a partir de la amplificación de
recursión, nuestro servidor no puede ser responsable de la correcta configuración de los servidores que
puedan llegar a realizar peticiones. Es decir , nuestro servidor puede ser víctima de un ataque de
amplificación aun cuando en nuestro servidor no existan errores en la configuración, ya que las peticiones
enviadas serían procesadas como válidas.

Existen medidas que pueden ayudarnos a contrarrestar este tipo de acciones utilizando herramientas de
detección de peticiones provenientes de IPs falsificadas (spoof) por ejemplo basadas en el calculo del TTL
(tiempo de vida) de los paquetes. Un ejemplo de una herramienta de este tipo es despoof, herramienta para el
servidor de nombres BIND.

7.FAQ

1 ¿A quien permitirle la recursión?

Es recomendable permitir la realización de consultas recursivas solo a aquellos hosts en los cuales
confiamos o es indispensable proporcionar el servicio. Por ejemplo, en el caso de una universidad,
solamente a las IPs que tengamos asignadas.

2 ¿En que casos es recomendable bloquear por completo la recursión?

Ataque de DNS Amplification


Ataque de DNS Amplification

En los casos en los cuales nuestro dominio no tenga un dominio de menor jerarquía al cual debamos permitir
la recursión. Es decir, en la estructura jerárquica del DNS las hojas de ese árbol tendrían que tener la
recursión bloqueada.

3 ¿Es indispensable la recursión?

La recursión en las consultas al DNS se vuelve indispensable ya que el DNS en su conjunto es una base de
datos distribuida, eso significa que no todos los datos que queremos obtener van a estar siempre en nuestro
servidor predeterminado, por lo cual es necesario que nuestro servidor haga consultas a otros DNS para
obtener la información de nuestro interés.

4 ¿Porque se produce una Negación de Servicio con este ataque?

Esto se debe a que el servidor DNS produce una respuesta mucho más grande en comparación con las
peticiones que recibe. Estas respuestas en cantidades considerables pueden llegar a bloquear la actividad de
otra máquina además de afectar el ancho de banda de la red en la que se produzca el ataque

8. Referencias

• http://www.cert.org/incident_notes/IN−2000−04.html
• http://www.us−cert.gov/reading_room/DNS−recursion121605.pdf..
• http://news.com.com/Old+software+weakening+Nets+backbone,+survey+says/2100−7347_3−5913771.html
• http://www.netadmintools.com/art234.html

Ataque de DNS Amplification

Você também pode gostar