当前位置: 首页 > news >正文

注入自定义so时SELinux安全限制

1.什么是SELInux

我的理解是你这个人,这个程序到底有没有资格做这件事,即使你是root我也能拦你

通常情况下:应用程序----> 用户/组权限(能不能读)-----> Linux安全模块(LSM)--这里多了一道超级检查---> VFS/驱动/ 内核 ----> 硬件 安全模块就是在权限和内核之间,加了一道关卡

2.它在干嘛?

1.普通权限不够用

rwx,用户组只能管“读/写/执行”, 管不了底层行为

2.安全模块管得是行为

·能不能加载驱动

·能不能挂载

·能不能访问串口

·能不能改内核

3.具体看一个实例

### 日志内容

2026-03-21 17:49:28.470 478-478/? I/SELinux: SELinux: Loaded service_contexts from:
2026-03-21 17:49:28.470 478-478/? I/SELinux: /system/etc/selinux/plat_service_contexts
2026-03-21 17:49:28.472 478-478/? I/SELinux: avc: received setenforce notice (enforcing=1)

488 进程名 478 线程名 I是info , SELInux: 具体的组件或模块名称

  • SELinux: 系统的安全扩展,处理访问控制。
  • Loaded service_contexts: 表示已经加载了服务上下文的情况。
  • /system/etc/selinux/plat_service_contexts: 指定加载 SELinux 服务上下文的路径。
  • avc: 表示访问控制反馈(Access Vector Cache),表示 SELinux 正在处理访问控制规则。
  • received setenforce notice (enforcing=1): SELinux 处于强制模式,表示它正在强制执行其安全策略。

其实这里给出了路径,也给我们修改aosp源码提供了思路,如何才能让系统始终处于宽容模式

```
W/re-initialized>: type=1400 audit(0.0:389): avc: denied { open } for path="/data/data/com.cjwtdccj.wtcj/cache/lib10072.so" dev="sda35" ino=1188547 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=0
```

W/re-initialized>: type=1400 audit(0.0:389): avc: denied { open } for path="/data/data/com.cjwtdccj.wtcj/cache/lib10072.so" dev="sda35" ino=1188547 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=0

这条日志信息是 Android 系统中的 SELinux (Security-Enhanced Linux) 安全审计日志,具体的内容表示发生了一次访问控制(Access Control)拒绝事件。下面是逐项解析这条日志中各个参数的含义。

### 参数解析

1. **W/re-initialized**:
- 表示这是一个警告信息(Warning),日志前缀通常指示日志创建的上下文或来源,比如某个组件或进程。这里的 `re-initialized` 可能表示应用特定的状态。

2. **type=1400**:
- 日志事件的类型代码。`1400` 是一个常见的 SELinux 拒绝事件的类型,代表有安全规则被违反。

3. **audit(0.0:389)**:
- 这是一个时间戳或者其他审计信息,格式一般是 `(时间戳: 事件编号)`。在此例中时间戳为 `0.0`,事件编号为 `389`。

4. **avc: denied**:
- `avc` 指 Access Vector Cache,表示 SELinux 的访问控制缓存。`denied` 表示访问被拒绝。

5. **{ open }**:
- 被拒绝的操作类型,这里表示尝试打开(`open`)一个文件。

6. **for path="/data/data/com.cjwtdccj.wtcj/cache/lib10072.so"**:
- 被尝试访问的文件路径。

7. **dev="sda35"**:
- 表示文件所在的设备。这是字母和数字表示的设备标识符,通常对应于系统中的某个物理存储设备(例如,分区)。

8. **ino=1188547**:
- `inode` 号,表示在文件系统中唯一标识该文件的数字。在 Linux 中,`inode` 是文件的元数据结构,包含文件的所有者、权限、类型、大小等信息。

9. **scontext=u:r:untrusted_app:s0:c512,c768**:
- **Source context**,即请求操作的进程的 SELinux 上下文:
- `u:r:untrusted_app:s0:c512,c768`:表示这是一个普通的应用程序(`untrusted_app`),权限受到限制。

10. **tcontext=u:object_r:app_data_file:s0**:
- **Target context**,即被访问对象(文件)的 SELinux 上下文:
- `u:object_r:app_data_file:s0`:表示该文件属于应用的数据文件类型。

