facultad de ingenieria – unmdp – redes de datos

31
FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS DNS Y SEGURIDAD ALUMNO: César Mendoza

Upload: bena

Post on 29-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS. DNS Y SEGURIDAD ALUMNO: César Mendoza. ¿Qué significa DNS y para qué sirve?. DNS  son las iniciales de  Domain Name System ( sistema de nombres de dominio ) y es una tecnología basada en una base de datos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

DNS Y SEGURIDAD

ALUMNO: César Mendoza

Page 2: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

¿Qué significa DNS y para qué sirve?

DNS son las iniciales de Domain Name System (sistema de nombres de dominio) y es una tecnología basada en una base de datos que sirve para resolver nombres en las redes, es decir, para conocer la dirección IP de la máquina donde está alojado el dominio al que queremos acceder.

LOS SERVIDORES DNS SE UTILIZANPARA:1- Resolución de nombres: Convertir un nombre de host en la dirección IP que le corresponde.Por ejemplo, al nombre de dominio norfipc.com, le corresponde la dirección IP 209.190.61.442- Resolución inversa de direcciones: Es el mecanismo inverso al anterior, de una dirección IP obtener el nombre de host correspondiente.3- Resolución de servidores de correo: Dado un nombre de dominio (por ejemplo gmail.com), obtener el servidor a través del cual debe realizarse la entrega del correo electrónico.

Los servidores DNS también guardan una serie de datos de cada dominio, conocidos como DNS Record, incluyeninformación del propietario, fecha de creación, vencimiento, etc.

Page 3: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

[CONSOLA - CMD]C:\> nslookup resolver1.dyndnsguide.com Address: 216.146.35.35

Principales servidores DNS de internet

Existen 13 servidores DNS en internet que sonconocidos como los servidores raíz, guardan lainformación de los servidores para cada una delas zonas de más alto nivel y constituyen el centrode la red.Se identifican con las siete primeras letras delalfabeto, varios de ellos se encuentra divididosfísicamente y dispersos geográficamente, técnicaconocida como "anycast", con el propósito deincrementar el rendimiento y la seguridad.Chequeo de los 13 servidores raíz de internet: http://public-root.com/

Estructura de árbolLa resolución de nombres utiliza una estructura en árbol, mediantela cual los diferentes servidoresDNS de las zonas de autoridad se encargan de resolver las direcciones de su zona, y sino se lo solicitan a otro servidor que creen que conoce la dirección. Por lo tanto, el DNS es un sistema que sirve para traducir

los nombres en la red, y está compuesto por tres partes con funciones bien diferenciadas.Cliente DNS: está instalado en el cliente (es decir, nosotros) y realiza peticiones de resolución de nombres a los servidores DNS.Servidor DNS: son los que contestan las peticiones y resuelven los nombres mediante un sistema estructurado en árbol. Las direcciones DNS que ponemos en la configuración de la conexión, son las direcciones de los Servidores DNS.Zonas de autoridad: son servidores o grupos de ellos que tienen asignados resolver un conjunto de dominios determinado (como los .es o los .org).

Page 4: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

REPASEMOS UNA RESOLUCION DE DNSInicio

Page 5: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

Paso 4 – Cliente al Servidor

Paso 5 – Servidor al Cliente

Page 6: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

Paso 6 – Cliente al Servidor

Paso 7 – Servidor al Cliente

Page 7: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ATAQUES DNS

Page 8: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ATAQUE DoS yATAQUES DE AMPLIFICACION

Un ataque DoS causa la interrupción de uno o varios servicios mediante el consumo excesivo de alguno de estos recursos en el servidor o elementos de red intermedios:

* Ancho de banda* Ciclos de CPU* Memoria* Espacio en disco, Bases de Datos, o tablas internas (de número de conexiones por ejemplo) Habitualmente esto se consigue mediante técnicas de envío masivo de paquetes o información, también nombrado como flooding, al cual la víctima no puede responder por su cantidad/tamaño, por lo que deja de dar servicio.

