首次提问者/评论者,长期阅读者。
作为一个目前正在思考和撰写可能从根本上提高计算机安全性的措施的人(即,不仅涉及大多数技术制造商目前正在关注的那种进化的、相当适度的步骤,而是追求“大跃进”更改可能会破坏向后兼容性,但会使系统更加安全)。我非常喜欢使用健壮的通用进程隔离来尝试防止用户模式程序——或者,无论如何,我们今天称之为“用户模式”程序——能够做一些讨厌的事情,比如试图阅读/steal 数据被其他用户模式程序使用或通过特权升级攻击攻击操作系统。
现在,肯定有一些公司/组织已经尝试或正在尝试在软件中实施强大的权限隔离方案。例如,微软开发的 Singularity SO 将几乎所有东西都放入“密封隔离进程”中,这些进程只能通过限制性的消息传递“合同”与彼此和操作系统进行通信。(当然还有其他一些,包括政府在军事/情报高安全场景中使用的一些,我理解。)但是,我想我是一个不愿意对没有根深蒂固的安全防御给予极大信任的人,归根结底,在某种直接的硬件执行中。这让我想到了两个(密切相关的)问题:
首先,目前是否有任何非政府的、商业生产的微处理器——用于多用途计算?没有智能卡芯片或其他东西——使用专门设计用于强制执行强进程隔离/分离的指令集/体系结构?(因此,即使是利用设备上运行的操作系统内核中深层次漏洞的攻击也不足以导致进程中的恶意代码脱离隔离。)
其次,您需要对 x86-64 指令集和相应的芯片架构进行哪些更改,以使其能够为强大的操作系统隔离/单个进程的分离提供硬件强制支持?
(仅供参考,我确实知道英特尔在过去 5 到 10 年为他们的一些芯片添加了一些专有的安全功能,今年与 SGX 合作的 Skylake 假设会带来一些功能,以将具有高安全需求的给定程序与系统的其余部分。但需要更大、更进一步的步骤来实现硬件强制隔离,例如,至少,今天在用户模式下运行的所有进程。或者我错了吗?)