我想知道 - 除了授权程序之外,是否有任何已知的技术可以控制从任何地方对共享内存对象的访问?
例如,假设我创建了一个共享内存段供程序 P 使用,供 Q 访问,然后我将其设为读写。我可以使用 Q 访问它,因为我已经为它 (Q) 提供了这样做所需的权限(作为具有组的特定用户运行等)。
但是,我猜在某些情况下,有人可能会从程序 R 访问这个共享内存——只需附加到它并修改它。为了阻止这种情况,您可以将内存段设为只读 - 但现在程序 R 仍然可以读取内存中的内容。
我的问题是部分 -
有没有办法,
a) 只允许 Q 访问共享内存?
b) 计算阅读是否由 Q 以外的其他人完成 - 以及是谁做的?[这甚至可能吗?] 对于奖励积分,这可以跨平台完成吗?[可能不是,但尝试没有害处:)]
在什么情况下流氓程序可以附加到共享内存?我认为一种方法是用户是否能够利用操作系统漏洞并成为启动程序的用户。还有其他人吗?