La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad en dns.

Presentaciones similares


Presentación del tema: "Seguridad en dns."— Transcripción de la presentación:

1 Seguridad en dns

2 Introducción El DNS, Sistema de Nombres de Dominio, es una base de datos distribuida de estructura jerárquica, cuyo principal servicio es resolver nombres de domino en direcciones IP usando un esquema cliente/servidor.

3 RESOLUCIÓN Puede ser recursiva: Donde el que se encarga de la resolución es servidor local de confianza del cliente.

4 Puede ser iterativa: Donde el que se encarga de hacer la resolución es el cliente en caso de que su servidor local no tenga la dirección IP requerida.

5 Registros de recurso REGISTRO A (address) : Permite la conversión de un nombre de dominio a dirección IPV4. REGISTRO CNAME (canonical name): Su uso mas común es utilizarlo para apuntar a un único host mas de un nombre, así se simplifican procesos como albergar simultáneamente un servidor WEB y otro FTP en un mismo equipo. REGISTRO NS (name server): Especifica el servidor (o servidores) de nombres para un dominio. REGISTRO MX (mail exchange): Define el servidor encargado de recibir el correo electrónico. REGISTRO PTR (pointer): Provee otra ubicación en el espacio de nombres. REGISTRO TXT: Permite asociar información adicional a un dominio. Se utiliza para el almacenamiento de llaves de cifrado como ‘DOMAINKEYS’. REGISTRO SOA (autoridad de la zona): Proporciona información sobre el servidor DNS primario de la zona.

6 Formato de mensajes

7 Identifier (ID): Una identificación de 16-Bits generada por el dispositivo que realiza la consulta. El mismo código es usado en la respuesta. Question Count (QDCount): Especifica la cantidad de preguntas en el campo pregunta. Answer Record Count (ANCount): Especifica el numero de registros incluidos en la respuesta. Authority Record Count (NSCount): Especifica el numero de registros incluidos en el campo autoridad. Additional Record Count (ARCount): Especifica el numero de registros incluidos en el campo adicional.

8 FLAGS Query/Response Flag (QR): 0 para consulta, 1 para respuesta.
Operation Code (OpCode): Especifica el tipo de pregunta que se esta enviando. Se copia en la respuesta. Los tipos pueden ser QUERY, IQUERY, STATUS, NOTIFY, UPDATE. Authoritative Answer Flag (AA): 1 si es una respuesta de un servidor autoritativo, si no 0 Truncation Flag (TR): 1 si el mensaje esta truncado. Recursion Desired (RD): Cuando esta en 1 se solicita al servidor que recibe la consulta que trate de realizar consultas recursivas. Recursion Available (RA): Se coloca en 1 o 0 en las respuestas indicando si el servidor tiene la posibilidad de resolver de forma recursiva. Zero: 3 bits reservados en cero. Response Code (Rcode): Para consultas esta en cero, en las respuestas se utiliza para informar el resultado del procesamiento. Si hubo error o no y de que tipo entre otras cosas.

9 Formato de preguntas Question Name (QName): Contiene el objeto, dominio o zona que es el sujeto de la pregunta (variable). Question Type (QType): Define el tipo de pregunta, contiene un código numérico correspondiente a un tipo de recurso (2 bytes). Question Class (QClass): Especifica la clase de recurso que se esta solicitando, normalmente es 1 que es “IN” de internet (2 bytes).

10 Formato de respuesta Nombre: Objeto, dominio o zona que es el sujeto de el registro (variable). Tipo: El tipo de registro (2 bytes). Clase: Siempre es 1 referido a internet “IN” (2 bytes). TTL: Duración permitida para el uso de cacheo del registro (4 bytes). Resource Data Length: El tamaño del campo “Resource Data” (2 bytes). Resource Data: La porción de datos del registro (variable).

11 Ataques dns

12 Ataque de Denegación de Servicio (Dos)
Se produce cuando un atacante intenta denegar la disponibilidad de los servicios de red desbordando uno o varios servidores DNS con consultas recursivas (DNS Flood). Se le denomina "denegación" porque hace que el servidor no dé abasto a la cantidad/tamaño de solicitudes. Esto provoca 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) Un usuario común puede verse afectado, por ejemplo con una performance de la red inusualmente lenta (abriendo archivos o accediendo a sitios web) o falta de disponibilidad de uno o varios sitios web.