En la actualidad, este tipo de ataques han ido mejorándose, desde los más sencillos, en losque un atacante con origen conocido realiza un flooding sobre la víctima, hasta ataques más complejos como puedan ser los ataques distribuidos amplificados y que se aprovechan de exploits de la aplicación.El ataque de directo de origen localizado tiene una incidencia menor en la actualidad, ya que es más fácil de detectar y mitigar, así como porque los servidores y dispositivos de hoy en día soportan una carga, lo suficientemente alta, como para que el servicio no se vea afectado por un número reducido de atacantes.

Page 9: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ATAQUE DDoS

Un ataque más preocupante que el anterior es el ataque de denegación de servicio distribuido, o DDoS. En este caso el/los atacantes lanzan el ataque desde una multitud de orígenes diferentes, confundiéndose con los usuarios lícitos del servicio.

El ataque conjunto de varios atacantes desde múltiples localizaciones es posible, pero requiere un trabajo de coordinación, ya que todos los orígenes deben atacar la mismo objetivo a la vez. Para solucionar ese problema se han creado varios software que permiten la utilización de dispositivos de terceros, con o sin su conocimiento, para el envío de peticiones simultaneas desde ellos.

Muchas veces los atacantes hacen uso de botnets, que no son más que una multitud de equipos que poseen este tipo de software (muchas veces instalados mediante la descarga no intencionada de malware) para generar un mayor número de peticiones y ocultar su origen.

Page 10: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS
Page 11: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ATAQUES DE AMPLIFICACION/REFLEXION

A parte de esta multiplicación en el número de peticiones que se ha visto con el ataque desde botnets, también se puede amplificar el tamaño de los paquetes, haciendo que a partir de pequeñas peticiones, se generen flujos de tráfico de mayor tamaño, que se destinan a la victima que está siendo atacada.

Los ataques DoS amplificados son muy efectivos para agotar los recursos de ancho de banda de la víctima, ya que por ejemplo, en el caso del ataque de DNS amplificado que se verá más adelante, con una petición de 60 bytes del atacante, se puede generar una respuesta, recibida por la víctima, de más de 3Mb, es decir, más de 50 veces el tráfico generado por un solo atacante, por lo que si este tiene, por ejemplo, un ADSL con únicamente 1 Mbps de subida, podría generar un caudal de 50 Mbps que recibiría la víctima.

Si a este tráfico amplificado se le suma el esquema distribuido DDoS, con 10 atacantes, la víctima necesitaríamás de 500Mbps de conexión a Internet para poder recibir todo ese tráfico.

Por último, si se realiza una DDoS con una botnet, donde existen cientos y miles de zombis en muchas de ellas, y a la vez se utiliza esta técnica de amplificación, se podrían generar Gigas de tráfico que colapsarían cualquier conexión pública que pueda tener la víctima.

Page 12: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

EN POCAS PALABRAS…

DDoS es un ataque de denegación de servicio distribuido (se lanza desde varios equipos). Busca desbordar uno más servidores DNS de la red con respuestas de consultas recursivas.

Se utilizan botnets. Conjunto de equipos controlados por el atacante (equipos zombis).

El atacante lanza una solicitud DNS desde una botnet (o varias) y coloca como destino de la respuesta DNS, la IP de la victima (ataque por reflexión).

La victima al verse desbordada en su capacidad, queda fuera de servicio.

Page 13: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

¿QUE SE PUEDE HACER AL RESPECTO?

• Hay compañías que ofrecen servicios para mitigar este tipo de ataques.• Primero se determina cuales son las condiciones normales de tráfico de red y en base a estas, se establecen parámetros para generar alertas y lograr una detección a tiempo.• Layered Filtering, se utiliza en aplicaciones y software que realizan un filtrado tanto en la capa de red como en la capa de aplicación, detectando tráfico peligroso y ejecutando filtros que bloquean el tráfico peligroso en determinados niveles (no permitir por ej paquetes mayores a 512 bytes).• Otra alternativa podría ser sobredimensionar el ancho de banda, colocar firewalls y balanceadores de carga (método costoso y no muy práctico).• Utilizar herramientas para detectar IP falseadas, analizando el TTL.

Page 14: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

PHARMING

Robo de claves y credenciales de usuariosde banco, tiendas, redes sociales, etc.

DNS SPOOFING

Redireccionamiento a otro servidor envenenado(Ej. Cambiar el archivo host – utilización de troyano)DNS POISONING

Modificación del archivo Host en la PC (utilizado por Windows primeramentepara resolver direcciones IP)

