SEAndroid与SEpolicy Language简介

Sepolicy学习(一) sepolicy 规则介绍 sepolicy的规则针对的是linux系统中的进程和文件。进程是主动的,而文件是被动的。所以有对应的进程的规则和文件规则,分别定义进程的合法行为和文件被访问的权限。 SELIUNX中,每个对象(进程和文件)被赋予安全的属性。SContext是一个字符串,对于进程的SContext,SContext的格式是"u:r:type[:range]", 进程可以ps -Z获得。 ... 阅读详情

SEAndroid :全称Security Enhancements for Android,以SELinux为核心

SELinux :是美国国家安全局搞的一个Modules,是开源的,后来Google将其应用到自家的Android平台上来

DAC : (Discretionary Access Control ) 在SELinux出现之前,Linux系统所用的安全模型。在这个模型里面,进程所拥有的权限与执行它的用户权限相同,

MAC : (Mandatory Access Control)
SELinux的安全模型,进程所拥有的权限,都必须在安全配置文件(.te)里面定义。这个进程只有在配置文件中定义的权限。

Flask : MAC的大概架构
flask定义了

  • Subject : process 进程,被称之为客体

  • Object: file, socket, IPC object… 对象,是客体访问的对象

  • Security Context : 安全信息,是一个字符串,用来表示subject或object的安全属性

  • Security Identifiers (SID) : 用来map到Security context的一个东西

  • Security Model : 是Type Enforcement (TE), Identity-Based Access Control (IBAC), RBAC, 与 optional MLS的结合,
    其中重点内容是TE。


下面说的文件都在/sepolicy 下面

TE:
定义domain对object的权限

完整的格式如下

rule_name source_type target_type : class perm_set
Type -> processes & object

举个例子,在untrusted app 里面,我们可以在最后找到两行。

allow untrusted_app shell_data_file:file rw_file_perms;
allow untrusted_app shell_data_file:dir r_dir_perms;
这两行允许 untrusted_app 进程,对shell_data_file 下面的文件进行读和写
以及读shell_data_file 目录的权限

其中untrusted_app的定义是非系统app
shell_data_file的定义可以在file_contexts文件夹里面找到

” /data/local/tmp(/.*)? u:object_r:shell_data_file:s0 ”

这行整体来看叫做security labeling,右边是security context,左边是这个context与什么文件路径链接起来。
然后详细说一下security context的构成部分。
最左边的u表示user,在users里面定义。
object_r是roles,在SEAndroid里面,一个user可以属于不同的roles。
最后的s0是security level,SEAndroid里面给系统资源都分配了一个security level,只有有对应的security level的进程才能访问这些资源。

知道了这些内容,我们差不多就可以根据实际情况添加对应的security policy了。
比如untrusted_app是不能在自己的目录下面创造文件夹和文件的。
如果在untrusted.te加上这两行之后:
>
Allow untrusted_app shell_data_file:file create_file_perms
Allow untrusted_app shell_data_file:dir create_dir_perms

untrusted_app就有了在/data/local/tmp里面创建文件和文件夹的权限。

参考资料:
http://blog.youkuaiyun.com/innost/article/details/19299937 (这篇文章对于SEAndroid有很详细的介绍)
https://seap.samsung.com/developer/forum-topic/what-does-security-policy-prevents-installation-application-mean

Android 应用(1)——安全策略sepolicy https://blog.youkuaiyun.com/weixin_38148680/article/details/80257685 http://www.voidcn.com/article/p-stzeacwv-xe.html https://blog.youkuaiyun.com/keheinash/article/details/101108686 https://blog.youkuaiyun.com/rikeyone/article/details/84337115 https://blog.youkuaiyun.com/u0112164 阅读详情

相关推荐

Android SEAndroid权限机制与问题解决指南

SELinux作为Linux内核的安全模块,通过强制访问控制(MAC)机制为系统提供细粒度的安全策略。在Android系统中,Google基于SELinux开发了SEAndroid框架,从Android 4.3开始引入,用于增强系统安全性。SEAndroid通过定义类型强制(Type Enforcement)策略,为每个系统对象分配安全上下文,有效解决了传统Linux自主访问控制(DAC)的权限滥用问题。在移动设备安全领域,SEAndroid策略配置是开发过程中常见的技术挑战,约60%的底层权限问题与之相关

weixin_30509393的博客 419

【Android】SELinux初探

查看/data/local/tmp路径下文件的context Sunday:/data/local/tmp $ ls -Z u:object_r:shell_data_file:s0  tServer 可以看到关键词shell_data_file Sunday:/data/local/tmp $ ./tServer add mySe

aaajj的专栏 1176