13 Este tipo de ataques tiene diversas variantes, siendo el más sencillo aquel en el que un atacante con origen conocido realiza un envío masivo de paquetes o información (flooding) sobre la víctima. El ataque directo de origen localizado tiene una incidencia menor en la actualidad, ya que es más fácil de detectar y mitigar, debido a que 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.

14 Ataque Distribuido de Denegación de Servicio
Una ampliación del ataque DoS es el llamado ataque distribuido de denegación de servicio (DDoS), el cual se lleva a cabo generando un gran flujo de información desde una multitud de orígenes diferentes. La forma más común de realizar un DDoS es a través de una botnet, siendo esta técnica el ciberataque más usual y eficaz por su sencillez tecnológica. 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 al 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 simultáneas desde ellos.

15 Muchas veces los atacantes hacen uso de botnets, que no son más que una multitud de equipos, controlados de manera remota por el atacante, 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.

16 Ataque de Amplificación/Reflexión
El atacante envía una alta cantidad de peticiones con una dirección IP falsificada (spoof) al servidor DNS que permite recursión, el DNS procesa estas peticiones como si 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.

17 1) El atacante envía una pregunta al servidor DNS, con la dirección fuente falsificada (Dirección Fuente Falsificada=Dirección de la Víctima). 2) EL atacante realizará una solicitud de la mayor cantidad de información posible (ANY) para maximizar el efecto de amplificación. 3) Cuando el servidor DNS envía la respuesta correspondiente, es enviada a la víctima. 4) Dado que el tamaño de las respuestas es mayor que el de las preguntas, el atacante incrementa considerablemente la cantidad de tráfico dirigido a la víctima. Este efecto aumenta si el atacante utiliza botnets. 5) Es difícil prevenir este tipo de ataques, porque las respuestas provienen de servidores válidos.

18 Esquema completo ataque de amplificación

19 Soluciones Limitar recursión: Una concientización global para que un Servidor DNS limite la recursión únicamente a clientes o redes bajo su responsabilidad. Filtrado de tráfico: 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. Adicionalmente, y desde el punto de vista del servidor DNS, implementar medidas destinadas a proporcionar mayor control sobre las consultas/respuestas como puede ser, especificar un límite máximo de respuestas idénticas por segundo. Utilizar herramientas de detección de peticiones provenientes de direcciones IP falsificadas, por ejemplo basadas en el cálculo del TTL (tiempo de vida) de los paquetes.

20 Envenenamiento Cache Es una técnica por la cual es posible engañar a un servidor DNS y hacerle creer que recibió información auténtica y válida, que luego es utilizada para redirigir tráfico a sitios tomados por el atacante. Por ejemplo, un atacante envenena las entradas DNS de direcciones IP para un sitio web objetivo, reemplazándolas con la dirección IP de un servidor que él controla. Luego, el atacante crea entradas falsas para archivos en el servidor que él controla con nombres que coinciden con los archivos del servidor objetivo. Estos archivos pueden contener contenido malicioso, como un virus o un gusano. Un usuario cuya computadora ha referenciado al servidor DNS envenenado puede ser engañado al creer que el contenido proviene del servidor objetivo y sin saberlo descarga contenido malicioso.

21 Si el servidor DNS es engañado el parámetro “Time To Live” asociado con la información falsa puede ser establecido por el suplantador en un valor alto, este será el tiempo que estará envenenado la memoria cache. El servidor victima responderá a las peticiones al sitio objetivo del atacante con la información que guardo en cache, esto extiende el efecto a otros clientes del servidor.

22 Las consultas DNS contienen un número identificador, query ID de 16bits, utilizado para identificar las respuestas asociadas a una respuesta dada. Si el atacante puede predecir exitosamente el valor de dicho número identificador y devolver la respuesta primero, el servidor aceptará la respuesta del atacante como válida. En un primer momento el atacante hace una petición que obligue al servidor victima a preguntarle a un servidor que el atacante controle, suponiendo que el servidor victima permita recursión. De esta manera espiando el tráfico a su propio servidor puede obtener el último puerto de origen y query ID utilizados por el servidor víctima.

23 Ahora el atacante usando como referencias el puerto y query ID usados por el servidor víctima, vuelve a hacer una petición pero esta vez buscara contestar antes que el verdadera servidor autorizado para hacerse pasar por este. Entonces el servidor victima tomara esta respuesta como válida y la guardará en su memoria cache, logrando con su objetivo el atacante.

