SEAndroid实现机理

SeAndroid 安全策略机制 在Android系统中,应用有时需要访问或修改特定的系统属性。为了限制哪些应用可以访问或修改这些属性,我们可以使用seAndroid的策略来控制。 阅读详情
SEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Linux的安全加强系统。
NSA最初设计的安全模型叫FLASK,全称为Flux Advanced Security Kernel(由Uta大学和美国国防部开发,后来由NSA将其开源),当时这套模型针对DTOS系统。后来,NSA觉得linux更具发展和普及前景,所以就在Linux系统上重新实现了FLASK,称之为SELinux。

Linux Kernel中,SELinux通过Linux Security Modules实现。在2.6之前,SElinux通过Patch方式发布。从2.6开始,SELinux正式入驻内核,成为标配。

由于Linux有多种发行版本,所以各家的SELinux表现形式也略有区别。具体到android平台,Google对其进行了一定得修改,从而得到SEAndroid。

SELINUX出现之前

SELinux出现之前,Linux上的安全模型叫DAC,全称是Discretionary Access Control,翻译为自主访问控制。DAC的核心思想很简单,就是:
进程理论上所拥有的权限与执行它的用户的权限相同。比如,以root用户启动Browser,那么Browser就有root用户的权限,在Linux系统上能干任何事情。
显然,DAC太过宽松了,所以各路高手想方设法都要在Android系统上搞到root权限。那么SELinux如何解决这个问题呢?原来,它在DAC之外,设计了一个新的安全模型,叫MAC(Mandatory Access Control),翻译为强制访问控制。MAC的处世哲学非常简单:即任何进程想在SELinux系统中干任何事情,都必须先在安全策略配置文件中赋予权限。凡是没有出现在安全策略配置文件中的权限,进程就没有该权限。

目前理解

查询了一些网上的文档,很多都有翻译的感觉,概念讲解起来比较生涩。等后面有了新的理解之后再来填充。

相关资源

不过,由于selinux的实现内容很多,一时还难以掌握,暂时将查到的相关资源列在这里。

深入理解SELinux SEAndroid(第一部分) http://blog.youkuaiyun.com/innost/article/details/19299937/
深入理解SELinux SEAndroid之二  http://blog.youkuaiyun.com/innost/article/details/19641487
深入理解SELinux SEAndroid(最后部分)  http://blog.youkuaiyun.com/innost/article/details/19767621

SEAndroid策略介绍1 http://blog.youkuaiyun.com/loongembedded/article/details/62231264
SELinux策略语言--客体类别和许可  http://blog.youkuaiyun.com/loongembedded/article/details/52823060

SEAndroid策略分析 SEAndroid在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到Android上的只是SELinux的一个子集。SEAndroid的安全检查几乎覆盖了所有重要的系统资源,包括域转换,类型转换,进程、内核、文件、目录、设备,App,网络及IPC相关的操作。 阅读详情

相关推荐

Android-SEAndroid权限

前言 SEAndroid是在Android系统中基于SELinux推出的强制访问控制模型,来完善自主访问模型中只要取得root权限就可以为所欲为的情况。 SELinux是一种基于域-类型(domain-type)模型的强制访问控制(MAC)安全系统,其原则是任何进程想在SELinux系统中干任何事,都必须先在安全策略的配置文件中赋予权限。凡是没有在安全策略中配置的权限,进程就没有该项操作的权限。在SELinux出现之前,Linux的安全模型是DAC(DiscretionaryAccess Control),

qq_34888036的博客 1939

Android 系统SELinux(SEAndroid)

一、SE 概述 SELinux 是由美国NSA(国安局)和 SCC 开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。从 fedoracore 2开始, 2.6内核的版本都支持SELinux。 1.1、DAC 与MAC 在 SELinux 出现之前,Linux 上的使用的安全模型是DAC( Discretionary Access Control 自主访问控制)。 DAC 的核心思想很简单:进程理论上所拥有的权限与执行它的用...

tq501501的博客 5575

SEAndroid学习

selinux 学习

woai110120130的专栏 1227

智能终端信息安全概念(十一):内核安全(3)SElinux应用分析——SEAndroid

为允许的Intent分发。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 991

SEAndroid基础

SEAndroid基础,涉及从selinux演化而来的过程及相关基础,举例说明规则的配置。

阿xin*的嵌入式AI 214

UE游戏引擎材质简单入门

