se for android的se已禁用 2.3.1

11335人阅读
移动安全(24)
所支持的MAC服务
MAC和MMAC功能概述:
标准的SELinux MAC 策略是基于type enforcement(TE,即类型强制访问)/ multi-level security (MLS,即多级别安全机制),也可以理解为是一种白名单机制;Install MMAC策略中的package和signature标签支持通过setinfo标签,来指定应用的context(安全上下文,指运行时domain)。该策略只对预装应用生效,而第三方的应用则无法通过这种方式指定,所有的第三方应用都只能由&default&标签匹配,而且seinfo的值为“default”。(译者注,这里会让你看得头晕,建议找到mac_permissions.xml文件对着看)
SEAndroid Install MMAC策略还能能够检查应用所申请的权限列表是否被允许。如果不允许,那么该应用就不能够安装。另外如果这款应用已经安装在手机上了,后来策略更新并与其产生冲突了,那么这款应用也不能运行。配置文件允许的动作有:allow(允许),deny(拒绝)和allow all permissions(允许所有权限)。 检查流程如下:
安装或升级第三方应用时,它的权限列表都被会检查。如果在&default&里存在任意一项不被允许的权限,那么该应用安装或升级过程就会失败;预装的应用,他们的升级过程,系统也会去做一次权限检查。如果在package或者signature标签存在不允许的权限,更升级失败。如果存在某个权限,在package或者signature标签中没有显式声明为allow,而在default标签中声明为deny的话,升级过程同样会失败;
Intent MMAC策略的作用是决定Intent是否能够被分发到其他几种组件。策略会屏蔽掉所有没有被定义为允许的Intent分发。这是一个可选的策略,并不需要定制的SELinux策略支持,不过它可以对“主体”的安全上下文进行合法性校验。Content Provider MMAC策略作用是决定content provider的访问请求是否被允许。策略会屏蔽掉所有没有被定义为允许的访问请求。目前的版本支持use, read, read/write三种权限。这是一个可选的策略,并不需要定制的SELinux策略支持。Revoke permissions策略的作用是决定权限在运行过程中是否会被检查,如果权限被撤消了那么权限就会变成denied状态(也就是说,除了指定的权限会被变成denied,其他的权限都是允许的)。这是一个可选的策略,并不需要定制的SELinux策略支持。
Android为支持MAC所引入的变化
SE for Android为Android的内核增加了SELinux的支持,同时在用户空间也实现了如下几方面的目标:
定义所有具有特权守护进程,以防止权限被滥用以及把它们的破坏降到最低;构造沙箱,使应用与应用和系统之间互相隔离;防止应用提权;利用MMAC策略,使应用的权限在安装和运行的过程中变得可控;提供一种集中的、可分析的策略;
这些目标是由下列改措实现的:
实现了yaffs2文件系统的安全标注;文件系统镜像文件(yaffs2和ext4)编译时标注;为recovery console和程序更新器提供标注功能;基于内核的Binder IPC权限检测;实现对由init进程所产生的服务端套接字(service sockets)和本地套接字文件(socket files)的标注功能;实现对由ueventd进程所产生的设备节点(device nodes)的标注功能;为应用和应用数据文件夹提供灵活易配置的标注功能;最小化SELinux用户空间的可用端口;提供了JNI方式的SELinux接口;为Zygote socket commands的使用提供了用户空间级别的权限检查;为Android properties的使用提供了用户空间级别的权限检查;专门针对Android编写了TE策略文件;为所有系统服务和应用定义domain;利用MLS类别隔离应用;
SE 对Android项目的变动
external/libselinux
提供了SELinux用户空间的函数库并集成到设备上。该库在原版本的基本上为适应Android而增加了一列的函数,如下所示:
selinux_android_setcontext
利用这个函数可以为应用设置正确的domain上下文,它会利用保存在seapp_contexts文件里的信息计算出正确的上下文。如果是在初始化阶段,这个函数也会调用selinux_android_seapp_context_reload加载seapp_contexts文件并对里面的每一项进行排序,详细过程见&seapp_contexts文件&一节。
该函数会被dalvik/vm/native/dalvik-system-Zygote.cpp和system/core/run-as/run-as.c调用。
selinux_android_setfilecon2
利用这个函数可以为应用文件夹和文件设置正常的上下文,它会利用保存在seapp_contexts文件里的信息计算出正确的上下文。如果是在初始化阶段,这个函数也会调用selinux_android_seapp_context_reload加载seapp_contexts文件并对里面的每一项进行排序,详细过程见&seapp_contexts文件&一节。
当安装应用时,该函数会被frameworks/base/cmds/installd/commands.c调用。
selinux_android_restorecon
利用这个函数可以让文件的上下文恢复成file_contexts文件里初始配置。该函数在初始经和安装等过程过程中会被多处调用。
selinux_android_load_policy
如果SELinux是开启的话,利用该函数可以加载SELinux文件系统,并通过调用selinux_android_reload_policy把策略文件加载到内核。
selinux_android_reload_policy
加载策略文件进内核。该函数会被system/core/init.c调用。
external/libsepol
提供了用户空间的策略工具库。这部分代码跟SELinux是一样的,而且不会集成到设备上。
external/checkpolicy
提供了策略构造工具。这部分代码跟SELinux是一样的,而且也不会集成到设备上(因此策略的构造必须在主机开发环境中进行)。
external/sepolicy
这个SE for Android特有的部分,里面包含各种策略模块(*.te文件),class/permissoin文件等等。所有策略模块依据Android.mk文件进行构造的,最终会连同其他配置文件(file_contexts, seapp_contexts和property_contexts)一起集成到设备上(编译成sepolicy文件)。也有一些工具可以根据不同的设备进行策略补充,这部分会在“策略构建”一节详细描述。
策略文件的在“SELinux MAC配置文件”一节进行详细描述。相关的工具也会在“策略构建工具”一节有详细的描述。
这里也包含了关于SE for Android的类定义,详细可以查看“SE for Android 的类和权限”一节。
这个文件夹也包含了Install MMAC、Intent MMAC、Content Permission MMAC策略,如果有配置的话,请参考“”中的“SE
for Android的项目编译”一节。
external/mac-policy
这里包含revoke permission的策略配置文件(revoke_permission.xml),利用这种策略可以让Android的权限动态撤消。 如果项目选项选择revoke_perms的话,就会包含这个文件夹。
针对SE for Android进行修改。
当进程被fork后,会使用selinux_android_setcontext进行domain上下文设置。
Zygote.java里添加了setInfo和niceName两种传入参数(译者注,应该是zygote command命令里添加了--setInfo和--niceName两种配置)
frameworks/base
JNI——添加了SELlinux的函数支持,如isSELinuxEnabled和setFSCreateCon。SELinux 的Java类和方法的定义。Zygote连接者的安全上下文检查。为package manager和各种service提供文件权限的管理(译者注,这里不太明白)添加MMAC框架
system/core
支持SELinux的toolbox,比如load_policy, runcon支持SELinux的系统初始化,比如init,init.rc支持SELinux的核审服务(audittd)
system/extras
支持SELinux的ext4文件系统
已经有多个内核增加了LSM和SELinux支持,详细可以查看.
Android的内核存在多个版本(目前是3.4,模拟器使用的是Goldfish),因此最新版本的SELinux一般还没有集成到SEforAndroid。在“内核LSM和SELinux的支持”一节里,会详细说明内核的变化。
关于支持设备的详情情况,可以查看
可以修改设备的配置文件定制策略文件,详细见“构建策略文件”一节
请继续阅读
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:312913次
积分:3201
积分:3201
排名:第7237名
原创:29篇
评论:358条
(1)(1)(1)(2)(2)(8)(1)(8)(2)(8)360一键ROOT
这一次,让你做主
版本号:7.3.0 日期:
ROOT安全专家为您
兼容主流安卓手机,ROOT权限不再乱用,守护ROOT安全
耗电、卡、慢 ?
一键管理自启应用,让自启不再悄无声息,手机从此流畅起来,电池一块更比两块强!
一键卸载预装软件,
让你的手机瘦下来,飞起来!
Copyright(C)2005- All Rights Reserved 360安全中心Eclipse Che is a developer workspace server and cloud IDE.
Eclipse Che is a developer workspace server and cloud IDE.
A modern, open source software development environment that runs in the cloud.
A modern, open source software development environment that runs in the cloud.
See Java Code Changes Instantly. Save Time. Reduce Stress. Finish Projects Faster!
Promoted Download
See Java Code Changes Instantly. Save Time. Reduce Stress. Finish Projects Faster!
Eclipse Equinox is an implementation of the OSGi core framework specification.
Eclipse Equinox is an implementation of the OSGi core framework specification.
Eclipse Concierge is a small footprint implementation of the OSGi specification.
Eclipse Concierge is a small footprint implementation of the OSGi specification.
Enabling modular business apps for desktop, browser and mobile.
Enabling modular business apps for desktop, browser and mobile.
Open source solutions for systems engineering and embedded systems.
Open source solutions for systems engineering and embedded systems.
All Projects
Find an Eclipse open source project.【手机开发平台 Google Android SDK 24.4.1 下载】_编程工具_编程开发_软件下载_新浪科技_新浪网
& 手机开发平台 Google Android SDK
手机开发平台 Google Android SDK 24.4.1
发布公司:
授权方式:
软件评级:
绿色认证:
操作系统:Win8/7/Vista/XP/10
软件语言:英文
软件大小:148,105 KB
更新日期:
下载次数:累计/4055477 本周/168
关键字项:
  Google Android SDK
  Android是Google自己研发的手机平台操作系统,该平台基于开源软件Linux,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
  Android 是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序 ―― 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。
  运行环境请参阅官方网站:
  相关下载:
一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言
Unix/Linux|GPL-自由软件|星级:&下载次数:2156
一种编程语言。
WindowsAll|GPL-自由软件|星级:&下载次数:311211
PHP是一种网页程序编写语言,运行速度快和免费使用是其最大特色。
WindowsAll|免费版|星级:&下载次数:361857
AutoHotkey是简易而功能强大的热键脚本语言。
WindowsAll|免费版|星级:&下载次数:30260
本类周排名
正在加载数据
本类总排名
正在加载数据
欢迎参与投票调查}

我要回帖

更多关于 psiphon3 for android 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信