¿Aplicaciones de Android que acceden a la configuración de DNS?

2

Tengo mi dispositivo Android rooteado, y solo una aplicación RootTool one (que es bastante popular y me parece digna de confianza, y que uso para modificar el teléfono) con acceso root. Y recuerdo haber configurado correctamente la configuración de DNS para OpenDNS. Mientras solucionaba un problema de red, Revisé la configuración de Mi DNS y se modificaron .

Resultó que una aplicación de reproductor de video causó este cambio, junto con algunos anuncios extraños en la barra de notificaciones. Después de desinstalar esa aplicación, encontré el mercado lleno de aplicaciones de reproductores de video con nombres similares, todos reclamaban que no tenían acceso de root, pero sí acceso a la configuración del dispositivo.

Dos preguntas:

  1. ¿Es el DNS realmente una configuración normal de Android? No aparece en el menú de configuración. ¿Puede alguna aplicación sin acceso root esto?
  2. ¿Qué tan peligrosa es la búsqueda de su dirección apuntada a un servidor desconocido?
pregunta user117 31.10.2012 - 12:09
fuente

2 respuestas

3

En realidad, es posible configurar sus servidores DNS en la interfaz de usuario del teléfono, eligiendo una IP estática en la configuración avanzada de conexiones de red. De acuerdo con una pregunta en StackOverflow , estas configuraciones se pueden modificar mediante programación como siempre que el permiso WRITE_SETTINGS esté establecido, usando el siguiente código:

android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "0");
android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.2");
android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS2, "192.168.0.3");
android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1");
android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0");
android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "1");

Si tiene habilitada la Depuración de USB, la configuración también puede cambiarse mediante el software de su PC, sin requisitos de permiso ni interacción del usuario.

En la segunda parte de su pregunta: sí , este es definitivamente un problema de seguridad. Si una aplicación configura su servidor DNS en un servidor no autorizado, puede redirigir el tráfico a cualquier dirección IP que desee, lo que facilita un ataque de intermediario. Combinado con herramientas como BeEF, sslstrip y sslsniff, es casi trivial falsificar completamente su experiencia de navegación.

    
respondido por el Polynomial 31.10.2012 - 12:23
fuente
1

Este código no funcionará en Android 3.0 y superior a menos que la aplicación esté instalada en la partición / system / app. Esas son ahora configuraciones protegidas.

Tampoco responde a la pregunta de configurar el DNS cuando se usa en datos móviles en lugar de WiFi.

    
respondido por el 3c71 28.04.2013 - 18:28
fuente

Lea otras preguntas en las etiquetas