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 ...
随机推荐
- Android下的Linux指令集
Android目录结构 data app:用户安装的应用 data:应用的专属文件夹 system:系统的配置信息,注册表文件 anr:anr异常的记录信息 dev:devices的缩写 存放设备所对 ...
- GWT用frame调用JSP
Frame htmlFrame = new Frame("../OurHome/modules/core/mainIndex.jsp?merchantId="+merchantId ...
- careercup-栈与队列 3.2
3.2 请设计一个栈,除pop与push方法,还支持min方法,可返回栈元素中的最小值.push.pop和min三个方法的时间复杂度必须为O(1). 我们假设除了用一个栈s1来保存数据,还用另一个栈s ...
- C语言实现双向链表删除节点、插入节点、双向输出等操作
#include<cstdio> #include<cstdlib> typedef struct DoubleLinkedList { int data; struct Do ...
- python sklearn.linear_model.LinearRegression.score
score(self, X, y, sample_weight=None) 作用:返回该次预测的系数R2 其中R2 =(1-u/v).u=((y_true - y_pred) ** 2).su ...
- Unity3D中读取CSV文件
直接上代码 Part1: using UnityEngine; using System.IO; using System.Collections.Generic; public class CSV ...
- HTML+CSS基础学习笔记(2)
一.无序列表标签ul <ul> <li>信息</li> <li>信息</li> ...... </ul> 代码解释:每项< ...
- artTemplate模板引擎的源码拜读
最初接触的模板引擎还是基于node的ejs,当时觉得很神奇原来还可以这么玩,后来随着学习的深入,使用过jade,doT等,当然还有一些比较火的诸如juicer.underscore还没有深入接触,直到 ...
- 学习java随笔第八篇:封装、继承、多态
java和c#一样都是面向对象的语言. 面向对象的语言有三大特征:封装.继承.多态 封装 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. class Perso ...
- 关于sql 资源竞争死锁现象
问题:System.Exception: 事务(进程 ID 321)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品.请重新运行该事务 死锁最深层的原因就是一个:资源竞争 表现 ...