SEAndroid概述

 SEAndroid官网地址:http://selinuxproject.org/page/SEAndroid

 SEAndroid是将selinux移植到android操作系统,并根据android特性进行改进的操作系统。SEAndroid中加入了SElinux如下访问控制,也开发了android特有的中间  件层访问控制

 SEAndroid概述_第1张图片

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

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


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

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

你可能感兴趣的:(android安全,Seandroid)