24 En este caso el atacante, posee control sobre un sitio malicioso al cual quiere redirigir las entradas a que se hagan en el servidor víctima. El atacante realiza una consulta por a un servidor legítimo que quiere envenenar. El servidor va a realizar una encuesta al servidor de bankofsteve.com para obtener la dirección IP solicitada. Mientras tanto el cliente malicioso ya envió muchas respuestas con varios query ID, usando el obtenido anteriormente como referencia, una respuesta con la dirección IP falsa del sitio que el atacante controla. Cuando en sus respuesta acierte el query ID el servidor victima tomará esta respuesta como válida y la almacenará en su memoria cache. Entonces en posteriores consultas a este sitio el servidor victima entregara la dirección IP guardada en su memoria a aquellos usuarios que hagan una petición por El servidor victima dará esta respuesta hasta que se termine el TTL que el dio en la respuesta.

25 El servidor malicioso no solo entregará la IP de www. bankofsteve
El servidor malicioso no solo entregará la IP de sino que también entregará otras IP’s que no fueron solicitadas. Esto genera que la caché del servidor legítimo se cargue con IP’s sobre las cuales el atacante posee control. Páginas bancarias, redes sociales, páginas de tiendas son algunos de los objetivos más comunes de los atacantes.

26 ¿UNA SOLUCIÓN? Una solución es elegir de manera aleatoria el query ID en vez de hacerlo secuencial, la tarea de cache poisoning se hace aún más difícil ya que el atacante debe adivinar este parámetro de 16 bits, posibilidades.

27 Ataque de Kaminsky El secuestro o falsificación de un dominio se conoce como el ataque Kaminsky. La vulnerabilidad descubierta por Dan Kaminsky en el por accidente, da una vuelta de tuerca más al procedimiento anterior creando una respuesta fraudulenta que nos permite secuestrar todo el dominio. Una vez que todo el dominio ha sido secuestrado todo el tráfico puede ser redireccionado. Para realizar este procedimiento el atacante debe configurar un servidor autorizado para la zona de bankofsteve.com en nuestro caso. No hay ninguna razón por la cual alguien no pueda crear un servidor que sea autorizado para una determinada zona, el problema es que no tiene sentido (más que el de realizar este ataque) debido a que los root servers nunca lo consultarán. Este servidor tienen las respuestas, pero no hay nadie que le pregunte.

28 El atacante hace una consulta sobre un subdominio que quiera atacar, www bankofst eve.com en nuestro ejemplo. Haciendo esto ignora totalmente los 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.

29 El atacante pregunta al servidor victima por un subdominio que quiera atacar. Como es una subdominio inventado el servidor víctima no lo tendrá en memoria cache, por lo que está obligado a iniciar el proceso de recursión. Al igual que el caso anterior el atacante empieza a mandar respuestas al servidor víctima, hasta acertar el query ID. Pero ahora en lugar de un RR como parte de la pregunta, delega al servidor victima hacia otro servidor de nombres que es controlado por el atacante mediante registros autorizados. Entonces el servidor victima cree que servidor de nombres del atacante es el servidor de nombres autorizado de bankofsteve.com, el atacante ahora posee la zona entera. El resto de los pasos no importan, el objetivo ya fue cumplido por el atacante. Ahora puede redirigir a los usuarios de este sitio a cualquier servidor suyo. Generalmente el atacante pondrá un TTL lo mayor posible para que las respuestas envenenadas estén el mayor tiempo posible en memoria cache.

30 ¿UNA SOLUCIÓN? Una solución para esto es elegir aleatoriamente el puerto origen de respuesta, el ataque se volverá más dificultoso, dado que la respuesta falsa debe ser enviada por el mismo puerto desde donde la consulta se originó. Sin embargo esta solución trajo algunas preocupaciones por estabilidad y performance debido a que muchos kernels de SO no están preparados para ciclar entre varios miles de puertos por segundo. Si los puertos y los query ID toman valores aleatorios el atacante tiene que acertar una de las combinaciones posibles de source port y query ID.

31 Aunque, enviando un número de peticiones simultáneas de DNS al servidor para forzarlo a enviar más consultas recursivas, la probabilidad de predecir exitosamente uno de los números identificadores se incrementa. Esta modificación es una forma de ataque de cumpleaños (birthday attack). También estas peticiones deben enviarse a distintos puertos hasta dar con el correcto.

