4 votos

¿La implementación de Android de SELinux MAC inhibe a las aplicaciones con privilegios de Root de acceder a los datos de otras aplicaciones?

A partir de Android 4.4, la MAC de SELinux se aplica. Significa esto que si una aplicación puede instalarse de alguna manera y explotar el kernel para obtener privilegios de Root, esa MAC seguirá impidiendo que esa aplicación con privilegios de Root acceda a los datos privados de la aplicación?

Documentación de Android dice,

SELinux se puede utilizar para etiquetar estos dispositivos de manera que el proceso al que se le ha asignado el privilegio Root pueda escribir sólo en aquellos especificados en la política asociada. De este modo, el proceso no puede sobrescribir datos y configuraciones del sistema fuera del dispositivo de bloque bruto específico.

Como referencia, estoy implementando un sistema de gestión de dispositivos móviles y en el proceso tengo que determinar qué tan seguro es el propio sistema operativo Android. Por eso necesito saber cómo de seguros son los datos corporativos almacenados en un dispositivo frente a rootkits, spyware y otros malware.

P.D. Esto fue publicado en el sitio 'Unix & Linux' pero nadie ha podido responderlo, y uno de sus usuarios me sugirió que preguntara a esta comunidad, cualquier ayuda es muy apreciada. Gracias.

0 votos

Puedo y probablemente lo haga de alguna manera. Depende de a qué dominio SELinux tenga acceso el atacante, y cuál sea la política SELinux para interconectar ese dominio (explotado) con el dominio de la aplicación objetivo.

0 votos

Obtenga /sepolicy (o /data/security/sepolicy) del teléfono, y utilice sesearch (o alguna herramienta similar) para inspeccionar la política.

0voto

Jack Wade Puntos 231

Para referencia de los futuros visitantes, depende del contexto SELinux del proceso Root. En DAC UID 0 es el superusuario que puede acceder a cualquier recurso del dispositivo permitido por el kernel. MAC (SELinux en nuestro caso) se niega por defecto, es decir, ningún proceso puede acceder a nada a menos que se defina una regla de política para permitir el acceso.

Así que no hay supercontexto en SELinux pero es posible definir uno. Eso es lo que hacen las aplicaciones de rooting desde Lollipop. Magisk, por ejemplo, define u:r:magisk:s0 con acceso ilimitado a cualquier otro contexto. Cualquier proceso que se ejecute con UID 0 y u:r:magisk:s0 podría acceder a todo en el dispositivo, incluyendo los datos de otras aplicaciones.

Depende del exploit con qué contexto es capaz de ejecutar un proceso. Con SELinux reforzado, es muy difícil inyectar algo a la política.

Para más detalles, véase:

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X