什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。UE中物理基础渲染(Physically Based Rendering OR PBR)几乎可以让我们模拟显示世界中的任何材质。那么如何在UE中制作出真实的PBR材质,基于我们提供的游戏引擎插件,如何将这些材质资源导出,并应用到 SuperMap iClient3D for Cesium/WebGL 平台上,提升模型的显示效果呢,下面小编将详细讲解一下。

m0_71055362的博客 2511

【总结】SEAndroid/SELinux快速学习

Android已经在AOSP源码中预先定义了大量的核心策略,并且为了简化策略编写提供了宏,Android建议尽可能使用宏来降低赋予权限被拒绝的可能。文件作用global_macros 和 te_macrosAndroid 提供的最常用的宏users定义了Android中唯一的user(user u roles { r } level s0 range s0 - mls_systemhigh;roles定义了Android中唯二的role(role r;和role object_r;

风舞雪凌月的博客 1510

GAMES101:MacOS作业环境搭建

查看gcc/clang的位置产看gcc/clang的版本1.1.2 安装cmake。

weixin_38844255的博客 717

SEAndroid策略

基础知识 SEAndroid在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到SEAndroid的只是SELinux的一个子集。SEAndroid的安全检查覆盖了所有重要的方面包括了域转换、类型转换、进程相关操作、内核相关操作、文件目录相关操作、文件系统相关操作、对设备相关操作、对app相关操作、对网络相关操作、对IPC相关操作。 Policy po...

移动编程 784

得物APP破解

本文介绍了得物App(版本4.74.5)的逆向破解过程,重点分析了绕过强制更新、抓包技巧以及破解newSign参数的详细方法。首先通过断网再联网的方式绕过强制更新,然后使用SocksDroid进行抓包分析,发现首页推荐接口需要newSign参数。通过反编译定位到RequestUtils.c方法,利用Frida进行Hook验证,最终解析出newSign的生成逻辑:将请求参数加入固定字段后排序拼接,再进行MD5加密生成签名。文中提供了完整的Hook脚本和签名算法分析,仅供学习移动安全技术参考。

m0_74653634的博客 3490

innovus 命令每日精要 | 掌控Innovus布线的利器——setNanoRouteMode详解

在数字IC后端设计的复杂世界里,布线优化是至关重要的一步。今天,我来给大家深入讲解Innovus工具中setNanoRouteMode命令的精妙之处,让你轻松驾驭布线策略,提升设计质量。setNanoRouteMode是Innovus中用于配置NanoRoute绕线行为的关键命令。通过其丰富的参数,你可以精细控制布局后阶段的绕线策略、信号完整性优化、工艺适配及设计规则修复等流程。下面,我将按功能分类总结其核心选项,并针对不同场景给出建议。

weixin_50820814的博客 3528

SEAndroid流程分析

init会解析/file_context文件的内容,将相关信息填充到入参rec的data成员中。与设置app文件安全上下文的selinux_android_setfilecon不同的是,设置app进程安全上下文的函数selinux_android_setcontext会根据符合的规则的domain去设置进程的domain,而selinux_android_setfilecon会根据符合的规则的type去设置文件的type,安全上下文其他部分user,role,level的设置差别不大。

Venus 的博客 1109

TLSv1.0与TLSv1.1安全漏洞深度解析与实战修复指南

本文深度解析TLSv1.0与TLSv1.1的安全漏洞,包括POODLE和BEAST攻击原理,并提供实战修复指南。通过禁用老旧协议、配置安全加密套件和网络层防护措施,有效提升系统安全性。文章还针对无法立即升级的场景,给出了补偿性防御方案,帮助管理员全面应对传输层安全风险。

weixin_29322855的博客 206

Android学习12 -- SEAndroid

SELinux(Security-Enhanced Linux),提供了内核级的安全访问,比以前ACL强很多。从上图可以看出,实际上andorid selinux就是在访问文件时,内核中有一些回调钩子,如果配置了,就会去检查。就这么简单。安全上下文是 SELinux 的核心。安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。一个「进程安全上下文」一般对应多个「文件安全上下文」。只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。查询文件的上下文,ls -Z。

fanged的专栏 763

功能安全实战系列07-英飞凌TC3xx电源监控开发详解

本文对电源监控(PBIST及MONBIST)开发介绍,步骤详细配合开发中的测试情况,图文并茂,方便理解。

initiallizer的博客 1109

【3天快速入门WPF】1-从最简单的xaml开始

首先我们要知道xaml语法中声明即定义,意思就是“见到元素就相当于创建实例”,MainWindow.xaml的主干是一个元素里包含着一个 元素。这段程序就是在定义一个Window类的实例,这个实例的一个组成部分是一个Grid类的实例。

Zy100Papa的博客 1623

深入理解SELinux SEAndroid

按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分  祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Lin

LoongEmbedded的专栏 6242

WPF实现圆形菜单动态展开折叠效果

实现效果如下: 思路:根据子菜单个数计算旋转角度动态生成子菜单,并设置展开折叠动画。 步骤: 1、自定义按钮MyButton,建立展示图像属性DisplayImage public class MyButton : Button { public static readonly DependencyProperty DisplayImageProperty = DependencyProperty.Register("DisplayImage", typeof(

dnazhd的博客 3150

Android-SEAndroid权限问题指南

Android-SEAndroid权限问题指南 前言 SEAndroid是在Android系统中基于SELinux推出的强制访问控制模型,来完善自主访问模型中只要取得root权限就可以为所欲为的情况。 SELinux是一种基于域-类型(domain-type)模型的强制访问控制(MAC)安全系统,其原则是...

IT先森 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SEAndroid原理分析

第1章 SEAndroid背景SEAndroid(Security Enhanced Android)是美国国家安全局(NSA)根据Android 以Linux 为内核基础的特性,将SELinux 修改移植到Android 系统上而形成的。SELinux通过提前编写各个进程的安全操作规则,防止其进行超越权限的访问来达到保障安全的目的。SEAndroid 一开始的关注点在于将SELinux 的机制引入

Casbin开源社区 3351

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SEAndroid 介绍及其基本实现原理

SEAndroid(Security-Enhanced Android),是将原本运用在Linux操作系统上的MAC强制存取控管套件SELinux,移植到Android平台上。可以用来强化Android操作系统对App的存取控管,建立类似沙箱的执行隔离效果,来确保每一个App之间的独立运作,也因此可以阻止恶意App对系统或其它应用程序的攻击。 SEAndroid的中心理念是,即使root权限被篡

万能的终端和网络 2203

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android 安全攻防(一):SEAndroid的编译

SEAndroid的编译 SEAndroid概述 SEAndroid(Security-Enhanced Android),是将原本运用在Linux操作系统上的MAC强制存取控管套件SELinux,移植到Android平台上。可以用来强化Android操作系统对App的存取控管,建立类似沙箱的执行隔离效果,来确保每一个App之间的独立运作,也因此可以阻止恶意App对系统或其它应用程序的攻击。 S...

nayao-net 433

Android Sepolicy 介绍及配置

SeAndroid 指的是安卓系统中的安全增强功能,全称为 Security-Enhanced Android。它是基于SELinux(Security-Enhanced Linux)的安全机制,在安卓系统中提供了更加细粒度的安全控制和权限管理。SeAndroid 的作用包括但不限于以下几个方面:强化安全性:SeAndroid通过实施强制访问控制(MAC)策略,限制了应用程序和进程对系统资源(如文件、设备、网络等)的访问权限。这有助于防止恶意应用程序获取系统敏感信息或对系统进行破坏。

qq_45527937的博客 2320

Android自定义domain设置SeAndroid权限

Domain简介  在adbshell中输入命令ps-Z可查看到类似如下形式的信息,其中,第一栏第二个冒号后的内容(如system_app)即为domain,这些domain可用于通过定义.te文件中的权限控制属于该domain的应用的权限(如/external/sepolicy/system_app.te中的allowsystem_app system_data_file:dir crea

x2017x的博客 4829

如何运用SEAndroid来讲自己的应用赋予自定义权限

1.       SEAndroid 功能简介 Seandroid:全称Security Enhancrmeints for Andriod,以SElinux为核心。使android系统支持强制访问控制以增强系统安全性。在SELinux出现之前,安全模型叫DAC,全称Discretionary Access Control即自主访问控制,但是这样的访问控制很容易获得root权限,可以做在系统中做

fuda_zwd_2015的博客 1025

SEAndroid app

SELinux app权限配置 untrusted_app http://blog.youkuaiyun.com/zhudaozhuan/article/details/509648321.SEAndroid app分类 SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):(1)untrusted_app 第三方app,没有Android平

1143
上一篇: Android selinux配置和用法
下一篇: 用Jenkins搭建持续集成编译环境
makeyourprogress
博客等级 码龄11年 26粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值