32 Otra medida de seguridad es hacer uso de 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. 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.

33 Man In The Middle (MITM)
Es un ciberataque donde un actor malicioso se inserta en una comunicación entre dos partes y tiene acceso a la información que están tratando de intercambiar entre sí. Permite al atacante interceptar, enviar y recibir datos. El atacante puede hacer sniffing sobre el tráfico de la red usada por DNS, interceptando los paquetes DNS y utilizando esta información para atacar poniéndose en medio entre el resolver y el servidor de nombres, asumiendo la identidad del servidor e interceptando las consultas enviadas al servidor.

34 Cuando un cliente DNS realiza una solicitud a un servidor DNS, emplea un ID que va de 1 a (campo de 16 bits de la trama DNS). Si el atacante, escuchando el tráfico, consigue adivinar cuál es el valor del ID que está utilizando la víctima, entonces podría responder antes que el servidor legítimo. Logrando de esta manera redireccionar el tráfico hacia un sitio malicioso. Obviamente el servidor legítimo enviará posteriormente la IP válida pero la victima la rechazará, pues ya tomó otra resolución de IP (envenenada), que tenía el mismo ID.

35 DNS Tunneling Con DNS tunneling se puede realizar un túnel de otro protocolo a través de DNS, 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). En un túnel de DNS, los datos se encapsulan dentro de las consultas y respuestas DNS, y el sistema de búsqueda de nombres de dominio DNS se utiliza para enviar datos de forma bidireccional. Esto se realiza a través de diversas herramientas, cada una con su propio enfoque de construcción de túneles. Algunas de estas herramientas son: OzymanDNS, Dns2tcp, Iodine, Heyoka, DNSCat, NSTX, DNScapy, VPN over DNS.

36 Algunos mecanismos de seguridad implementados (por ejemplo, firewalls, portales cautivos) se destinan a controlar el acceso a Internet. En general, estos mecanismos actúan como filtros para los protocolos 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). Por lo tanto, los esfuerzos se enfocan en la explotación de estos últimos protocolos con el fin de ocultar la información y crear un canal de comunicación a otro sistema en Internet, evitando las restricciones de firewall. Para mitigar las amenazas de DNS Tunneling se pueden realizar monitoreos del tamaño de las preguntas y respuestas DNS, y técnicas de análisis de tráfico.

37

38 Ejemplo dns tunneling 1.El atacante utilizando NSTX client convierte paquetes de red en solicitudes DNS 2.Los servidores DNS rutean la solicitud hasta el NS destino 3.NSTX Server convierte la solicitud DNS en paquetes de red 4.NSTX Server realiza la conexión de red deseada 5.NSTX Server envía los datos de respuesta en respuestas DNS 6.El atacante con NSTX Client convierte las respuestas DNS en paquetes de red

39 dnssec Se trata de un conjunto de extensiones al DNS que proporcionan a los clientes la autenticación del origen de datos DNS. Todas las respuestas en DNSSEC son firmadas digitalmente. Al comprobar la firma digital, el resolver es capaz de comprobar si la información es idéntica (correcta y completa) a la información en el servidor DNS autorizado. DNSSEC no garantiza la confidencialidad de los datos; en particular, todas las respuestas de DNSSEC se autentican, pero no se cifran.

40 DNSSEC trabaja firmando digitalmente registros para la búsqueda de DNS mediante criptografía de clave pública. El registro DNSKEY correcto se autentica a través de una cadena de confianza, que comienza en un conjunto de claves públicas de la zona raíz del DNS. Una cadena de autenticación es una serie de registros DS y registros vinculados DNSKEY, comenzando con el ancla de confianza al servidor de nombres autorizado para el dominio en cuestión. Sin una cadena de autenticación completa, una respuesta a una búsqueda de DNS no puede autenticar de manera segura.

41 Para limitar los ataques de repetición, no sólo hay valores TTL para propósitos de caché, sino que también marcas de tiempo adicionales en los registros para limitar la validez de una firma. A diferencia de valores TTL que son relativos al momento de su envío, las marcas de tiempo son absolutas. Estas marcas de tiempo implica que una zona debe volver a ser firmada y distribuida a los servidores secundarios, o las firmas serán rechazadas por los resolvers que validan. Despliegue: Se cree ampliamente que asegurar los DNS es de vital importancia para la seguridad en Internet como un todo, pero el despliegue de DNSSEC en concreto se ha visto obstaculizado por varias dificultades:

