seandroid 是什么|极客笔记-凯发k8旗舰厅

本文介绍(security enhancements (se) for android),这里的se全称是security enhanced,seandroid是google在android4.4上正式推出的一套以selinux为核心的系统安全机制。而selinux则是由nsa(美国国安局)在linux社区的帮助下设计的一个针对linux的安全强化系统。

seandroid是在selinux基础上发展起来的。selinux是linux系统中对mac(强制性访问控制)的实现。由于android系统有着独特的用户空间运行时,因此selinux不能完全适用于android系统。为此,nsa(美国国家安全局)同google一起针对android系统。

android 使用seandroid对所有进程强制执行强制访问控制 (mac),甚至包括以 root/超级用户权限运行的进程(linux 功能)。

seandroid安全机制框架

seandroid在架构和机制上与selinux完全一样,考虑到移动设备的特点,所以移植到android上的只是selinux的一个子集。seandroid的安全检查几乎覆盖了所有重要的系统资源,包括域转换,类型转换,进程、内核、文件、目录、设备,app,网络及ipc相关的操作。

接下来,我们就来看一下seandroid安全机制的整体框架,如下所示:

seandroid安全机制框架

从上面的架构图可以看出来,seandroid安全机制包含用户空间和内核空间两部分,

  • 内核空间主要涉及lsm内核安全模块
  • 用户空间包括securitycontext,security policy等模块

这些模块的作用和交互如下:

  • lsm提供了一种通用的安全框架,允许将安全模型以模块方式载入内核,除了selinux外,linux还支持tomoyo,yama等安全模型
  • avc是一个策略缓存,当进程试图访问系统资源的时候,kernel中的安全策略服务将会先在avc中查找策略,如果没有命中,则会到安全服务器中查找,找到了,则权限被缓存,允许访问,如果没找到,则拒绝访问
  • securitypolicy描述系统资源的安全访问策略,系统启动时init进程负责把策略文件加载到内核的lsm模块中
  • securitycontext描述系统资源的安全上下文,selinux的安全访问策略就是在安全上下文的基础上实现的
  • libselinux为用户空间提供了selinux文件系统访问接口

camera课程

python教程

java教程

web教程

数据库教程

图形图像教程

办公软件教程

linux教程

计算机教程

大数据教程

开发工具教程

网站地图