2016-05-13 37 views
2

我打算在同一主机上运行的两个进程之间为我的IPC(进程间通信)使用unix域套接字。但在选择unix套接字之前,我还必须考虑数据安全性。IPC与unix域套接字是否安全?

我只是想知道,如果我使用unix套接字来加密我在该连接上发送的数据,是否有任何方式“中间人”攻击?

回答

1

任何客户端 - 服务器通信通常都容易受到MitM攻击:它只取决于攻击面的大小。

简而言之,Unix域套接字通常是安全的。您可以使用POSIX权限来锁定与套接字and the server side can request information such as credentials and PID of clients before they can fully connect相关的文件描述符(FD)的访问。

如果有人想拦截数据,它们会有效地篡改作为核心操作系统一部分的低级IPC机制。如果有人能够做到这一点,被测设备/系统(DUT)已经被入侵(即:安装了恶意内核模块或预加载的库)。

攻击UDS连接的最可能的场所是在调试器中运行使用它们的程序(即:gdb),或者在套接字上仅使用socat来尝试收集数据。后者可以通过使用认证程序和加密来最小化,而前者不能得到真正的帮助。如果有人可以通过root访问DUT,他/她可以启动根控制台,然后在调试器中启动客户端应用程序。

TL; DR

It's as secure as your system is.