Android活页夹-将活页夹调用限制为一个进程

时间:2019-10-17 18:14:30

标签: android android-binder

我有一个Android Java服务,该服务通过活页夹(AIDL)与本机进程进行交互。

我看到该服务被列在“ adb shell服务列表”下。另外,我也可以使用“ adb shell服务启动1 xxx”向该服务发送命令。

为此,我希望仅在此特定Java服务和本机进程之间进行活页夹IPC事务。

我在任何地方都找不到任何结论性信息。非常感谢在这方面的任何帮助。

1 个答案:

答案 0 :(得分:1)

可以通过SELinux控制绑定程序接口的访问。

根据您使用的是binder还是vdbinder,您可以在service_contextsvndservice_contexts文件中定义服务上下文,如下所示:

myservice      u:object_r:myservice_[vnd]service:s0

注意myservice是您在defaultServiceManager()->addService()中提供的名称

现在,您可以在myservice策略文件中明确定义允许哪个进程访问.te

示例:允许myclient访问myservice

allow myclient myservice_[vnd]service:service_manager find
[vnd]binder_use(myclient)
binder_call(myclient, myservice_[vnd]service)

您可以找到更多信息here