博文

目前显示的是标签为“permissive”的博文

SEAndroid基础

图片
1.前言     安全是在移动终端普及下,移动互联网应用需要解决的重头戏。当然,有了网络安全的保障下,还需要设备自身的安全保证,因此,Android集成了基于SELinux的SEAndroid。 2.SEAndroid、SELinux与Android     SEAndroid(Security-Enhanced Android,Security Enhancements for Android™ (SE for Android))是将Linux操作系统上的MAC强制存取管控套件SELinux移植到Android平台上,用于增强Android系统对APP等的存取管控,用于确保每个APP的独立运行,防止恶意APP对系统或其他应用程序的攻击。     那么什么是MAC?其与传统的DAC区别在哪?在SELinux出现之前,Linux上使用的安全模型为DAC(Discretionary Access Control,自主访问控制),其思想为:进程理论上所拥有的权限与执行它的用户的权限相同,而MAC(Mandatory Access Control,强制访问控制)的思想为:任何进程想在SELinux系统中干任何事情,都必须先在安全策略配置文件中赋予权限,凡是没有出现在该文件中的权限,进程就没有相应的权限。从而在DAC下,ROOT用户能进行所有的操作,但在MAC下则不行,特殊人物也需按规则来办事了,有提前在MAC里申请配置的才能进行相应权限的操作。     综上所述,SEAndroid=SELinux+Android,下图可以看出传统Android和使用了SELinux的SEAndroid之间对权限操作的区别:     左边和右边分别是未使用和使用SELinux的Android系统对于数据操作的区别,未使用SELinux的Android系统下,ROOT用户权限拥有最高权限,能对用户区与系统区进行操作,而普通用户只能对用户区进行操作,而使用了SELinux的Android系统下,不管是普通用户权限还是ROOT权限的程序,对用户区和系统区操作时,都必须通过SEAndroid的验证,拥有相应权限才能对相应文件进行操作,否则只能被拒门外。     S...