¿Hay alguna herramienta para proteger una aplicación de malware incluso más que los permisos otorgados en Android?

59

Supongamos que quiero ejecutar algún programa que solicite demasiados permisos. Por ejemplo, grabar desde el micrófono o leer IMEI de mi teléfono. Sin embargo, no hay una explicación práctica de por qué es necesaria la grabación desde el micrófono o el número IMEI para esta aplicación en particular, excepto para la minería de datos.

Quiero probar esta aplicación, pero restringir sus permisos. Por ejemplo, si lee IMEI, debería obtener IMEI aleatorio (pero siempre lo mismo). Si intenta leer el micrófono, debería silenciarlo.

Algunos otros permisos interesantes:

  1. Acceso de lectura / escritura a la agenda telefónica: devuelve cero contactos, pretende que la escritura está bien, pero en realidad no hace nada.
  2. Enviar SMS: finja que se envían SMS, pero no haga nada.
  3. Obtenga una lista de redes Wi-Fi visibles: devuelva cero redes.

Obviamente, la herramienta debería requerir un teléfono rooteado. ¿Hay alguna de esas herramientas?

Denis Nikolaenko
fuente
1
He estado haciendo esta pregunta en stackexchange, pero fui dirigido aquí ya que este sitio tiene una audiencia más amplia de Android.
Denis Nikolaenko
99
Nunca he visto algo así, pero no veo por qué no se pudo hacer. Es una buena idea.
Matt
1
¿Podría usar el emulador en el SDK del desarrollador para lograr mucho de esto?
ale
55
Básicamente sí. Es posible usar el emulador como sandbox. Pero, ¿qué sucede si quiero ejecutar una aplicación en el teléfono físico, pero mantener mi privacidad?
Denis Nikolaenko
Sé que esta pregunta es antigua, pero ¿puede elaborar qué contexto hace que desee probar alguna aplicación maliciosa en su propio dispositivo físico personal y responder a datos personales falsos? Para mí, la solución actual de cyanogenmod (rechazar llamadas, no producir datos falsos) parece suficiente.
Stéphane Gourichon

Respuestas:

13

XPrivacyLua es un módulo para el marco Xposed que hace exactamente lo que necesita. Es gratis y de código abierto. Funciona en dispositivos rooteados. Es el sucesor de XPrivacy.

Instale Xposed desde aquí: https://forum.xda-developers.com/showthread.php?t=3034811

Luego puede descargar el módulo XPrivacyLua desde el repositorio de Xposed a través de la aplicación Xposed Manager, o manualmente desde aquí:

https://repo.xposed.info/module/eu.faircode.xlua

Fuente:

https://github.com/M66B/XPrivacyLua


Si está ejecutando Android 5 o inferior, puede usar el módulo XPrivacy heredado.

Xaqron
fuente
Muy buena herramienta. Exactamente lo que ansiaba.
Denis Nikolaenko
19

Whisper Systems ha lanzado una ROM personalizada que tiene esta característica exacta: http://www.whispersys.com/permissions.html . Como menciona DarthNoodles, debe hacerse a nivel del sistema en lugar de a nivel de la aplicación, que es cómo se implementa en WhisperCore. La versión actual no puede bloquear todos los permisos disponibles en Android, pero están trabajando para admitir más de ellos.

Gary Peck
fuente
1
El código fuente está disponible solo después de la compra ...
Denis Nikolaenko
Link está muerto. ¿Cambiaron los nombres a OpenWhisper Systems y lanzaron Signal? o es que un grupo diferente?
YetAnotherRandomUser
@YetAnotherRandomUser sí, es más o menos el mismo grupo: signal.org/blog/welcome . Whisper Systems fue adquirido por Twitter. Un poco más tarde, Moxie, uno de los fundadores de Whisper Systems, dejó Twitter y lanzó algunas de las viejas aplicaciones de Whisper Systems en un proyecto de código abierto que se convirtió en Signal.
Gary Peck
16

CyanogenMod 7.1 tiene exactamente esta característica , pero sin datos falsos, solo falla, si la aplicación accede a la API. Se rechazó la propuesta de falsificar el IMEI. Falsificar otros datos, como los contactos, se encuentra actualmente en discusión.

Denis Nikolaenko
fuente
1
Steve Kondik explica por qué fue rechazado en esta publicación: plus.google.com/+SteveKondik/posts/iLrvqH8tbce Extracto: " Rechacé estos parches ya que crean un entorno hostil para las aplicaciones, y esa no es la dirección en la que quiero que vaya CM. . (...) desarrolladores que no quieren que sus aplicaciones se ejecuten en entornos impredecibles. (...) Creo que estos parches son solo más teatro de seguridad y realmente no resuelven un problema. ¿Por qué quieres ejecutar aplicaciones maliciosas? ¿de todas formas?"
Stéphane Gourichon
9

No es una solución absoluta a su problema, pero hay una aplicación en el mercado de Android que satisface sus necesidades. También necesariamente requiere un mejor conocimiento sobre los permisos y también un dispositivo rooteado.

