Asegurar el DNS contra envenamiento de cache - UNAM-CERT

Anuncio
Asegurar el DNS contra envenamiento de cache
Asegurar el DNS contra envenamiento de cache
Si un servidor DNS es afectado por un ataque de enveneamiento de cache de DNS con este tipo de
ataque devolverá a los clientes direcciones falsas de las peticiones. Por ejemplo si un usuario teclea
http://www.unam.mx, con el envenenamiento del DNS, un usuario podría ser redireccionado a un
sitio Web falso o a un sitio que ejecute código malicioso.
1. Introducción
El DSC/UNAM−CERT ha estado recibiendo reportes de problemas relacionados con
ataques de enveneamiento de cache en servidores DNS de Windows y referenciados por
Microsoft como corrupción de la cache de DNS.
El SANS mediante su centro de alertas, el Internet Storm Center (ISC), colocaron en días
pasados en Amarillo el nivel de alerta debido a los casos de DNS cache poisoning que se
recibieron.
El primer caso de esta técnica se dio en julio de 1997por Eugene Kashpureff. Kashpureff
hizo esto como truco político que protestaba el control del InterNIC sobre dominios DNS.
Kashpureff inyectó información engañosa en las caches del DNS alrededor del mundo
referente a la información del DNS que pertenecía al Network Solutions Inc.s (NSI) el
Internets Network Information Center (InterNIC). La información volvía a dirigir a
clientes legítimos que deseaban comunicarse con el servidor Web en el InterNIC al
servidor Web de AlterNIC de Kashpureff.
Un intruso puede aprovecharse de la vulnerabilidad de Cache Poisoning usando un
servidor de nombres malicioso y formular información engañosa intencionadamente. Esta
información maliciosa es enviada como una respuesta a una consulta normal y consigue
depositarla en el servidor DNS vulnerable. Una forma para forzar un servidor
susceptiblemente vulnerable en la obtención de información falsa es que el intruso envíe
una consulta para que un servidor DNS remoto responda información que pertenece a una
zona del DNS para la cual el servidor DNS del intruso es autoritativo. Teniendo
almacenada esta información, el servidor DNS remoto es probable que dirija
equivocadamente a los clientes legítimos de este servidor.
El principal propósito del DNS Cache Poisoning es engañar a un Servidor DNS para
entregar información errónea a las peticiones que se le hagan.
El impacto que tiene el Cache Poisoning es que el intruso puede provocar una Negación de
Servicio (DoS) o enmascararse como una entidad de confianza. Estudios recientes
muestran que en el pasado mes de Marzo del año en curso el Cache Poisoning fue la
principal amenaza de Internet, ya que los intrusos hacen uso de la usurpaci de identidad
para conducir a los intrusos hacia sitios donde se les instala spyware, adware y otro tipo de
códigos maliciosos a sus equipos o simplemente los redireccionan hacia otros sitios para
poder hacer fraudes por este medio, ya que la tendencia de muchos intrusos es
enriquecerse de forma rápida mediante los ataques a usuarios finales de Internet. Con esto
se estima que fueron afectadas de 500 a 1000 compañías por los ataques generados en
Marzo.
1
Asegurar el DNS contra envenamiento de cache
En un principio se manejaba que las configuraciones predeterminadas de un servidor DNS
en Windows NT 4.0 y Windows 2000 eran factibles a un ataque de DNS caché poisoning,
solo Windows 2003 Server tiene un configuración segura de forma predeterminada.
En realidad los sistemas Windows pueden prevenir este tipo de ataques bajo las siguientes
consideraciones para cada una de las versiones de servidor de Windows.
2. Windows NT 4.0 Server
Para esta versión de Windows el ataque se pude evitar teniendo instalado el Service Pack 4
o posteriores y filtrando los registros de respuestas no seguras en el registro. De la
siguiente manera.
♦ Inicie el editor de registro (Regedt32.exe).
♦ Localice la siguiente llave en el registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
♦ En el menú Edición seleccione la opción Agregar valor y establezca los siguientes
valores:
Nombre del valor : SecureResponses
Tipo de dato: REG_DWORD
Valor: 1 (Para eliminar datos no seguros)
♦ Cierre el editor del registro.
3. Windows 2000 Server
De forma predeterminada, en Windows 2000 con Service Pack 1 y 2 no existe ninguna
llave para eliminar los datos no seguros. Para el caso de Windows 2000 con SP3 o
posteriores la protección contra el envenamiento de cache de DNS esta habilitada de forma
predetermianda, la llave del registro mencionada a continuación no existe y esta no es
necesaria.
La siguiente llave solo es necesaria para los casos con sistemas Windows 2000 con SP1 y
SP2.
♦ Inicie el editor de registro (Regedt32.exe).
♦ Localice la siguiente llave en el registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
♦ En el menú Edición seleccione la opción Agregar valor y establezca los siguientes
valores:
Nombre del valor : SecureResponses
Tipo de dato: REG_DWORD
Valor: 1 (Para eliminar datos no seguros)
♦ Cierre el editor del registro.
2
Asegurar el DNS contra envenamiento de cache
La misma entrada puede ser agregada en modo gráfico de la siguiente manera:
♦ Abra la consola de administración DNS haciendo clic en Inicio, en Programas, en
Herramientas administrativas y a continuación, haga clic en DNS.
♦ Haga clic con el botón derecho del ratón en el nombre del servidor, en el panel de
la izquierda.
♦ Seleccione Propiedades.
♦ Seleccione la pestaña Avanzadas.
♦ Habilite la opción Asegurar cache contra corrupción (Secure cache against
pollution).
En la siguiente figura se puede observar la opción de Secure cache against pollution
habilitada para una versión de Windows 2000 Server en Inglés.
Es recomendable que se verifique que esta opción esta seleccionada, para asegurarnos de
no permitir este tipo de ataque en nuestro servidores DNS. De esta forma el DNS
examinará la respuesta de otro servidor DNS para determinar si los nombres a los que hace
referencia son intentos para corromper la caché DNS.
4. Windows Server 2003
3
Asegurar el DNS contra envenamiento de cache
En el caso de la versión 2003 de Windows la protección contra la corrupción de la caché
viene habilitada de forma predeterminada, pero se recomienda verificar que esto sea así, lo
cual se realiza de la siguiente manera:
♦ Abra la consola de administración DNS haciendo clic en Inicio, en Programas, en
Herramientas administrativas y a continuación, haga clic en DNS.
♦ Haga clic con el botón derecho del ratón en el nombre del servidor, en el panel de
la izquierda.
♦ Seleccione Propiedades.
♦ Seleccione la pestaña Avanzadas.
♦ Verificar que la opción Asegurar cache contra corrupción (Secure cache against
pollution) se encuentre habilitada.
En Windows 2003 la llave mencionada en las versiones como NT y 2000 no existe.
5. Prevenir que el resolvedor de DNS acepte respuestas de servidores no consultados
De forma predeterminada, el resolvedor acepta respuetas de servidores que
un cliente/servidor DNS no consultó, así como también de las consultas
4
Asegurar el DNS contra envenamiento de cache
que realiza.
Esto representa una posible falla de seguridad, debido a que servidores
DNS's no autorizados podrían pasar registros de recursos A inválidos con
el propósito de redireccionar de forma maliciosa las subsecuentes
consultas DNS.
Para deshabilitar esta característica, se debe agregar la entrada del registro
QueryIpMatching con un valor de 1, el tipo de dato debe ser
REG_DWORD de la siguiente manera:
C l a v e
d e l
r e g i s t r o :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
Nombre del valor : QueryIPMatching
Tipo de dato: REG_DWORD
Valor: 0 ó 1 (predeterminado es 0)
Cuando el valor de QueryIPMatching es establecido a 1 en un sistema, el
sistema solo aceptará respuestas de resolución de DNS desde la misma
dirección IP del servidor DNS que fue consultado originalmente. Por lo
tanto, si una cliente/servidor consulta un servidor DNS con la dirección
192.168.10.2, entonces el cliente sólo aceptará respuesta de consultas
únicamente desde la dirección 192.168.10.2.
Estableciendo este valor ayuda a prevenir el envenenamiento de la caché
del nombre de servidor en la computadora. Este valor no está relacionado
con la opción DNS caché poisoning de los servidores DNS.
Este valor puede configurarse servidores DNS debido a que también
actúan como clientes al momento de realizar el reenvío de consultas.
6. Referencias
7. Revisión histórica
♦ Liberación Original: 11 de abril de 2005.
♦ Última Actualización y Revisión: 11 de abril de 2005.
5
Asegurar el DNS contra envenamiento de cache
El Departamento de Seguridad en Computo/UNAM−CERT agradece el apoyo en la elaboración y
revisión de este tutorial a:
• Juan López Morales ([email protected])
• Luis Fernando Fuentes Serrano ([email protected])
• Jesús Ramón Jiménez Rojas ([email protected])
Para mayor información acerca de éste tutorial de seguridad contactar a:
UNAM CERT
Equipo de Respuesta a Incidentes UNAM
Departamento de Seguridad en Cómputo
DGSCA − UNAM
E−Mail : [email protected]
http://www.cert.org.mx
http://www.seguridad.unam.mx
ftp://ftp.seguridad.unam.mx
Tel : 56 22 81 69
Fax : 56 22 80 43
6
Descargar