DNS cache Poisoning: consiste en infectar los servidores externos DNS que uti-liza la victima. Propagación - un servidor infectado puede infectar a otros que lo consulten.

MITM (Man In The Middle) consiste en escuchar el trafico de la victima (espio-naje) obtener el ID (va de 1 a 65535) y responder con el DNS falso antes queel servidor legítimo.

Page 15: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

Modificación del archivo Host de la PC

El sistema operativo, al igual que el navegador Web, poseen la capacidad de resolver direcciones IP.En el caso del SO, lo hace mediante la utilización de un archivo llamado Hosts, que en el caso de Windows 7se encuentra en la ruta C:\Windows\System32\drivers\etc\hosts. Modificando este archivo podremos no solobloquear direcciones IP, sino también redireccionar IP, lo que causaría que la victima pudiera caer en servidoresmaliciosos.

En la imagen anterior se modificó el archivo hosts de windows, para que redireccione el sitio fotolog.coma facebook.com. Previamente se obtuvo la IP de facebook mendiante la utilización del comando ping en la consola CMD. De manera similar se podría redireccionar un sitio conocido a otro de similar aspecto pero alojado en un servidor malicioso. [Ejecutar bloc de notas en modo administrador y desde ahí abrir el archivo hosts,luego guardar cambios y borrar cache del navegador]

Page 16: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

DNS caché Poisoning

Los servidores DNS con el fin de mejorar el tiempo de respuesta a peticiones DNS realizadas, por los usuarios, poseenuna memoria caché (caché DNS). En dicha memoria guardan de manera temporal, las IP por las que ya fueron consul-tados.En este caso el atacante, posee control sobre un servidor (servidor malicioso) donde tiene alojado un dominio (ej.www.servirdorinfectado.com).*El atacante realiza una consulta por servidorinfectado.com a un servidor legítimo que quiere envenenar.*Como este servidor no va a tener la IP solicitada, entonces, va a realizar una encuesta repetitiva a distintos servidoreshasta dar con el servidor malicioso, que es el que posee esta IP.*En respuesta al pedido, el servidor malicioso no solo entregará la IP de www.servidorinfectado.com sino que tambiénentregará otras IP’s que no fueron solicitadas. Esto genera que la caché del servidor legítimo se cargue con IP’s sobrelas cuales el atacante posee control. Páginas bancarias, redes sociales, páginas de tiendas son algunos de los objetivosmás comunes de los atacantes. Cabe aclarar que el envenenamiento es temporal (hablamos de memoria caché).>> EVILGRADE: cuando el atacante mediante esta técnica compromete las actualizaciones del SO.

Page 17: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ANALIZANDO MAS EN DETALLE - CACHE POISONING NORMAL

Page 18: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

SEGUNDA INSTANCIA – SUPLANTACION DE IDENTIDAD

Page 19: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

VARIANTE – SUBIMOS EN LA JERARQUIA Y ENVENENAMOS

En vez de suplantar un sitio en particular, se asume la identidad de un NS completo.

Hace consultas sobre el sitio que quiere atacar, por ejemplo www1234.bankofsteve.com

Con esto se ignora el TTL de los RR, ya que cada subdominio inventado no se encuentra dentro del cache, por lo que obliga al NS víctima a hacer una nueva consulta.

Se llego a una solución que consistía en randomizar también el sourceport, haciendo queel atacante tenga que adivinar ambas, el puerto y el QueryID. Pero esto no fue suficiente..

Page 20: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

ATAQUE KAMINSKY

Page 21: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS
Page 22: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

MITM – Man In The Middle

Cuando un cliente DNS realiza una solicitud a un servidor DNS, emplea un ID que va de 1 a 65535 (campo de 16bitsde la trama DNS). Si el atacante, escuchando el tráfico (sniffing), consigue adivinar cual es el valor del ID que estautilizando la víctima, entonces podría responder antes que el servidor legítimo. Logrando de esta manera redireccionarel trafico hacia un sitio malicioso.Obviamente el servidor legítimo enviará posteriormente la IP válida pero la victima la rechazará, pues ya tomo otraresolución de IP (envenenada), que tenía el mismo ID.

Page 23: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

