gpt4 book ai didi

security - 访问 `proc` 文件系统以从系统应用程序读取 `/proc/[pid]/some-file`

转载 作者:行者123 更新时间:2023-12-03 20:43:38 31 4
gpt4 key购买 nike

我有一个自定义的 A10 存储库,我试图在其中创建一个能够读取 /proc/[pid]/some-file 的应用程序文件,例如statstatus ,有点像 ps做。
看完这篇 answer很明显,AID_READPROC应该添加我使用自定义权限完成的操作。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.poke.mon"
android:sharedUserId="android.uid.system">
<!-- More stuff -->
<uses-permission android:name="com.poke.READPROC_PERM" />
<!-- More stuff -->
</application>
</manifest>
我已添加 com.poke.READPROC_PERM通过编辑适当的 platform.xml , AndroidManifest.xmlsytem-current.txt文件并在 privapp-permissions 中允许该权限文件
我已通过 cat 验证-ing status我的应用程序进程的文件并验证 gid 3009 确实存在。
但是我仍然被 sepolicy 阻止(强制执行被禁用,代码可以访问文件)。
添加 r_dir_file(priv_app, proc)priv_app.te导致错误。
编译器给出的原因是这个 linecoredomain.te :
# Core domains are not permitted to use kernel interfaces which are not
# explicitly labeled.
# TODO(b/65643247): Apply these neverallow rules to all coredomain.
full_treble_only(`
# /proc
neverallow {
coredomain
-init
-vold
} proc:file no_rw_file_perms;
创建自定义域导致了我可能想要的类似错误
typeattribute my_apps_domain coredomain;
避免大量的复杂性和重复(我需要与其他服务等进行通信)。
有没有办法解决这个限制? (例如,查看 genfscon 似乎不支持通配符映射,例如 /proc/\d+/some-file ) shell 似乎也很奇怪能做 ps很好,但它也是 coredomainfirst line 定义的 shell.te :
typeattribute shell coredomain;
那么也许我缺少其他一些神奇的 sepolicy 门?

最佳答案

  • 为你的应用定义一个自定义域:
    user=_app isPrivApp=true seinfo=平台名称=com.myapp.packagename domain=my_custom_domain type=app_data_file levelFrom=all

  • 引用: https://cs.android.com/android/platform/superproject/+/master:device/google/coral-sepolicy/private/seapp_contexts;drc=01b96a3a966f075abcba27cb415cece348a3278e;l=5
  • 将自定义域标记为 coredomain:
    typeattribute my_custom_domain coredomain;

  • 然后您将使用 neverallow 限制。

    关于security - 访问 `proc` 文件系统以从系统应用程序读取 `/proc/[pid]/some-file`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66348160/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com