【发布时间】:2020-03-31 01:14:12
【问题描述】:
我正在尝试创建一个 x86 Linux 程序,该程序以提升的权限运行,但也可以在子进程中运行潜在的不安全代码并通过共享内存与其通信,主要是出于性能原因。我的想法是这样的:
- 根进程使用
mmap和MAP_SHARED|MAP_ANONYMOUS分配内存 - 它分叉,子进程调用
setuid,然后加载用户提供的代码。 - 子进程不再受信任。
之后访问共享内存有哪些陷阱?显然子进程可以提供无效数据并随时更改它,但它实际上是否会以其他方式损害父进程,例如阻止内存访问,甚至将其关闭或类似的东西?
或者使用安全吗? memcpy()?
原子操作安全吗? sem_timedwait?
【问题讨论】:
标签: linux multithreading security operating-system shared-memory