Android14之audit2allow自动生成Selinux规则(一百七十五)

2024-01-03 20:52

本文主要是介绍Android14之audit2allow自动生成Selinux规则(一百七十五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:audit2allow自动生成Selinux配置。

2.SeLinux介绍

  • SELinux,全称Security-Enhanced Linux,是一种基于Linux内核的安全机制。它通过强制访问控制(MAC)来增强Linux系统的安全性,对于保护系统资源和防止未经授权访问非常有帮助。本文将简要介绍SELinux的原理和功能。

  • SELinux最初是由美国国家安全局(NSA)开发的,于2000年首次集成到Linux内核中。它通过将每个对象(如文件、进程和用户)和动作(如读写、执行)分配给一个安全上下文来实现安全访问控制。安全上下文包括主体和客体,主体代表拥有访问权限的主体,而客体代表被保护的系统资源。

  • SELinux通过使用访问控制策略来管理对象和动作之间的访问权限。访问控制策略定义了允许或禁止一个主体访问一个特定的客体的规则。这种严格的策略强制执行防止非授权访问,有效地减少了系统受到攻击的风险。

  • SELinux的主要功能包括:

  1. 强制访问控制(MAC):SELinux在每个对象和动作上强制实施访问控制策略,即使用户具有root权限也不能绕过这些策略。

  2. 细粒度访问控制:SELinux使管理员能够配置文件和进程的访问权限,实现更精确的访问控制。

  3. 角色基准访问控制:SELinux允许系统管理员为特定的用户角色分配不同的安全策略,以便管理访问权限。

  4. 安全上下文:SELinux使用安全上下文来标记对象和动作,并通过语义丰富的标签来定义对象之间的关系。

  5. 弹性:SELinux的策略可根据实际需求进行定制,以满足不同环境下的安全需求。

  • 虽然SELinux提供了强大的安全功能,但它也可能增加了配置和管理的复杂性。因此,对于普通用户来说,理解SELinux的工作原理并正确配置它可能需要一定的学习和实践。

  • 总之,SELinux是一种基于Linux内核的安全增强机制,通过强制访问控制、细粒度访问控制和安全上下文等功能来提高系统的安全性。它在Linux系统中得到广泛应用,并在防止未经授权访问和减少系统受到攻击的风险方面发挥着重要作用。

3.audit2allow自动生成selinux规则

<1>.配置Android源码环境

# source build/envsetup.sh
# lunch xxx

<2>.抓带"avc"的log

# adb logcat | tee avc.txt

<3>.自动转换avc.txt到selinux规则

# adb pull /sys/fs/selinux/policy
# adb logcat -d | ./external/selinux/prebuilts/bin/audit2allow -p policy
  • 生成selinux规则
#============= boringssl_self_test ==============
allow boringssl_self_test self:capability sys_admin;#============= dexoptanalyzer ==============
allow dexoptanalyzer app_data_file:dir search;#============= init-insmod-sh ==============
allow init-insmod-sh self:capability sys_admin;#============= system_server ==============
allow system_server vendor_default_prop:file read;

注意:当前PC的python版本一定是: python2.7。否则会出现如下语法问题:

 File "external/selinux/prebuilts/bin/audit2allow", line 3if [ -z "${ANDROID_HOST_OUT}" ]; then^
SyntaxError: invalid syntax

<4>.将规则添加到device/xxx/common/sepolicy/xxx.te文件中

allow boringssl_self_test self:capability sys_admin;#============= dexoptanalyzer ==============
allow dexoptanalyzer app_data_file:dir search;#============= init-insmod-sh ==============
allow init-insmod-sh self:capability sys_admin;#============= system_server ==============
allow system_server vendor_default_prop:file read;

<4>.编译

# make -j12 sepolicy

这篇关于Android14之audit2allow自动生成Selinux规则(一百七十五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567030

相关文章

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景