我计划在同一台主机上运行的两个进程之间使用unix域套接字进行IPC(进程间通信)。但在选择unix套接字之前,我还必须研究数据安全性。
我只是想知道有什么办法吗?#34; man-in-the-middle"如果我使用unix套接字而不加密我在该连接上发送的数据会发生攻击吗?
答案 0 :(得分:4)
任何客户端 - 服务器通信都容易受到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,他/她可以启动根控制台,并在调试器中启动客户端应用程序。
<强> It's as secure as your system is.
强>