11. **tclass=file**:
- 表示请求访问的对象类型是文件。`tclass` 通常指要操作的资源类。

12. **permissive=0**:
- 表示 SELinux 当前处于强制模式(enforcing mode),而不是宽松模式(permissive)。当处于强制模式时,拒绝事件将真正发生且不允许访问;在宽松模式下,事件会被记录但不会拒绝访问。

---

解决方案

使用setenforce 0 让系统selinux临时处于宽容模式,重启系统后又会恢复严格模式Enforcing

### 总结

这行日志表示你的应用包 尝试打开路径为 `/data/data/com.cjwtdccj.wtcj/cache/lib10072.so` 的文件,但被 SELinux 拒绝,因为当前的应用上下文(`untrusted_app`)没有足够的权限访问标记为 `app_data_file` 的目标文件, SELinux 拦的不是文件,是“谁以什么身份做什么操作”这套行为规则

http://www.jsqmd.com/news/522084/

相关文章:

  • 深入理解 Linux 共享库版本命名机制:SRE 与开发者的必修课
  • 手把手教你用W25Q64 SPI Flash扩展LVGL显示空间(附FatFs移植避坑指南)
  • 藏家必看!上门收酒如何保护隐私?京城亚南酒业给你标准答案 - 品牌排行榜单
  • 家庭隐私不可侵!京城亚南酒业上门收酒,绝不打扰家人、不泄露家事 - 品牌排行榜单
  • 黄精品牌哪个好?高纯度黄精用户首选,避开劣质款黄精 - 博客万
  • WAN2.2文生视频镜像合规性指南:生成内容版权规避+敏感词过滤模块集成
  • 你以为在等大跌抄底,其实在默默支付高昂的“踏空税”
  • 2026年深圳账务处理公司推荐:深圳市通途智选财税,记账报税/代理记账/财税代理公司精选 - 品牌推荐官
  • 正常重构/故障重构/孤岛划分,基于GA-BFGS算法的配电网故障恢复性重构研究(Matlab代码实现)
  • 告别npm卡顿!2024最新淘宝镜像源一键切换指南(附常见问题排查)
  • 杭州高端腕表进水急救全指南:从紧急处理到机芯再生的技术解析 - 时光修表匠
  • 2026年电声元器件制造厂性价比排名,中山有哪些上榜? - mypinpai
  • 贵州钢丝网骨架管采购必读:资质、产能与服务的三维选型逻辑 - 深度智识库
  • 工程采购参考:2026年户外照明与储能电池供应商口碑盘点,七项关键服务能力对比 - 速递信息
  • 以匠心守原木初心,用定制筑品质生活,全品类木作解锁多元美好 - 博客万
  • 2026商用煲仔饭机行业综合测评:十大推荐品牌及选型指南 - 博客湾
  • 基于SUMP协议的Arduino逻辑分析仪固件实现
  • 《DNESP32P4开发指南_V1.0》第十章 ESP32-P4存储器类型
  • 细聊金华、义乌生产规模大的保暖内衣制造厂,靠谱的选哪家 - 工业品网
  • 2026年非标水处理项目怎么选供应商?一家具备“方案+制造+安装”全链条能力厂商考察 - 速递信息
  • 深圳高端腕表走时不准原因全解析|2026六城科普,多品牌维修指南(含六城门店) - 时光修表匠
  • STM32F407与USB3300高速U盘存储系统的设计与优化
  • GraphCL实战指南:基于增强技术的图对比学习应用解析
  • 黑丝空姐-造相Z-Turbo创意无限:社区精选Prompt生成作品画廊
  • 苹果、谷歌、三星中端手机竞争白热化,谁能突出重围?
  • CentOS7下Tailscale子网路由配置全攻略:从安装到内网穿透实战
  • 不想上门收酒被熟人撞见?京城亚南酒业:低调上门,全程无声交易 - 品牌排行榜单
  • 2026年西南地区保温材料厂家综合盘点:从区域竞争力与产品矩阵看成都实力派推荐 - 速递信息
  • 基础网页项目练习
  • 别再低效抓汇率!专业 API 实操分享