Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Sistemas Operativos > Android


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 29-jul-2012, 10:12   #1
Moderador
 
Avatar de pamda
 
Fecha de Ingreso: noviembre-2006
Ubicación: Digital nomad
Amigos 1
Mensajes: 947
Gracias: 155
Agradecido 77 veces en 57 mensajes.
Exclamation Envenenamiento DNS en Android: puede ser engañado a la hora de resolver dominios

Roee Hay y Roi Saltzman del equipo IBM Application Security Research
Group, han descubierto una vulnerabilidad en el sistema DNS de Android,
que afecta a la versión 4.0.4 (Ice Cream Sandwich) y anteriores. Permite
a un atacante hacer que un dominio resuelva hacia otra dirección.

La vulnerabilidad se debe a una implementación débil del sistema
generador de números pseudo-aleatorios que se utilizan como
identificador único de cada petición DNS. La debilidad de este sistema
está ocasionada por el uso del identificador del proceso (PID) y la hora
actual como semilla para generar los números aleatorios.

Sistema DNS

En el protocolo DNS (cuando trabaja sobre UDP) las peticiones DNS para
resolver dominios se envían al servidor con un identificador único en
los paquetes que conforman la petición. Así, a la hora de que el
servidor responda, sabe a quién corresponde cada conversación.

Este identificador debe estar conformado por un valor aleatorio y el
puerto UDP de destino. Para que un ataque de envenenamiento de DNS a
este nivel funcione, un atacante podría enviar respuestas falsas al que
intenta resolver (y hacerlo antes de que llegue la respuesta legítima
del servidor real consultado).

En esta inundación de respuestas falsificaría la relación dominio-ip y
podría engañar a la víctima. Tratándose de UDP (que no necesita
confirmación de las dos partes como TCP) esto es posible. En cierta
manera, lo que impide este ataque es precisamente ese código aleatorio
que genera el cliente cuando quiere resolver. El atacante debe intentar
predecir el próximo número aleatorio e inyectar respuestas que el
sistema de resolución DNS no ha solicitado. Así puede engañarlo.

Si el identificador generado para cada consulta no es suficientemente
aleatorio y llega a ser predicho de alguna manera, el atacante solo
tiene que inundar al resolvedor de paquetes UDP con una pequeña cantidad
de respuestas DNS. La que coincida será tomada en serio por el
dispositivo que intenta resolver, haciéndole caso a los paquetes del
atacante en vez de al servidor DNS legítimo consultado.

Si por el contrario el sistema de resolución realmente elige números
aleatorios, las posibilidades del atacante son mínimas y necesitaría
años para poder engañar al dispositivo. En el caso de Android, de los 32
bits posibles que pueden componer el identificador, se han visto que
hasta 21 no eran realmente aleatorios, lo que facilita enormemente este
ataque.

¿A qué se expone la víctima?

Este fallo podría permitir a un atacante predecir el identificador único
y llevar a cabo un envenenamiento DNS tradicional, enviando paquetes UDP
a la víctima. En la demostración del vídeo, el ataque dura solo unos 10
minutos.

Una aplicación interesante que proponen los descubridores es la de
incitar a la víctima a visitar una web del atacante. Esta, a través de
JavaScript, comienza a "estimular" al sistema de resolución intentando
resolver subdominios que no existen. El atacante además comienza a
inyectar respuestas desde otro punto. El sistema de resolución se
"confunde" y acaba creyendo que el dominio está en la IP que pertenece
al atacante. Este configura el servidor web en esa IP para que robe
todas las cookies de la víctima. El usuario acaba visitándola y así se
podrá suplantar su usuario en cualquier página.

Han publicado un vídeo con una prueba de concepto como demostración de
la vulnerabilidad, en la que se obtienen las cookies de un dominio.:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Por supuesto, para consumar totalmente estos ataques sobre páginas
autenticadas con SSL, la víctima debería obviar las alertas del
navegador.

La vulnerabilidad ha sido reportada y corregida por el del Android
Security Team en la versión 4.1.1. En esta versión, para obtener números
aleatorios se utiliza /dev/urandom que dispone de una entropía adecuada
determinada por la actividad en la red.

Más Información:

Weak randomness in Android’s DNS resolver (CVE-2012-2808)

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Android DNS Poisoning: Randomness gone bad (CVE-2012-2808)

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Android DNS Poisoning: Randomness gone bad (CVE-2012-2808)

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

__________________
NO MP...!


"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no".Albert Einstein

[Solo usuarios registrados pueden ver los links. REGISTRARSE]





Última edición por pamda; 29-jul-2012 a las 10:16 Razón: Agregando fuentes
pamda está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mejores Aplicaciones Android komkal Phreaking 3 31-jul-2012 05:43



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0