如何阻止类病毒程序破坏内存

How to stop the virus-like program from corrupting memory

我在最近的技术面试中被问到这个问题。假设有一个程序生成随机内存地址并操作其内容。我应该采用什么方案来防止这种情况发生。

我的回答类似于为我们的流程设置预共享密钥,每当提交流程时,都会有一个单独的流程要求 PSK。如果它是正确的,那么这个 PID 的条目将在存储在内存中的一些散列 table 中创建,标记这是一个合法的进程。我不知道这在多大程度上是正确的,当然这个方案需要对所有流程进行更改。我什至不知道如何实现这一目标。您认为什么是正确的解决方案。

该方案称为 protected memory,通常由 CPU 中的内存管理单元实现,由 OS 编程。