没有合适的资源?快使用搜索试试~ 我知道了~
SEAndroid是SELinux in Android的缩写。SELinux全称Security Enhanced Linux,即安全增强版Linux,它并非一个Linux发布版,而是一组可以套用在类Unix操作系统(如Linux、BSD等)的修改,主要由美国国家安全局(NSA)开发,已经被集成到2.6版的Linux核心之中,现已有十几年的开发和使用历史,是Linux上最杰出的安全子系统。
资源推荐
资源详情
资源评论





















Introduction
What is SELinux
SEAndroid 是 SELinux in Android 的缩写。SELinux 全称 Security Enhanced Linux,即安全增强版 Linux,它并
非一个 Linux 发布版,而是一组可以套用在类 Unix 操作系统(如 Linux、BSD 等)的修改,主要由美国国
家安全局(NSA)开发,已经被集成到 2.6 版的 Linux 核心之中,现已有十几年的开发和使用历史,是
Linux 上最杰出的安全子系统。
标准的 UNIX 安全模型是“任意的访问控制“DAC(Discretionary Access Control),任何程序对其资源享有完
全的控制权,这些控制权由用户自己定义。SELinux 的安全模型则是 MAC(Mandatory Access Control),即
强制访问控制,它的做法是“最小权限原则”,通过定义哪些用户可以访问哪些文件,从而提供了一系列的
机制,来限制用户和文件的权限。
传统的 Linux 不足之处
虽然 Linux 比起 Windows 来说,它的可靠性,稳定定要好得多,但是他也是和其他的 UNIX
一样,有以下这些不足之处。
1)存在特权用户 root
任何人只要得到 root 的权限,对于整个系统都可以为所欲为。这一点 Windows 也一样。
2)对于文件的访问权的划分不够细
在 linux 系统里,对于文件的操作,只有「所有者」,「所有组」,「其他」这3类的划分。
对于「其他」这一类里的用户再细细的划分的话就没有办法了。
3)SUID 程序的权限升级
如果设置了 SUID 权限的程序有了漏洞的话,很容易被攻击者所利用。
4)DAC(DiscretionaryAccess Control)问题

文件目录的所有者可以对文件进行所有的操作,这给系统整体的管理带来不便。
对于以上这些的不足,防火墙,入侵检测系统都是无能为力的。
SELinux 的优点
SELinux 系统比起通常的 Linux 系统来,安全性能要高的多,它通过对于用户,进程权限的最小化,即使受
到攻击,进程或者用户权限被夺去,也不会对整个系统造成重大影响。在标准 Linux 中,主体的访问控制
属性是与进程通过在内核中的进程结构关联的真实有效的用户和组 ID,这些属性通过内核利用大量工具进
行保护,包括登陆进程和 setuid 程序,对于文件,文件的 inode 包括一套访问模式位、文件用户和组 ID。
以前的访问控制基于读/写/执行这三个控制位,文件所有者、文件所有者所属组、其他人各一套。
在 SELinux 中,访问控制属性总是安全上下文三人组形式,所有文件和主体都有一个关联的安全上下文,
标准 Linux 使用进程用户/组 ID,文件的访问模式,文件用户/组 ID 要么可以访问要么被拒绝,SELinux 使用
进程和客体的安全上下文,需要特别指出的是,因为 SELinux 的主要访问控制特性是类型强制,安全上下
文中的类型标识符决定了访问权。若要访问文件,必须同时具有普通访问权限和 SELinux 访问权限。因此
即使以超级用户身份 root 运行进程,根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件
或资源。
SELinux 工作模式
有 disabled、permissive、enforcing 3 种模式:
disabled:禁用 SELinux
permissive:SELinux 开启状态,但不做任何策略的拦截。即使你违反了某策略,SELinux 在 permissive 模式
下回让你继续操作,只不过会把这条违反行为记录下来。
Enforcing:相比 permissive 模式,在 enforcing 模式下,你违反了某策略,SELinux 就会把你拦截下来,无
法继续操作.

adb shell getenforce
返回当前工作模式,disabled, permissive, enfroce
Adb shell setenforce 1
设置为 enforce 模式
adb shell setenforce 0
设置为 permissive 模式
Default Deny (Principle of Least Privilege)
from external/sepolicy/netd.te
下面这条 SELinux 语句表示 允许(allow )netd 域(domain)中的进程”写(write)“类型为 proc 的文件
allow netd proc:file write
如果没有在 netd.te 中使用上例中的权限配置 allow 语句,则 netd 就无法往/proc 目录下得任何文件中写数据,
即使 netd 具有 root 权限。显然,MAC 比 DAC 在权限管理这一块要复杂,要严格,要细致得多。Linux 系统先做
DAC 检查。如果没有通过 DAC 权限检查,则操作直接失败。通过 DAC 检查之后,再做 MAC 权限检查。
在 SELinux 中,安全策略文件是最重要的,学习 SELinux 的终极目标应该是:
看懂现有的安全策略文件。
编写符合特定需求的安全策略文件。
前面也曾提到,SELinux 有自己的一套规则来编写安全策略文件,这套规则被称之为
SELinux Policy 语言。它是掌握 SELinux 的重点。

Android status
剩余22页未读,继续阅读
资源评论


qq_39500840
- 粉丝: 0
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 全国计算机等考试四数据库工程师.doc
- 计算机控制技术课后习题答案.doc
- 电子科技大学高级计算机视觉课程 Python 版本内容整理
- 常规AutoCAD图转换流程(GIS).ppt
- PLC的低成本机械式立体停车库控制系统研究.doc
- 单片机温湿度显示报警系统方案设计书.doc
- plc-自动售货机毕业设计开题报告.doc
- 提升农业经济管理信息化水平的策略分析.docx
- Thor-AI人工智能资源
- 数字频率计(单片机).doc
- 马鞍山工业学校计算机优秀教案EXCEL3.doc
- 铁路工程投资控制系统网络版软件操作手册.doc
- 工神经网络应用于继电保护的探讨.docx
- 浅析计算机技术在大学英语教学中的运用.docx
- 软件需求与需求管理.ppt
- (v)蓝星新型农村合作医疗dll接口规范(潜江).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