PREVENCION Y MITIGACION •Versiones recientes de BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) ahora contienen código que ignora cualquier registro DNS retornado que no sea directamente relevante a la consulta.•La selección aleatoria del puerto origen de consultas DNS, combinada con el uso de números aleatorios criptográficamente seguros para elegir el puerto y el número identificador de 16 bits puede reducir grandemente la probabilidad de ataques DNS.

•Una versión segura de DNS, DNSSEC, utiliza firmas criptográficas electrónicas validadas con un certificado digital confiable para determinar la autenticidad de los datos. Pero no brinda ningún tipo de seguridad sobre la disponibilidad ni sobre la confidencialidad.•Las respuestas DNSSECson típicamente 4 veces más grandes que las respuestas de DNS común.•Para la implementación de DNSSEC se requieren de nuevos tipos de RR (RRSIG, DNSKEY, DS, NSEC, NSEC3, NSEC3PARAM)

•Este tipo de ataque puede ser mitigado también por las capas de transporte o aplicación para conseguir validación extremo a extremo (end-to-end validation) una vez que una conexión es establecida en extremo. Un ejemplo común de esto es el uso de Seguridad de Capa de Transporte y firmas digitales. Por ejemplo, usando la versión segura de HTTP, HTTPS, los usuarios pueden verificar si el certificado digital es válido y pertenece al dueño esperado de un sitio web. De manera similar, el programa de inicio de sesión remoto SSH verifica certificados digitales en los extremos (si los conoce) antes de proseguir con una sesión.

• Para aplicaciones que descargan actualizaciones automáticamente, la aplicación puede alojar una copia local del certificado digital de los datos y validar el certificado almacenado en la actualización de software contra el certificado alojado.

Page 24: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

¿Qué es DNS tunneling?

DNS tunneling significa que otro protocolo puede hacer un túnel, propiamente dicho, a través de DNS, ya sea para mando y control, exfiltración de datos o simplemente se construye un túnel para el tráfico de algún protocolo de Internet (IP).

• Los túneles de DNS se construyen a través de herramientas adecuadas que permitan la incorporación de los datos sobre las consultas y respuestas DNS. Cada herramienta tiene su propio enfoque en la construcción de túneles en DNS, que afecta de manera diferente el rendimiento de la red.

• Mecanismos de seguridad implementados (por ejemplo, firewalls, portales cautivos) se destinan a controlar elacceso a Internet. Las razones pueden ser muy diferentes. En general, estos mecanismos actúan como filtros para losprotocolos de red adecuados (por ejemplo, HTTP, FTP), mientras que a menudo permiten el tránsito de los protocolos de servicio (DNS, ICMP) y no pueden filtrar adecuadamente aquellos que son cifrados (por ejemplo, HTTPS, Skype). Por lo tanto, los esfuerzos se enfocan en la explotación de estos últimos protocolos con el fin deocultar la información y crear un canal de comunicación a otro sistema en Internet, evitando las restricciones decortafuegos.

• El protocolo DNS es menos filtrado por los mecanismos de seguridad. Cada usuario dentro de la red puedeproducir tráfico DNS para llegar a un destino a través de Internet, independientemente de la identidad del solicitante.

Page 25: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

La figura. 1. Entidades que participan en un túnel de DNS

El uso potencial de las consultas DNS como canales encubiertos había llevado al desarrollo de herramientas adecuadasde túneles DNS destinadas a ocultar información dentro de los DNS peticiones / respuestas, utilizando un clientepersonalizado en el equipo de usuario y un servidor DNS coludido fuera de la organización, en el dominio destino.Una herramienta de túnel DNS contiene datos de consultas DNS, entrega las solicitudes de DNS y respuestas entreel cliente de túnel y un servidor pirata.El servidor pirata entonces puede reenviar los datos recibidos a otro cliente de destino.

• Cada herramienta de túnel DNS adopta sus propias estrategias para la construcción de túneles entre el clientey el servidor sin control, lo que resulta en canales secretos que muestran características diferentes. Sin embargo,los canales secretos DNS se pueden dividir en dos clases:

