SEAndroid基本实现

来源:互联网 发布:网络大电影怎样审批 编辑:程序博客网 时间:2024/06/07 03:21

 

  “即使root权限被篡夺,只要阻止应用的恶意行为即可”。
 
SEAndroid是将selinux移植到android操作系统,并根据android特性进行改进的操作系统。

Seandroid中加入了selinux如下访问控制,也开发了android特有的中间件层访问控制

 

SE Linux通过事先定义每个进程的允许操作,禁止其进行越轨的操作(图A-1)。SEAndroid沿袭了这一机制。 下图中又上表是事先定义好的策略(放在策略库中),规定进程A对文件A可读可写,规定进程A对目录X可读,而对进程B没有定义对任何目录或文件的访问权限,所以B不能够访问文件A或是目录X

图A-1:能够控制每个进程操作的SELinux
SELinux需要在策略数据库中定义“谁”、“做什么”、“怎样操作”。“谁”用来定义进程,“做什么”用来定义文件、目录、网络和进程间通信的插口等。“怎样操作”用来定义读写、插口与端口的连接等。


通过限制各进程的操作,可以防止恶意软件篡改系统。一般来说,攻击漏洞的恶意软件为了长久利用篡夺到的root权限,会在Android的系统区中埋设su命令。但若使用SEAndroid,事先设定不允许以root权限执行的各种进程改写系统区和重复挂载,就可以避免此类攻击(图A-2)。 可以看到无selinux的android操作系统root是可以操控整个操作系统的,一旦恶意应用利用漏洞获得了root权限,就可以为所欲为;但是带有selinux的android操作系统,root权限被削弱,即使恶意应用获得了root权限也不能够对用户造成危害了。

图A-2:即使被篡夺root权限也不会遭到攻击的SEAndroid
攻击者进攻Android系统时,为了下一次攻击,会在系统区安插能够以root权限执行各种命令的“su”、UNIX命令的实用程序“BusyBox”等。SEAndroid能够通过禁止拥有root权限的进程改变系统区,有效回避此类攻击。
原创粉丝点击