AndroidQ(10.0) system app 增加访问 sys/class/ 权限

简介: AndroidQ(10.0) system app 增加访问 sys/class/ 权限

问题由来


System app 需要读取网卡地址,而网卡地址存储在 sys/class/net/eth0/address


所以通过 cat sys/class/net/eth0/address 就能获取设备网卡地址


但是安全等级越来越高,


1|HTC5K:/ $ cat sys/class/net/eth0/address


cat: sys/class/net/eth0/address: Permission denied


HTC5K:/ $ ifconfig


ifconfig: ioctl 8927: Permission denied


avc: denied { search } for name=“net” dev=“sysfs” ino=12684 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs_net:s0 tclass=dir permissive=0


avc: denied { read } for name=“address” dev=“sysfs” ino=25277 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0


avc: denied { open } for path="/sys/devices/platform/1100a000.spi/spi_master/spi32766/spi32766.0/net/eth0/address" dev=“sysfs” ino=25277 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0


增加权限


device/mediatek/sepolicy/basic/non_plat/system_app.te


 allow system_app self:netlink_kobject_uevent_socket {read bind create setopt };
 # system_app need to read from sysfs /sys/class/switch/hdmi/state
 r_dir_file(system_app, sysfs_switch);
+allow system_app sysfs_net:dir { search read };
+allow system_app sysfs:file { open read };

编译报错


libsepol.report_failure: neverallow on line 91 of system/sepolicy/private/coredomain.te (or line 32781 of policy.conf) violated by allow system_app sysfs:file { read open };

libsepol.check_assertions: 1 neverallow failures occurred

Error while expanding policy


修改忽略规则


system/sepolicy/private/coredomain.te

system/sepolicy/prebuilts/api/29.0/private/coredomain.te

@@ -102,6 +102,7 @@ full_treble_only(`
     -init
     -ueventd
     -vold
+    -system_app
   } sysfs:file no_rw_file_perms;
   # /dev


目录
相关文章
|
2月前
uni-app 62websocket连接权限验证和强制下线
uni-app 62websocket连接权限验证和强制下线
26 3
|
2月前
uni-app 12.1设置朋友圈动态权限
uni-app 12.1设置朋友圈动态权限
17 0
uni-app 12.1设置朋友圈动态权限
|
3月前
|
安全 Java 数据挖掘
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace 转载自: https://androidperformance.com/2023/05/14/bad-android-app-with-system-permissions/#/0-Dex-%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF
31 0
|
存储 Linux Shell
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
389 0
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
|
Java Android开发
Android9.0/8.1/6.0 默认给系统 app 授予所有权限
Android9.0/8.1/6.0 默认给系统 app 授予所有权限
354 0
|
传感器 XML 前端开发
使用APICloud开发app的动态权限及Android平台targetSdkVersion设置教程
targetSdkVersion:自2018年11月开始,GooglePlay以及国内大部分应用市场要求app编译目标SDK必须为26及以上,否则不予提交审核;有许多已有app转到APICloud开发后,因targetSdkVersion降级而导致无法覆盖安装;2020年以来,国家网信办等监管机构也加强了对app权限合规的监管。
530 0
小说app开发,明确后台权限划分有序进行管理
小说app开发,明确后台权限划分有序进行管理
|
存储
【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)
【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)
412 0