Hace pocos días, se ha descubierto una vulnerabilidad de gran interés para los atacantes, que afecta a la resolución DNS del sistema operativo Android.
El punto débil se encuentra en un generador de números aleatorios utilizado por el sistema operativo, que hace que los ataques de envenenamiento de DNS sean factibles.
Recordemos que un ataque de envenenamiento de DNS podría provocar que nuestras peticiones se resolvieran con IPS públicas falsas, y nos redirigieran a páginas alternativas, diseñadas por un atacante con apariencia similar a las páginas web reales.
La función utilizada por el generador de números aleatorios, denominada PRNG, es la siguiente: random_id = 0xffff & (time_usec ^ time_sec ^ pid)
Donde time_sec es el tiempo actual en segundos, time_usec es la fracción en microsegundos, y el pid es el identificador el proceso.
Los valores TXID y el puerto origen se generan mediante la función PRNG.
Ambas llamadas a la función ocurren de forma secuencial, por lo que estos valores son muy parecidos entre si. Esto reduce el tiempo de ataque, ya que los bits aleatorios entre ambas generaciones se reduce de 32 (valor ideal) a menos de 21.
Los sistemas afectados son Android 4.0 (ICS) y todas las versiones anteriores.
El problema se encuentra solventado en la versión 4.1.1 (Jelly Bean), si bien no todos los dispositivos son actualizables a esta versión del sistema operativo.
Se espera que durante los próximos meses, se publique un parche o actualización que solucione el problema en las versiones 2.3 (Gingerbread), ya que a día de hoy sigue siendo ampliamente utilizada en todo el mundo.
Áudea Seguridad de la Información
Departamento Seguridad TIC
www.audea.com
Fuente: Security Focus