【发布时间】:2015-10-12 18:22:57
【问题描述】:
我在最近的技术面试中被问到这个问题。假设有一个程序生成随机内存地址并操作其内容。我应该采用什么方案来防止这种情况发生。
我的回答类似于为我们的流程提供预共享密钥,并且每当提交流程时,都会有一个单独的流程要求 PSK。如果它正确,则在存储在内存中的某个哈希表中创建此 PID 的条目,表明这是一个合法进程。我不知道这在多大程度上是正确的,当然这个方案需要对所有流程进行更改。我什至不知道如何实现这一目标。您认为正确的解决方案是什么。
【问题讨论】:
-
正常的每进程内存分配怎么样。当程序尝试在其内存之外写入时,它会出现段错误。
-
嗯...但它不是限制...就像我想从堆中获取一些内存一样。
-
如果可以分配就可以在上面写。进程可以分配的内存量也有每个进程的限制。
-
好吧...但是我们将如何管理内存地址空间的哪些部分用于哪个进程...似乎有点复杂的方案..让我们看看其他人怎么说.. . :)
-
如果你想要比几句话更详细的东西,我认为这太宽泛了。如果您想了解有关如何管理内存布局和分配的详细信息,这非常接近于询问我们如何编写操作系统。
标签: algorithm security process operating-system