Android VINTF机制解析:接口清单与兼容性检查的核心原理与实践

在Android系统开发中,硬件抽象层(HAL)与框架层之间的接口兼容性是确保系统稳定运行的基础。VINTF(Vendor Interface)作为Android Project Treble架构的核心组件,通过标准化的清单文件和兼容性矩阵,定义了框架与供应商实现之间的接口契约。其工作原理是在系统启动和OTA更新时,执行双向匹配检查,验证HAL服务版本、内核配置及SEPolicy等关键元素是否符合要求。这一机制从技术层面解决了Android生态长期存在的碎片化问题,为系统升级和设备兼容性提供了可靠保障。对于

weixin_33908217的博客 396

Android sepolicy简要记

安全上下文 Seapp_contexts File_contexts Service_contexts Property_contexts Hwservice_contexts 安全策略 常见错误修改 违反规则的同时又neverallow问题修改 方式一:更改type 方式二 通过binder/socket 等方式连接APP 访问 方式三 更改Label Process 无法访问某个新增d...

ch853199769的博客 2万+

Android SELinux——Sepolicy基础语法(四)

Linux 中有两种东西,一种死的(Inactive),一种活的(Active)。活的东西就是进程,而死的东西就是文件(Linux 哲学,万物皆文件。注意,万不可狭义解释为 File,普通文件、特殊文件、套接字等都属于文件范畴)。他们之间就是一种使用(操作)与被使用(被操纵)的关系,进程能发起动作(例如它能打开文件并操作它),而文件只能被进程操作。

小旭的专栏 1708

SELinux系列(三)——SELinux的三种工作模式

通过对 SELinux 的介绍,初学者可以这样认为,在传统 Linux 系统使用访问控制方式的基础上,附加使用 SELinux 可增强系统安全。那么,SELinux 是如何运行的呢? 在解释 SELinux 的工作模式之前,先解释几个概念。 主体(Subject):就是想要访问文件或目录资源的进程。想要得到资源,基本流程是这样的:由用户调用命令,由命令产生进程,由进程去访问文件或目录资源。在自主访问控制系统中(Linux 默认权限中),靠权限控制的主体是用户;而在强制访问控制系统中(SELinux..

信息安全领域优质创作者|操作系统领域专家 2033

Android Sepolicy 介绍及配置

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

qq_45527937的博客 2320

DeepSeek赋能CAD:从API调用到智能设计工作流的实战指南

本文详细介绍了如何利用DeepSeek AI技术赋能CAD设计工作流,从API调用到智能设计优化的实战指南。通过Python环境配置、API接入详解以及四大智能设计场景的实战案例,帮助CAD设计师实现参数化设计优化、自动规范检查等高效工作方式,大幅提升设计效率和质量。

weixin_29092579的博客 627

android sepolicy 最新小结

文章目录 两种模式 SELinux initialization 标签、规则和域 实现 SELinux neverallow 规则 编译sepolicy Source files Platform public sepolicy Platform private sepolicy Platform private mapping sepolicy兼容性 File ...

pan0755的博客 2123

BCM-BCP-DRP-运维管理之故障管理——故障的分类与处理流程

ITSM Business Continuity Manage(BCM) BusinessContinuityPlan(BCP) 偏业务 DisasterRecoveryPlan(DRP) 偏IT 天塌了,考虑在天塌了的状态下做什么,怎么开展业务就是BCP; 天塌了,考虑怎么把天撑回去,就是DRP。 DRP+BCP+供应链管理+危机管理等就是BCM (业务连续性管...

mmgithub123的博客 2723

NX二次开发入门必看:手把手教你搭建开发环境

想顺利开展nx二次开发,第一步就是配置好开发环境。本文详细讲解从安装准备到环境调试的完整流程,结合实际操作细节,帮你避开常见坑点,快速进入nx二次开发的实战阶段。

weixin_31569663的博客 1459

selinux-sepolicy配置

一、概念 1. 运行模式 Selinux有两种运行模式:Permissive和Enforcing。未明确配置权限,当访问时默认权限是拒绝。为方便开发调试权限配置,单个domain可设置为permissive模式,permissivedomain。 语法格式 Selinux依赖于标签来匹配操作和策略,标签决定什么是允许的,套接字、文件和进程都在selinux中有标签。 Selinux决策基于分配给这些对象的标签和定义它们如何交互的策略,label的格式:user:role:type:m...

卓越之路 7410

9.9华为OD机试真题 新系统 - 受限任务分配 (Java/Py/C/C++/Js/Go)

华为OD机试真题 新系统【受限任务分配】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【受限任务分配】多语言题解。

qq_45776114的博客 734

sepolicy 配置和快速验证

sepolicy修改后 快速验证 编译:(只针对 .te 的文件, 如果file_contexts service_contexts 这种文件好像不行) make selinux_policy -j8 // vendor 和system 都修改了 make selinux_policy_nonsystem -j8 // 只修改 vendor相关的sepolicy 编译成功后,只需要替换如下文件 vendor_sepolicy.cil,即可快速验证 /vendor/etc/selinux/vend...

kanyou222的专栏 2818

Codex 的 AGENTS.md 到底怎么写?前端、后端两套实战模板,照抄就能用

文件名是大写AGENTS.md,放在项目根目录构建、测试、类型检查命令都是可直接复制执行的只写了 Agent 从代码里推断不出来的约定红线规则用了明确的否定句式(禁止/不要/Never)标注了自动生成目录和禁止修改的模块写清了交付要求(改动清单 + 验证命令 + 风险说明)没有任何密钥、密码、连接串整体一页能看完,核心要点 10 条以内每一条都能通过"删掉会不会更容易犯错"的测试一份短小精准的 AGENTS.md,比一份充斥模糊规则的长文件有用得多。

篮球界最会写bug的人;程序猿中打球最菜的人。 615

工业相机的检测原理课件(建议收藏)

本课件为各位工程师详细介绍了工业相机的视觉检测原理 ,旨在为工程师调试工业相机的视觉检测原理时提供理论性指导。

Bamboo265925的博客 498

Android Selinux详解[八]--常用sepolicy函数和权限组说明

Selinux中有很多函数,比如domain_auto_trans, r_dir_file等等,可以见源码中定义的地方举例一两个看一下。

weixin_41028555的博客 2791

rk3588 LightSensor适配从驱动到应用层

本文详细介绍了在RK3588平台上实现光感驱动的开发流程。主要包括:1) 在设备树中配置I2C5接口挂载光感设备;2) 编写内核驱动代码实现光感数据采集;3) HAL层通过ioctl与驱动交互;4) 在BoardConfig.mk中启用相关宏定义;5) Framework层通过AutomaticBrightnessController实现自动亮度调节算法;6) 应用层可通过监听系统设置获取光感变化并调整屏幕亮度。整个流程涵盖了从底层驱动到上层应用的完整实现方案,重点解决了光感设备注册、数据采集传输和自动亮度

