#文章目录
1、前言
2、SELinux来源
3、SELinux基本框架
4、使用神器audit2allow工具生成SELinux 权限
5、一步一步在Android9上添加selinux的服务
一:前言
Android9的selinux可以说是所有版本中最强制性的,相比于android9以下的版本,添加服务只需要在init.xxx.rc中进行权限声明即可。
二:SELinux来源
SELinux 即Security-Enhanced Linux, 由美国国家安全局(NSA)发起, Secure Computing Corporation (SCC) 和 MITRE 直接参与开发, 以及很多研究机构(如犹他大学)一起参与的强制性安全审查机制, 该系统最初是作为一款通用访问软件,发布于 2000 年 12 月(代码采用 GPL 许可发布)。并在Linux Kernel 2.6 版本后, 有直接整合进入SELinux, 搭建在Linux Security Module(LSM)基础上, 目前已经成为最受欢迎,使用最广泛的安全方案。
三、SELinux基本框架
SELinux 是典型的MAC-Mandatory Access Controls 实现, 对系统中每个对象都生成一个安全上下文(Security Context), 每一个对象访问系统的资源都要进行安全上下文审查。审查的规则包括类型强制检测(type enforcement), 多层安全审查(Multi-Level Security), 以及基于角色