SeLinux安全上下文文件

打印 上一主题 下一主题

主题 634|帖子 634|积分 1902

在SeLinux 框架中,需要为每个主体和客体设置好安全上下文。在Android中,常见的安全上下文文件有file_contexts、genfs_contexts、service_contexts、mac_permissions.xml和seapp_contexts
file_contexts
根系统中所有文件的安全上下文, 如/system/bin, /system/etc 等文件
  1. /system(/.*)?                u:object_r:system_file:s0
  2. /system/apex/com.android.art        u:object_r:art_apex_dir:s0
  3. /system/lib(64)?(/.*)?                u:object_r:system_lib_file:s0
  4. /system/lib(64)?/bootstrap(/.*)? u:object_r:system_bootstrap_lib_file:s0
  5. /system/bin/atrace        u:object_r:atrace_exec:s0
  6. /system/bin/auditctl        u:object_r:auditctl_exec:s0
复制代码
genfs_contexts
假造文件系统的安全上下文,如proc、sys、debugfs
  1. genfscon proc / u:object_r:proc:s0
  2. genfscon proc /asound u:object_r:proc_asound:s0
  3. genfscon proc /buddyinfo u:object_r:proc_buddyinfo:s0
  4. genfscon sysfs / u:object_r:sysfs:s0
  5. genfscon sysfs /devices/system/cpu u:object_r:sysfs_devices_system_cpu:s0
  6. genfscon sysfs /class/android_usb                 u:object_r:sysfs_android_usb:s0
  7. genfscon sysfs /class/extcon                      u:object_r:sysfs_extcon:s0
  8. genfscon debugfs /kprobes                             u:object_r:debugfs_kprobes:s0
  9. genfscon debugfs /mmc0                                u:object_r:debugfs_mmc:s0
  10. genfscon debugfs /tracing                             u:object_r:debugfs_tracing_debug:s0
  11. genfscon tracefs /                                    u:object_r:debugfs_tracing_debug:s0
  12. genfscon debugfs /tracing/tracing_on                  u:object_r:debugfs_tracing:s0
复制代码
service_contexts
系统binder服务的安全上下文,在启动过程中,servermanger会读取该设置
  1. media.audio_flinger                       u:object_r:audioserver_service:s0
  2. media.audio_policy                        u:object_r:audioserver_service:s0
  3. media.camera                              u:object_r:cameraserver_service:s0
  4. wifiaware                                 u:object_r:wifiaware_service:s0
  5. wifirtt                                   u:object_r:rttmanager_service:s0
  6. window                                    u:object_r:window_service:s0
  7. *                                         u:object_r:default_android_service:s0
复制代码
自定义的系统服务,在没有特别指定的情况下,默认的安全上下文是ubject_r:default_android_service:s0
mac_permissions.xml和seapp_contexts
mac_permissions.xml用于根据应用签名和应用软件包名称(后者可选)为应用分配seinfo 标记。随后,分配的seinfo 标记可在seapp_contexts 文件中用作密钥,以便为带有该seinfo 标记的所有应用分配特定标签。在启动期间,system_server 会读取此设置
  1.    <signer signature="@PLATFORM" >
  2.       <seinfo value="platform" />
  3.     </signer>
  4.     <!-- Media key in AOSP -->
  5.     <signer signature="@MEDIA" >
  6.       <seinfo value="media" />
  7.     </signer>
  8.     <signer signature="@NETWORK_STACK" >
  9.       <seinfo value="network_stack" />
  10.     </signer>
复制代码
seapp_contexts,app的安全上下文,用于描述apk 安装之后的目次文件和/data/data 目次分配标签。在每次应用启动时,zygote 进程都会读取此设置;在启动期间,installd 会读取此设置
  1. user=_app seinfo=platform name=com.android.traceur domain=traceur_app type=app_data_file levelFrom=all
  2. user=system seinfo=platform domain=system_app type=system_app_data_file
  3. user=bluetooth seinfo=platform domain=bluetooth type=bluetooth_data_file
  4. user=_app isPrivApp=true name=com.google.android.gms:* domain=gmscore_app type=privapp_data_file levelFrom=user
  5. user=_app isPrivApp=true name=com.google.android.gsf domain=gmscore_app type=privapp_data_file levelFrom=user
  6. user=_app minTargetSdkVersion=30 domain=untrusted_app type=app_data_file levelFrom=all
  7. user=_app minTargetSdkVersion=29 domain=untrusted_app_29 type=app_data_file levelFrom=all
  8. user=_app minTargetSdkVersion=28 domain=untrusted_app_27 type=app_data_file levelFrom=all
复制代码
在Android 8.0 之后启动了treble计划,分为了平台和非平台。selinux 安全上下文也被分为了平台和非平台,可以查看system/sepolicy/Android.mk 中的编译阐明。
system/sepolicy/private:平台私有规则,不会向vendor 部分袒露。里面包含了各种计谋控制te 文件,以及上面提到的上下文文件。
system/sepolicy/public: 平台共有计谋的全部定义,里面包含了各种计谋控制te 文件,
system/sepolicy/vendor 厂商规则,可引用public 的规则,不能引用private 的规则
device/manufacturer/device-name/sepolicy 厂商自定义的规则,包括如上的vendor 部分
上面说的安全上下文文件在编译之后,都会放到system/etc/seliunx和vendor/etc/seliunx 目次下。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表