Permisos denegados es una aplicación que le permite controlar de manera efectiva los permisos de las aplicaciones que están instaladas en su teléfono, a través del mercado o de alguna otra fuente. También tenga en cuenta que denegar a una aplicación un permiso que está solicitando puede resultar en el cierre forzado de la aplicación. (por lo tanto, requiere que tenga un mejor conocimiento sobre cómo usarlo)

Nota: Esta aplicación requiere acceso de root. Esta aplicación no funcionará en todos los dispositivos.

Abhirup Manna
fuente
1
CyanogenMod es aún mejor en esta área, la aplicación actualmente es escamosa.
Denis Nikolaenko
5

Esta no es una aplicación de Sandbox, pero tal vez también sea interesante para usted, si aún no lo ha escuchado.

Algunos científicos inician el proyecto Taintdroid . Monitoreo de privacidad en tiempo real para Android

NES
fuente
4

MockDroid es otro firmware académico con capacidades de falsificación de datos.

Denis Nikolaenko
fuente
4

Existe una excelente herramienta PDroid . Es tanto una aplicación como un conjunto de parches ROM, que permiten interceptar y falsificar solicitudes de permiso. Aquí están los parches PDroid Jellybean ROM Fork

Denis Nikolaenko
fuente
3

Es una solución lógica para un problema potencial y una irritación mía desde hace mucho tiempo.

Sin embargo, debe recordar que cualquier solución disponible para una aplicación de seguridad también estaría disponible para una aplicación de malware. Si una aplicación de seguridad podría bloquear el acceso a la red, entonces una aplicación de malware también podría bloquearla, evitando que una aplicación de seguridad actualice los archivos de datos, por ejemplo.

Debe hacerse a nivel del sistema, no como otra aplicación.

Vea mi publicación aquí para mis pensamientos.

DarthNoodles
fuente
44
Dichas herramientas requerirían acceso raíz al teléfono, si lo otorga, debe tener una confianza máxima en la herramienta, como "Permisos denegados". Si concedes acceso de root a una aplicación aleatoria del mercado, te disparaste en el pie :)
Denis Nikolaenko
3

LBE Privacy Guard parece ser una solución muy prometedora con funciones interactivas para bloquear o permitir la actividad de la aplicación sobre la marcha.

Denis Nikolaenko
fuente
2

Hay una investigación en curso sobre este tema. Se implementa una prueba de concepto aún no publicada para algunas de las API sensibles a la privacidad exactamente como propuse. El administrador de privacidad se llama TISSA , abreviatura de Taming Information-Stealing Smartphone Applications.

Denis Nikolaenko
fuente
2

Hay un bloqueador de privacidad (pago) y un inspector de privacidad (gratis). Privacy Blocker hace un análisis estático de aplicaciones para llamadas API sensibles y reescribe estas llamadas en stub que devuelven datos falsos. Como resultado, se genera e instala un nuevo .apk con una aplicación reescrita. Privacy Inspector es una aplicación que solo informa el uso de llamadas API sensibles.

Denis Nikolaenko
fuente
1

Marshmallow (Android 6) tiene un nuevo modelo de permisos . Las aplicaciones dirigidas a Marshmallow ahora se pueden restringir a menos permisos en tiempo de ejecución, y estas aplicaciones deberían fallar con gracia, en lugar del modelo de permisos de todo o nada de versiones anteriores de Android. En Marshmallow, esta es una característica del sistema operativo estándar y no requiere enraizamiento o aplicaciones adicionales.

Mattm
fuente
1
Hola mattm Sería bueno si profundizas aquí. Por ejemplo, el nuevo modelo de permisos no otorga ningún control sobre los permisos de Internet. Si es posible, use capturas de pantalla para una mejor manera de hacernos entender de qué está hablando.
Señor del fuego
-1

Estoy bastante seguro de que la herramienta que busca aún no existe. Pero tu idea es genial. Sin embargo, pocos puntos;

De c; la aplicación puede leer y escribir libremente su propio directorio de aplicaciones

dando acceso de lectura falsa: por cada lectura posible (y hay muchas aplicaciones que pueden intentar leer) se debe generar una respuesta predeterminada; mucho trabajo pero factible

sin embargo; dar acceso de escritura falso es mucho más difícil; ¿Qué pasa si utiliza la tarjeta SD para almacenar grandes archivos temporales; como mapas de bits. En un teléfono sin raíz; El único lugar donde la aplicación puede escribir es la tarjeta SD; y usando el proveedor de contenido (para cosas como contactos y calendario). Y el diseñador de aplicaciones no espera fallar al escribir datos; entonces la aplicación podría fallar.

Lo bueno es que lo peor que podría pasar es que la aplicación se bloquee.

bbaja42
fuente
¿Por qué bajar el voto? A diciembre de 2010, estas herramientas no existían realmente.
Denis Nikolaenko