引言
由于目前关于SE for Android的介绍相对比较缺泛,因此本文的主要目的就是对整个SE for Android进行详细的介绍,同时可以作为相关工具、命令行、策略构建工具以为策略文件格式的使用说明书。
术语
先了解一下三个重要的术语,分别是SE for Android、AOSP和SEAndroid。
SE for Android | 用于描述整套SELinux mandatory accss control(MAC)以及Middle-ware mandatory access control(MMAC)在Android上的实现。 |
AOSP | AOSP即是指Android的源码版本,其下载地址为Google分布(http://source.android.com/source/downloading.html),其中从Release 4.3开始,AOSP源码已经包含SELinux的支持,相关的说明见http://source.android.com/devices/tech/security/se-linux.html。 AOSP中包含SELinux MAC的核心功能以及一些简单的策略,系统上所有的进程domains都是unconfined的状态。而且Install MMAC框架和策略也没有添加过多的限制,详情可以查看“所支持的MAC服务”一节的内容。 AOSP的原则是所有的第三方应用都是平等对待,这意味着第三方的应用不能运行在不同的domains中,也无法为其单独配置MAC/MMAC策略。AOSP只对系统应用进行策略限制。 |
SEAndroid | SEAndroid就是指在AOSP发行版本的基础上添加了一系列功能之后的版本(相当于是SELinux的功能加强版),这些功能如下所列: a) 安全加强的MAC策略,以保证所有进程的domain都是被定义,同时SELinux的默认模式是enfocing; b) 安全加强的MMAC策略; c) 增加了Intent MMAC的支持; d) 增加了Content Provider MMAC的支持; e) 增加了Revoke permissioin(权限吊销) MMAC的支持;
这些功能的详细描述,见“所支持MAC服务”一节
|
SE for Android的项目编译
一共有5种不同的SE for Android的项目构建方式,分别是:
1) 标准的AOSP版本(从4.3版开始),这个版本不需要额外的代码补充,其他四种方式都需要从 https://bitbucket.org/seandroid/manifests获取额外的代码;
2) git checkout master——包含安全加强的SELinux MAC + 安全加强的Intall MMAC;
3) git checkout intent_mac——包含安全加强的SELinux MAC + 安全加强的Intall MMAC + Intent MMAC;
4) git checkout cp_mac ——包含安全加强的SELinux MAC + 安全加强的Intall MMAC + Intent MMAC + Content Provider MMAC;
5) git checkout revoke-perms——包含安全加强的SELinux MAC + 安全加强的Intall MMAC + Revoke permissions策略;
Android源码的git地址是https://android.googlesource.com,SEAndroid enhancements的git地址是https://bibucket.org/seandroid.
有用的链接
关于如何实现和测试集成了SELinux功能的AOSP发行版本:http://source.android.com/devices/tech/security/se-linux.html
关于目前SEforAndroid与跟AOSP的合并情况、如何获取代码、如何安装、有哪些功能: http://selinuxproject.org/page/SEforAndroid
Security Enhanced (SE) Android: Bringing Flexible MAC to Android : http://www.internetsociety.org/sites/default/files/02_4.pdf (强烈推荐阅读)
关于三星的"KNOX"的详细介绍:http://www.samsung.com/global/business/business-images/resource/white-paper/2013/05/Samsung_KNOX_whitepaper_April2013_v1.1-0.pdf
接下来的章节将包含下列内容
请继续阅读《SE for Android 系列之整体概要(二)》