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

2024-02-11

我有一个自定义的 A10 存储库,我正在尝试创建一个能够读取的应用程序/proc/[pid]/some-file文件例如stat and status, 就像ps does.

读完这篇文章后answer https://android.stackexchange.com/a/207115/很明显,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.xml and sytem-current.txt文件并允许该权限privapp-permissions file

我已验证cat-ing 的status我的应用程序进程的文件并验证 gid 3009 确实存在。

但是,我仍然被 sepolicy 阻止(禁用强制执行后,代码可以访问文件)。

Adding r_dir_file(priv_app, proc) to the priv_app.te导致错误。

编译器给出的原因是这样的line https://cs.android.com/android/platform/superproject/+/android-10.0.0_r30:system/sepolicy/private/coredomain.te;l=91 in coredomain.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很好,但也还好coredomain定义为第一行 https://cs.android.com/android/platform/superproject/+/android-10.0.0_r30:system/sepolicy/private/shell.te;l=1 of shell.te:

typeattribute shell coredomain;

那么也许我还缺少其他一些神奇的安全门?


  1. 为您的应用定义自定义域:

    user=_app isPrivApp=true seinfo=平台名称=com.myapp.packagename 域=my_custom_domain 类型=app_data_file levelFrom=all

ref:https://cs.android.com/android/platform/superproject/+/master:device/google/coral-sepolicy/private/seapp_contexts;drc=01b96a3a966f075abcba27cb415cece348a3278e;l=5 https://cs.android.com/android/platform/superproject/+/master:device/google/coral-sepolicy/private/seapp_contexts;drc=01b96a3a966f075abcba27cb415cece348a3278e;l=5

  1. 将自定义域标记为 coredomain:

    类型属性 my_custom_domain coredomain;

然后您将使用 neverallow 限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • PHP - Paypal API 表单和安全性 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在我的电子商务应用程序上使用标准 php paypal 表单进行付款 我注意到只有 firebug 的人可以在通过 立即付款 按钮发
  • 如何在 Jboss 7.1 中配置简单身份验证

    我正在从事由以下人员编写的项目纯jsps 脚本 不使用任何框架 jboss版本 jboss as 7 1 0 Final 我现在正在尝试在其上添加简单的身份验证 因此 当用户尝试浏览 jsp 时 比如说 http localhost myC
  • antisamy 解析器强制关闭标签

    我使用 Antisamy 来验证 HTML 我的政策允许 iframe 例如 YouTube 视频 问题是 如果标签为空 像这样 清洗后会是这样的 但它应该有正常的结束标签 这会破坏之后页面上的所有内容 我已经将指令设置为使用大部分 HTM
  • ASP.NET MVC - ValidateAntiForgeryToken 过期

    在网页中 我们提供一个超链接 GET 用户可以单击该超链接进行身份验证 Html ActionLink Please Login MyMethod MyController 这映射到以下返回视图的控制器方法 RequireHttps pub
  • 构建 gradle 系统应用程序作为 AOSP 构建的一部分

    我有一个基于 AOSP 的自定义 ROM 并且正在开发一个系统应用程序 该应用程序在 ROM 构建期间打包 就像任何其他系统应用程序一样 是否可以将此应用程序切换为 gradle 样式应用程序 并在 AOSP 构建期间使用 gradle 构
  • JSON 响应周围的注释块

    我注意到一些 Web 应用程序返回 AJAX 响应 并在注释块中嵌入 JSON 数据 例如 这是一个示例响应 firstName John lastName Smith address streetAddress 21 2nd Street
  • Bash 中的 Shellshock 漏洞背后的行为是有记录的还是有意为之?

    最近的一个漏洞 CVE 2014 6271 http web nvd nist gov view vuln detail vulnId CVE 2014 6271 如何Bash http en wikipedia org wiki Bash
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • 在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding

    Spring Security SAML 坚持在 SAML 身份验证请求中请求 Artifact 绑定 ProtocolBinding 属性
  • 用户如何登录定义了读者角色的 couchapp?

    我通过 Couchapp 部署了我的应用程序 这意味着整个应用程序是从数据库中提供服务的 我不希望 Couchdb 数据库中的数据公开可用 因此我指定了用户在向他提供数据之前必须具有的读者角色 然而 当我去申请时 我所能得到的是 error
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • 未捕获的安全错误:阻止了具有原点的框架...访问具有原点的框架

    我已经为 SAP 解决方案 无论什么 制作了一个组件 该组件通过 iframe 嵌入到报告中 在 SAP 平台 BO 上部署报告后 我收到此错误 在 Chrome 上 但在 IE 或 FF 上也不起作用 Uncaught SecurityE
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • 无法使用前导 ../ 在顶级目录之上退出

    我有一个 asp net 网站 我们有管理区域 其中的登录页面仅供管理员使用 并且所有网站都允许所有人使用 当我收到此错误时 我需要询问如何为其定义正确的安全配置 Cannot use a leading to exit above the
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • 使用管理员帐户运行asp.net程序

    我需要使用管理员帐户并启用桌面交互从 ASP NET 应用程序运行一个控制台应用程序 我尝试过下面的代码 控制台应用程序运行正常 但在网络服务帐户内 有什么想法如何在管理员帐户下运行控制台吗 string enginePath Server
  • 非加密用途的最快哈希值?

    我本质上是在准备要放入数据库的短语 它们可能格式错误 所以我想存储它们的简短散列 我将简单地比较它们是否存在 所以散列是理想的 我假设 MD5 在处理 100 000 个请求时相当慢 所以我想知道散列短语的最佳方法是什么 也许推出我自己的散
  • 是否可以在 PHP 中使用 file_get_contents 来破坏 CSRF 令牌验证

    在每个会话的表单上使用令牌的 CSRF 预防方法是一种流行的方法 但是 我不明白这种令牌方式如何保护file get contentsPHP 可以获取跨域文件表单的内容 gt 它可以获取表单上的令牌并使用它 那么这种token方式是如何运作
  • 在数据库中存储密码的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 什么是 API 密钥? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如今 我几乎在每个跨服务应用程序中都看到这个词 API 密钥到底是什么以及它的用途是什么 另外 公共 API 密钥和私有 API 密钥