42 La necesidad de diseñar un estándar compatible con versiones anteriores que puede escalarse al tamaño de la Internet. El despliegue de las implementaciones DNSSEC en una amplia variedad de servidores de DNS y resolvers (clientes). La superación de la aparente complejidad de DNSSEC y su despliegue. El desacuerdo entre los encargados de la ejecución sobre quién debe poseer las llaves de raíz de los dominios de nivel superior. Otros países están preocupados por el control de Estados Unidos sobre el Internet, y pueden rechazar cualquier esquema centralizada de claves por esta razón. Algunos gobiernos podrían tratar de prohibir la distribución de claves de encriptación respaldadas por DNSSEC.

43 Prevención de la "enumeración de la zona" donde se desee
Prevención de la "enumeración de la zona" donde se desee. DNS almacena la información sobre los detalles de una red relacionados con un dominio dado, muchos ven el contenido de su base de datos DNS como privado. En particular, los sistemas de DNS se configuran de manera que la mayoría de los usuarios no se les permite recuperar la lista completa de nombres u otra información en una zona. Esa lista sería de gran ayuda a los atacantes, ya que esta lista les puede dar información importante acerca de las máquinas que existen. El diseño original de DNSSEC requería que toda la lista de nombres de zona se revelará a todos.

44

45 EjempLOS

46 ejemplos

47 Ejemplos Fecha: 27 de Marzo de 2013 Ataque DDoS: CyberBunker Spamhaus
Ataque inicial: Tráfico de 10 Gbps Finalmente: Tráfico de 300 Gbps Spamhaus solicitó los servicios de Cloudflare, para mitigar los efectos Millones de usuarios experimentaron demoras en los servicios, o directamente no pudieron acceder a determinados sitios Web Fue el mayor ataque DDoS, anunciado públicamente, en la historia de Internet hasta ese momento

48 Ejemplos

49 ejemplos Fecha: 19 de Mayo de 2015
Ataque al Servidor de Nombres: Los datos enviados al Banco, fueron redirigidos a sitios maliciosos Los sitios web falsos imitaron las páginas web de los servicios proporcionados por el Banco de la Reserva Federal de St. Louis, incluyendo la Reserva Federal de Datos Económicos, el Sistema de Archivo de la Reserva Federal de Investigación Económica, y el servicio de mapas de datos del banco Los usuarios que fueron redirigidos a estos sitios web falsos, fueron expuestos a distintas vulnerabilidades. Por ejemplo, acceso por parte de los hackers a sus nombres y contraseñas de usuarios. No se determinó claramente si los hackers atacaron sólo algunos o todos los sitios, que se basan en el Servidor.

50 ejemplos

51 ejemplos Fecha: 28 de Abril de 2015
Arbor Networks Inc., un proveedor de protección contra ataques DDoS (entre otros), emitió un informe con datos acerca de ataques DDoS en el primer cuatrimestre del 2015 Registró ataques de gran volumen: 25 ataques mayores a 100 Gbps alrededor del mundo y el mayor ataque, por ellos registrado hasta el momento, de 334 Gbps. En 2014, documentaron un incremento de esta actividad, la mayoría basada en ataques de reflexión/amplificación valiéndose de los servidores DNS (y otros protocolos como NTP y SSDP) Arbor Networks Inc. y Google Ideas construyeron el “Digital Attack Map”, un mapa en el que se visualiza los ataques DDoS alrededor del mundo. Los datos se actualizan todos los días y se puede acceder a historiales. Se realizó con la intención de que aquellos que lo necesiten puedan tomar mejores decisiones y reducir el impacto de estos ataques.

52 Preguntas Explique brevemente en qué consiste el ataque DDoS.
¿En qué consiste el ataque de amplificación? ¿Cómo se puede combatir al ataque de amplificación? Describa cómo hace el atacante para envenenar la memoria cache del servidor víctima. ¿Qué diferencia hay entre el envenenamiento de cache clásico y el ataque de Kaminsky? ¿Qué método se usa para evitar el envenenamiento de cache?


Descargar ppt "Seguridad en dns."

Presentaciones similares


Anuncios Google