DAC,MAC和SELinux,SEAndroid
1. 被ROOT了怎么办
2. SELinux
3. SEAndroid
4. JB(4.3) MR2的漏洞弥补
-------------------------------------------
-------------------------------------------
1. 被ROOT了怎么办
恶意应用获得了ROOT权限 --- 现在我们是无能为力的
我们想要做到的: 即便一个进程的EUID==ROOT,仍然不能为所欲为
2. SELinux
DAC()模式:主体(EUID==ROOT)对它所属的对象和运行的程序拥有所有的控制权 -- 可以做任何事
MAC()模式:SELinux基于的安全策略。管理员管理访问控制,管理员指定策略,用户不能改变它,任何主体不能改变 -- 只能做安全策略授权的,不能为所欲为
3. SEAndroid
* 就是将原本运行到Linux系统上的SELinux, 移植到了 Android上
* 在SELinux的基础上,做了许多针对Android的安全提高,例如把Binder IPC、Socket、Properties访问控制也加入到了SEAndroid的控制中
SEAndroid的核心概念
即便恶意应用篡得了ROOT权限,仍然只能做有限的应用,不能为所欲为
4. JB(4.3) MR2的漏洞弥补
在JB MR2之前,APK内部可以通过Java的Runtime执行一个具有Root-setUID的可执行文件而提升EffectiveUID 来进行一些特权操作,典型的就是Root包中的su就是这个原理
JB(4.3) MR2修补了这个漏洞
每个apk进程在创建完后,都会执行如下这段代码,将CAPBSET全部清空
后果: 新进程的Effecttive(Capability Sets)为空,所以CAP_SETUID就没了,那么系统基于Root-setUID的可执行文件来提升EUID到ROOT当然就不允许了。所以新进程的EUID=RUID == APK的RUID
DAC,MAC和SELinux,SEAndroid的更多相关文章
- SELinux/SEAndroid 实例简述(二) TE语言规则【转】
本文转载自:https://blog.csdn.net/shell812/article/details/54930246 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...
- 深入理解SELinux SEAndroid
参考文章: 一. http://blog.csdn.net/innost/article/details/19299937 二. http://blog.csdn.net/innost/article ...
- [译]漫画SELinux概念
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- linux SElinux防护 加密解密 gpg签名与认证
SElinux Security-Enhanced Linux由美国国家安全局主导开发一套强化linux安全的mac扩展模块 selinux的运作机制:集成到linux内核上(2.6及以上)操作系统提 ...
- 别人的Linux私房菜(17)进程管理与SELinux初探
程序在磁盘中,通过用户的执行触发.触发事件时,加载到内存,系统将它定义成进程,给予进程PID,根据触发的用户和属性,给予PID合适的权限. PID和登陆者的UID/GID有关.父进程衍生出来的进程为子 ...
- SELinux 是什么?
一.SELinux的历史 SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GPL项目,它拥有一个灵活而 ...
- SELinux杂谈
----------------------------- 文末有推荐参考文档列表--------------------------- SELinux(Security Enhanced Linux ...
- Linux学习-SELinux 初探
什么是 SELinux 什么是 SELinux 呢?其实他是『 Security Enhanced Linux 』的缩写,字面上的意义就是安全强化的 Linux 之意! 当初设计的目标:避免资源的误用 ...
- SELinux 权限设置
SELinux 权限设置 一.SELinux简介 SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GP ...
随机推荐
- IOS开发之UINavigationBar
简介 UINavigationBar是用于实现管理层级关系内容的组件,直接继承自UIView.通常用在UINavgationController类中,用于管理和显示UINavgationControl ...
- SpringMVC项目接入Springfox实战遇到的问题集合
为了方便的管理项目中API接口,目前总是会写好接口后,然后又要去维护一个文档,这对于开发者来说太心累了, 在网上找了好多关于API接口管理和生成文档的资料,一次偶然跟51的大神交流发现了Swagger ...
- load 与initialize的调用顺序小结
开发中实用方法固然是最贴近应用的,当一些程序原理还是要先搞清晰,根据查找的一些资料,总结了一些load与initialize的调用. APP启动到执行main函数之前,程序就执行了很多代码 执行顺 ...
- Sae 上传文件到Storage
首先说一下几个地方: 1.上传使用ss.upload("domin域名","源地址","目标地址,也就是storage的地址");假设要上传 ...
- Java高级--Java线程运行栈信息的获取 getStackTrace()
我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个 ...
- android 59 LinearLayout 线性布局
##常见的布局* LinearLayout 线性布局线性布局往左右拉是拉不动的,> 线性布局的朝向 vertical|horizontal> 线性布局的权重 weight 和 0dip一起 ...
- Linux 性能优化之 IO 子系统 系列 图
http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...
- CCControlSlider和CCControlStepper用法
一开始,size的大小是系统分配.玩家可以通过setDefaultSize()更改值 1. CCControlSlider用法 CCSpriteFrameCache::sharedSpriteFram ...
- 隐藏TabBar是个累人的活
最近进行跳转界面隐藏tabbar的时候遇到了一些坑,现在把它记录下来,如果有需要的朋友可以参考一下. 大家一般使用tabbar的时候,隐藏有两种方法. 一种是设置当前所处界面的隐藏属性 self.ta ...
- AFNetworking 新版本3.0的迁移
AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持.如果项目以前使用过这些API,那么我们需要升级到基于 NSURLSession 的API的AFNet ...