随机推荐

  • DirectX 11 叠加

    我正在为游戏编写 DirectX 11 覆盖 创建纹理非常简单 而且我对 C C 有很好的了解 我遇到的问题是在我的测试窗口中我可以打印纹理 但是一旦我改变相机角度 纹理就会随之移动 这就是大多数人想要的 我想知道的是如何以 2D 打印某些
  • 如何将球形贴图投影到球体/立方体上:“等距矩形到立方体”

    更新 我找到 http os ivrpa org panosalado wiki http os ivrpa org panosalado wiki 在java中有一个实现 谁有类似的 c 或 c 东西 我有这张全景图 来自谷歌街景的球形地
  • 用Java创建虚拟打印机

    我想使用 Java 创建一个虚拟打印机 这样当您打印文件 使用 Word 或其他东西 时 Java 打印机就会被列为有效打印机 我的目标是获取程序 Word 等 直接发送到打印机的打印机格式化对象 我不知道这是否可能 对于这个问题来说 这似
  • 合并 git 中没有真正共同祖先的复制存储库的更改

    我有一个项目 DemoA 它是基于 git 存储库 Project1 构建的 不幸的是 DemoA 一开始只是 Project1 文件的副本 然后才变成一个实际的长期项目 我现在想让 Project1 成为 DemoA 的子模块 但更重要的
  • 如何创建命名引用类型元组?

    以下行创建一个命名的ValueTuple var tuple a 1 b 2 c 3 d 4 e 5 f 6 值类型无法有效传递 做C 7提供了一种创建命名元组的方法Tuple type 如果你的意思是是否有办法将其他名称附加到System
  • FaceBook API,应用内登录

    我跟着本指南 http developers facebook com docs guides mobile ios我已经通过 Facebook 集成成功创建了我的应用程序 有什么问题 当用户必须登录时 应用程序会在浏览器中退出 或在 Fa
  • 如何打开Lucene 4.3索引?

    我是 Lucene 新手 我正在尝试使用 Luke 打开 Lucene 4 3 索引 我使用简单的 Lucene 4 3 1 应用程序创建 但它一直给我 该位置的目录无效 请检查控制台以获取更多信息 最后一个异常 java lang Ill
  • 在物理设备上测试

    我是否正确理解 我必须支付 99 美元才能在物理设备上使用我的 Windows Phone 应用程序 我制作了一个小应用程序 想在我的新手机上测试 但它不是我计划发布的应用程序 因此我不会仅仅为了看到该应用程序在物理设备上运行而支付 99
  • 如何使用 xunit.runner.console 指定自定义参数

    我有一个 C Selenium Specflow 测试套件 我正在使用 xunit console exe 使用 Jenkins 运行该测试套件 我需要将这些测试指向不同的环境 测试 QA 产品等 并且想使用命令行参数 我调用的批处理命令是
  • Visual Studio 2017 中实体框架“数据库优先”的替代品是什么

    简单的问题 我正在使用 Visual Studio 2017 虽然我知道 EF 中的 数据库优先 方法已经消失 但我想知道替代方法是什么 我特别想做的是从现有数据库生成类 我看到这个 EntityFramework 反向 POCO 生成器
  • 使用“sudo”重复上一个命令

    我经常忘记运行命令sudo 我正在寻找一种方法来创建 bash 函数 或别名 来重复最后一个命令sudo 就像是 S sudo history 1 有任何想法吗 你可以写 sudo See 9 3 历史扩展 Bash 参考手册 http w
  • 可以使用 ggplot2 在 R 中创建此图表吗?

    假设我有以下内容dataframe in R df1 lt read csv jan csv stringsAsFactors FALSE header TRUE str df1 data frame 4 obs of 5 variable
  • 如何在 .Net MVC 中将文件从磁盘流式传输到客户端浏览器

    我的操作将文件从磁盘返回到客户端浏览器 目前我有 public FileResult MediaDownload byte fileBytes System IO File ReadAllBytes Server MapPath fileP
  • 使用 jQueryUI.autocomplete 和 Backbone JS 的 Javascript 模块

    假设我想使用jQueryUi autocomplete用于制作一个从 a 获取源代码的模块backboneCollection 我为自动完成模块实现了以下代码 1 并且以下为Backbone view 2 实际上 我不喜欢它 因为当用户不输
  • 自定义对话框窗口棱镜

    我已经实现了新的 DialogService 如本期所示WPF 的新 IDialogService https github com PrismLibrary Prism issues 1666 但是 这并没有解释如何编辑对话框本身的窗口
  • Raspberry Pi ARM 的 Mongodb MongoClient.connect() 上出现总线错误

    我尝试在 x64 计算机上执行此节点脚本 它似乎工作正常 然而 相同的脚本在 Raspberry Pi 上运行时报告总线错误 它给出了 6047 715610 未处理的故障 对齐异常错误 该错误作为总线错误报告在下一行 该错误似乎源于 Mo
  • Pyspark toPandas() 越界纳秒时间戳错误

    我正在尝试将 Spark DataFrame 转换为 Pandas 但是 它给出以下错误 OutOfBoundsDatetime Out of bounds nanosecond timestamp 有解决办法吗 如果我删除所有时间戳列 它
  • serde json反序列化任何数字[重复]

    这个问题在这里已经有答案了 我正在尝试结合字符串或结构体 https serde rs string or struct html和手动反序列化结构体 https serde rs deserialize struct html通过解析类似
  • 如何解决git中分支名称和提交哈希之间的歧义?

    我有一个分支名为0726b我想将我当前的工作副本与该分支进行比较 显然还有一个提交的哈希值以该序列开头 因为我得到 git diff 0726b warning refname 0726b is ambiguous 我如何告诉 git 它应
  • 访问 `proc` 文件系统以从系统应用程序读取 `/proc/[pid]/some-file`

    我有一个自定义的 A10 存储库 我正在尝试创建一个能够读取的应用程序 proc pid some file文件例如stat and status 就像ps does 读完这篇文章后answer https android stackexc