命名 FIFO 是不是安全以防止普通用户看到敏感数据?

Posted

技术标签:

【中文标题】命名 FIFO 是不是安全以防止普通用户看到敏感数据?【英文标题】:Is named FIFO secure to prevent normal user from seeing sensitive data?命名 FIFO 是否安全以防止普通用户看到敏感数据? 【发布时间】:2009-12-21 02:31:50 【问题描述】:

如果我有一些敏感数据要在两个进程之间传输,我可以在/tmp 中创建一个命名的 FIFO,并在使用后将其删除。我想知道这种方法是否安全?打破 FIFO 有多容易?

我知道有几种方法可以执行 IPC(进程间通信),但恕我直言,管道并不理想,因为它有时会在硬盘上留下缓冲数据;共享内存是安全的,但并不总是可行的。

【问题讨论】:

如果您不希望用户看到文件的内容,请禁止他们读取访问权限。 但是这两个进程都是用户启动的,所以和用户拥有相同的访问权限。 如果用户正在启动您的进程,他们可以在调试器下运行它并用它做任何他们想做的事情。因此,在这种情况下,任何“保护”IPC 的方法都毫无用处。 【参考方案1】:

简短的回答是否定的。 Fifo 只是任何进程都可以使用的命名管道。相反,我相信您可以为这些管道分配权限,这称为文件锁定,您可以说哪些用户、组和其他人拥有使用这些管道的权限。虽然这取决于你试图保护你的信息安全的方式。我想你可以加密你的数据,这样在任何时候你的信息都会被泄露,攻击者最终会胡言乱语。如果我是你,我会查找文件锁定。 Beejs IPC 指南非常好,尽管大多数人都看过该材料,但有时可能会缺少它。除了那祝你好运。

【讨论】:

以上是关于命名 FIFO 是不是安全以防止普通用户看到敏感数据?的主要内容,如果未能解决你的问题,请参考以下文章

命名管道(fifo)有多贵?

[安全开发]日志敏感信息检测-1-身份证

Linux-进程间通信: FIFO

多处理是不是支持命名管道(FIFO)?

命名管道FIFO

如何防止sql注入攻击?