(1) IP a través de DNS donde los paquetes IP se incrustan y se entregan a través del túnel(2) Sobre TCP DNS que incorpora uno o más canales de comunicación en TCP como , lo que permite el establecimiento de una conexión SSH (o cualquier tipo de conexión TCP) en el túnel.• Actualmente, existen pocas herramientas de tunelización de DNS fiables, en particular para lasegunda categoría.• Poseer una herramienta que permita medir patrones específicos de rendimiento, seria de gran utilidad para detectartúneles DNS.

Page 26: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

Algunas herramientas para realizar túneles

• NSTX -------------- IP sobre DNS

• DNS Cat ---------- Cumple la misma función que NSTX pero no requiere configuraciones especiales sobre el kernel, lo que lo hace mas flexible.

• TUNS --------------- IP sobre DNS

• Dns2TCP ----------- TCP sobre DNS

• Ozy Man DNS -------- TCP sobre DNS

Page 27: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

EJEMPLO

1. El atacante utilizando NSTX client convierte paquetes de red en solicitudes DNS2. Los servidores DNS rutean la solicitud hasta el NS destino3. NSTX Server convierte la solicitud DNS en paquetes de red4. NSTX Server realiza la conexión de red deseada5. NSTX Server envía los datos de respuesta en respuestas DNS6. El atacante con NSTX Client convierte las respuestas DNS en paquetes de red

Page 28: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

¿COMO DETECTAR Y MITIGAR DNS TUNNELING?

• La tunelización de DNS puede ser detectada mediante el control del tamaño de petición y respuesta consultas DNS.

•Es probable que el tráfico tunelizado tendrá más de 64 caracteres en el DNS.

•El uso de IPS e IDS actualizadas es otro mecanismo de detección.

• Las reglas deben estar configurados para supervisar un gran número de DNS TXT en un servidor DNS.

•Las reglas deben ser configuradas en el SIEM (Security information and event management) para activarse si el volumen de tráfico de DNS de una fuente en particular es muy alto.

• Otro método consiste en utilizar el concepto de DNS de horizonte dividido para que las direcciones internas se traten en un servidor específico; los clientes deben utilizar un servidor proxy para conectarse a la Internet, y el servidor proxy resuelve el DNS externo para ellos.

• Algunos servidores proxy también tienen la capacidad para comprobar la información de DNS también.

• DNSTrap es una herramienta desarrollada para detectar túneles DNS mediante redes neuronales artificiales. En esta herramienta, se utilizan algunos atributos para entrenar una red neuronal artificial (ANN) para detectar túneles, por ejemplo, el nombre de dominio, la duración media de los paquetes a ese dominio, entre otros.

• Firewalls de nueva generación tienen la capacidad de detectar túneles DNS.

Page 29: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

PREGUNTAS DE REPASO

1) ¿En qué consiste y como funciona el ataque de Kaminsky?

2) Explique cuales son los campos del paquete DNS que resultan de interés para un atacante que realiza un DNS Caché Poisoning Normal ¿Cómo funcionaeste mecanismo de ataque?

3) ¿Qué es y para qué se utiliza DNS tunneling? ¿Cuáles son las formas de mitigarlo?

Page 30: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

Enlaces recomendados

• http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html#terms [DNS POISONING]

• http://luisarizmendi.blogspot.com.ar/2014/03/ataques-dos-y-ddos-prevencion-deteccion.html [CONCEPTOS GENERALES]

• http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/wiki/Base+de+Conocimiento/Seguridad+en+DNS [VIDEO EXPLICATIVO]

•http://msdn.microsoft.com/es-es/library/cc783606(v=ws.10).aspx [RECOMENDACIONES DE SEGURIDAD]

•https://blogs.oracle.com/mgil/entry/font_id_s03t_size_5 [INFORMACION GENERAL]

• http://dnstunnel.de/ [DNS TUNNELING]• http://www.unsec.net/2005/05/guia-rapida-de-tunneling-ip-sobre-dns.html •http://resources.infosecinstitute.com/dns-tunnelling/•http://www.docstoc.com/docs/98227716/Reverse-DNS-Tunneling-Reverse-DNS-Tunneling-Staged-Loading•http://what-when-how.com/computational-intelligence-in-security-for-information-systems-cisis-2011/a-comparative-performance-evaluation-of-dns-tunneling-tools-network-security/

Page 31: FACULTAD DE INGENIERIA – UNMDP – REDES DE DATOS

FIN