2016-08-05 5 views
0

Недавно я попытался прочитать файл /system/bin/debuggerd в Android.I можно установить приложение или использовать adb команды, но эта ошибка:Android Чтение файла опровергнуты SELinux

К сожалению, мне было отказано по SELinux

[105336.331813] type=1400 audit(8732769.717:226): avc: denied { read } for pid=17773 comm="ServiceHandlerB" name="debuggerd" dev="dm-0" ino=279 scontext 
=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:debuggerd_exec:s0 tclass=file permissive=0 

I не может root это устройство по правилам, так можно ли прочитать этот файл? это беспокоит меня целый день, THX за помощью.

ответ

1

Если вы не можете «корневать» устройство, чем нет.

Подробности следующие. debuggerd_exec файл объявлен как:

type debuggerd_exec, exec_type, file_type; 

Это означает, что процессы при попытке чтения файла будет необходимо разрешение на чтение на любом типа debuggerd_exec или атрибутов exec_type или file_type.

Используя текущий кончик мастера AOSP во время этого ответа и цель обеда aosp_x86_64-рус, мы можем увидеть, что «исходные домены» на самом деле может прочитать этот файл с помощью следующей sesearch команды:

$ sesearch -A -t debuggerd_exec -c file -p read $OUT/root/sepolicy 
allow debuggerd debuggerd_exec:file { read open getattr entrypoint execute }; 
allow debuggerd exec_type:file { read lock ioctl open getattr }; 
allow init debuggerd_exec:file { read getattr open execute }; 
allow perfprofd exec_type:file { read lock ioctl open getattr }; 

Если вы заметили исходные домены (первое, что после разрешения), ни одна из них не является оболочкой или ненадежным_app. В некорневых пользовательских сборках без эксплойта можно запускать только код в доменах untrusted_app или оболочки (это не совсем так, но детали не очень важны).

Кроме того, даже если у untrusted_app действительно был доступ, вам необходимо знать, что MLS иногда может препятствовать доступу, даже если sesearch показывает, что у вас есть доступ. SE Linux на Android использует как правила принудительного применения (разрешить правила), так и правила MLS (mls_constrain) для обеспечения изоляции и усиления песочницы.