3 votos

¿Es posible encontrar el conjunto completo de reglas SELinux para las ROMs de stock de los OEM?

Estoy escribiendo una aplicación root siguiendo la documentación de Chainfire, pero descubrí que tengo que ejecutar algunos comandos en otro contexto de SELinux.

Usando ese contexto en mi dispositivo (OnePlus One con CM12 nightly), no tengo problemas, pero cuando intento ejecutarlo en otro dispositivo (HTC One) el comando falla. Si desactivo temporalmente SELinux (setenforce 0), el comando se ejecuta sin problemas.

El análisis que realicé reveló que algunos archivos en el HTC One tienen un dominio SELinux diferente al del OnePlus One. Utilicé ls -Z y id -Z para averiguar dónde estaba el problema y también verifiqué la salida de supolicy --dumpav.

¿Es posible encontrar las definiciones de las políticas SELinux de los dispositivos insignia de todos los principales OEMs?

Podría ser suficiente una salida de supolicy --dumpav de cada dispositivo.

2voto

user1147688 Puntos 238

Sí, pero depende de dónde se almacenen estos archivos de políticas. Muchos fabricantes suelen mover cosas, pensando que su propia solución de seguridad es mejor. Además, dependiendo de la versión de tu AOS, las cosas pueden haber cambiado de nuevo, ya que SEAndroid es una implementación bastante reciente. Un lugar donde buscar estos archivos es en el sitio de Android Census. Allí puedes navegar hasta cada archivo de políticas/contexto de dispositivos. Por ejemplo:

/seapp_contexts:

isSystemServer=true domain=system
user=system domain=system_app type=system_data_file
user=bluetooth domain=bluetooth type=bluetooth_data_file
user=nfc domain=nfc type=nfc_data_file
user=radio domain=radio type=radio_data_file
user=_app domain=untrusted_app type=app_data_file
user=system name=com.sec.knox.containeragent domain=knox_system_app type=system_data_file
user=system name=com.policydm domain=knox_system_app type=system_data_file
user=_app name=com.centrify.mdm.samsung seinfo=knox_untrusted domain=knox_untrusted_app type=app_data_file
...

0 votos

¡Hola recurso maravilloso! Así que puedo descargar el archivo sepolicy e inspeccionarlo con una GNU/Linux caja y el comando sesearch -A sepolicy, también. Genial.

0 votos

@m-chinni Sí, pero si pudiéramos encontrar algún archivo binario de Android para hacer lo mismo, eso sería increíble. Es una verdadera molestia tener que transferir los archivos a una caja de Linux solo para ver qué hay dentro. Aparentemente Chainfire tiene alguna herramienta para inyectar archivos de política. Sería genial tenerlo, ya que Samsung está haciendo un gran trabajo suministrando políticas SE rotas...

1 votos

El supolicy de Chainfire puede parchear en vivo y volcar las políticas de SELinux. El comando supolicy --dumpav que escribí en la pregunta se puede ejecutar en el dispositivo mismo.

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