kernel - 在Ring0中执行 - >风险?

时间:2015-03-16 18:19:13

标签: security unix kernel privileges virtual-address-space

这个问题非常(且仅)理论上的。

请考虑这种情况:

  • 在ring0< - >中运行最大特权。
  • 如果有一个内核,例如20个受信任的运行进程。
  • 每个进程从其自己的页面读取/写入/执行,并且不能以其他方式执行< - >段错误
  • 这些进程的虚拟地址彼此相距很远,应提供足够的进程隔离。
  • 它们由管理员(root)设置并以最少的权限运行自己(适当设置ldt位)
  • 只有受信任的程序员才会添加经过仔细审核的代码 - >信任。

对于段错误,整个系统还有一些风险吗?

如果用户受信任,这种隔离策略是否足够?


更新(回答ninjalj)

1)流程不需要彼此沟通。如果将来他们需要,他们将感谢一个带有预定偏移量和原子锁以及完全RCu支持的大型环形缓冲区(已在预测中完成)。

如果缓冲区满了(不应该发生,因为有很多极端测试将值设置为适当的大小),它们会在添加任何内容之前等待(重新同步,但这是最糟糕的情况) )。

2)无需进行进程间验证。他们都表现得好像独自一人在机器上。

3)我们有完整的RCU支持(即使现在不需要进程,但很快就会有)。在不可行的情况下,基本的原子锁。

4)DMA放置在物理偏移处,该物理偏移永远不应该是可重写的(大偏移)。它目前被置于低物理内存中。 Guard页面保护该区域。

0 个答案:

没有答案