tzj1058756809的博客 450

Android9 Sepolicy规则基础 - MTK平台

1. SELinux的基础原则 默认拒绝原则 - 任何未经明确允许的行为都会被拒绝(即:白名单制) 2. SELinux的两种执行模式 宽容模式 - 权限拒绝事件会被记录下来,但不会被强制执行。(权限不够时,仅警告) 强制模式 - 权限拒绝事件会被记录下来并强制执行。(权限不够时,拒绝执行) 3. SELinux在安卓平台上的演变 低于安卓4.3 - 默认不支持SELinu...

技海淘金 6008

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android sepolicy安全策略问题解决

在Android Framework开发中经常碰到sepolicy相关问题,它是应用程序缺少对某一“类”(可能是文件、文件夹等)的某种权限(可能是缺少读、写或等等其他权限),其实这类问题并不难,举2个例子来说明 例子1 scontext:platform_app tcontext:fps_data_file tclass:file permission:read 简单的说就是进程为platform...

weixin_45253393的博客 2842

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android的安全问题 - 在 Android 源码的 system/sepolicy 目录中,区分 public、private 和 vendor的目的

这种划分是 Android 保护核心系统安全、维护兼容性,同时允许厂商灵活定制的重要设计。如果需要扩展策略,优先使用public接口。避免直接依赖private内容。厂商自定义策略应放在vendor目录或设备特定的sepolicy路径。

Android系统工程师--小馬佩德罗 1047

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android中sepolicy, selinux学习笔记

android sepolicy selinux规范学习,相关问题debug

shellshell13的专栏 9300

【SELinux】总结之策略规则&语法&报错解决

SELinux Policy Language 文章目录SELinux Policy Language一、SELinux语法1. 类型2. 属性 - Attribute2.1 属性是什么2.2 属性的作用2.3 属性的语法与格式2.4 类型与属性的关联操作3. 别名 - Alias二、SELinux策略的规则1. AV规则的分类2. 通用AV规则的语法3. AV规则的秘钥(哈希key)4. 在AV规则中使用属性4.1 特殊类型self4.2 " - " 类型否定5. AV规则中类别和许可相关写法5.1 类别

Philister的博客 7906
上一篇: 三年,接着走吧。
UtralK
博客等级 码龄14年 3粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值