我只是稍微了解一下共享内存的用途,即在多个程序之间更快地交换或使用数据。但是看到很多人试图或谈论如何保护它,我不明白它如何会很危险以及如何确保它安全?
我是在 VPS 上配置服务器环境的背景下询问这个问题的。
答案1
如果创建它的程序编写错误并设置了权限以便其他用户可以附加到它,则可能会很危险。您可以通过正确编写程序以将权限限制为仅限该用户来确保其安全。因此,这不是管理问题。
答案2
“如果创建它的程序写错了,那就很危险”<。
或者,攻击者试图将代码注入到服务器上已经建立并部署的正在运行的 proc(程序)中;并且该程序已经提升了(可能的)权限;从而继承了这些权限,这为攻击者设置了一个可能的 API。
抱歉,5 年后。我正在部署服务器。这个共享内存问题已经得到充分记录
默认情况下,/run/shm 以读写方式挂载,并具有执行程序的权限。近年来,许多安全邮件列表都注意到许多漏洞利用 /run/shm 来攻击正在运行的服务,例如 httpd。然而,这些漏洞大多依赖于不安全的 Web 应用程序,而不是 Apache 或 Ubuntu 中的漏洞<来自 help.ubuntu.com
但是,正如 psusi 所提到的,程序员可以编写不允许共享内存的代码。但是他们会这样做吗?像服务器这样重要的东西至少需要 99% 的可靠性。
Linux,要么你拥有它,要么别人会拥有它和你。Google 是你的朋友