Android 控制对Linux命名空间Unix域套接字的访问的策略

Android 控制对Linux命名空间Unix域套接字的访问的策略,android,ipc,android-security,unix-socket,linux-namespaces,Android,Ipc,Android Security,Unix Socket,Linux Namespaces,Android SDK通过Unix域套接字为IPC提供LocalSocket对象,但使用Linux抽象名称空间。因此,任何进程都可以绑定到服务器套接字,其中标准Unix套接字通常需要读/写权限才能访问套接字文件描述符。我可以看到许多可能由此产生的漏洞,我想知道使用什么策略来防止意外来源的访问,以及通过套接字保护数据的方法 请注意,这个问题是关于LocalSockets的。使用其他安卓IPC机制可能会解决不必要的访问问题,但遗憾的是,在我的情况下,这不是一个选项。但是,如果能够保护LocalSoc

Android SDK通过Unix域套接字为IPC提供LocalSocket对象,但使用Linux抽象名称空间。因此,任何进程都可以绑定到服务器套接字,其中标准Unix套接字通常需要读/写权限才能访问套接字文件描述符。我可以看到许多可能由此产生的漏洞,我想知道使用什么策略来防止意外来源的访问,以及通过套接字保护数据的方法


请注意,这个问题是关于LocalSockets的。使用其他安卓IPC机制可能会解决不必要的访问问题,但遗憾的是,在我的情况下,这不是一个选项。但是,如果能够保护LocalSocket,则可以通过这些机制传递某种形式的凭据。

“使用其他Android IPC机制可能会解决不必要的访问问题,但遗憾的是,在我的情况下,这不是一个选项”——为什么不呢?什么是
LocalSocket
提供了
ParcelableFileDescriptor
没有的功能?@commonware访问本机服务中的Unix套接字。据我所见,ParcelableFileDescriptor在本机C/C++API中不可用,其他机制(Binder等)也是如此。C/C++代码肯定可以使用Binder。Android的大部分是用C/C++实现的,Android的大部分IPC都是由Binder提供的。@Commonware是的,Binder在linux/Binder.h中是可用的,但没有文档记录,我所看到的通常是无法访问的。任何指点都将不胜感激。我确信这会进入Binder,他的一些会议演讲也是如此。声称有一个演示使用粘合剂从C++,虽然它有点旧。“使用其他安卓IPC机制可能会解决不必要的访问问题,但不幸的是,在我的情况下,这不是一个选项”——为什么不呢?什么是
LocalSocket
提供了
ParcelableFileDescriptor
没有的功能?@commonware访问本机服务中的Unix套接字。据我所见,ParcelableFileDescriptor在本机C/C++API中不可用,其他机制(Binder等)也是如此。C/C++代码肯定可以使用Binder。Android的大部分是用C/C++实现的,Android的大部分IPC都是由Binder提供的。@Commonware是的,Binder在linux/Binder.h中是可用的,但没有文档记录,我所看到的通常是无法访问的。任何指点都将不胜感激。我确信这会进入Binder,他的一些会议演讲也是如此。声称有一个演示使用粘合剂从C++,虽然它有点旧。