SE for Android 系列之整体概要(一)

http://blog.csdn.net/l173864930/article/details/17190131
引言
由于目前关于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

接下来的章节将包含下列内容
MAC和Middleware MAC的介绍
为了支持MAC功能,Android源码上的变化
增加kernel LSM/SELinux的支持
与SE for Android功能相关的Classes & Permissions
为支持SE for Android所增加的SELinux命令和方法
init为支持SELinux的扩展
策略构建和编译
编译文件的位置
策略布尔值
策略配置文件
Install / run time MMAC 配置文件
Intent MMAC配置文件
Content Provider MMAC配置文件
Revoke permissions MMAC配置文件
日志和审计
libselinux添加的函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值