加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 安全 > 正文

操作系统 虚拟化安全知识域用于内存保护的现代硬件拓展

发布时间:2023-09-15 10:59:23 所属栏目:安全 来源:
导读:即便大多数分段已失效,除分页外还有其他方式,还有许多其他形式的硬件支持用于内存保护。例如,许多机器都支持缓冲区边界检查,有些可以追溯到四分之一世纪或更长时间。但是,为了说明相应的资源,我们将看看现代通

即便大多数分段已失效,除分页外还有其他方式,还有许多其他形式的硬件支持用于内存保护。例如,许多机器都支持缓冲区边界检查,有些可以追溯到四分之一世纪或更长时间。但是,为了说明相应的资源,我们将看看现代通用处理器中可用的内容,主要关注英特尔x86家族。这里的重点不是我们认为这个处理器更重要,甚至不是功能X或Y在未来会非常重要(这是有争议的和很难预测),而是说明这仍然是当今硬件开发的一个非常活跃的领域。

一些处理器设计支持更高级的内存保护,使用ARM术语,我们将称为内存标记扩展(MTE10)。这个想法简单而强大。处理器为每个对齐的内存块(其中块是16字节)分配一个硬件中的所谓“标签”。同样,每个指针也会获取一个标记。标签通常不是很大,比如4位,所以它们可以存储在64位指针值的最顶端字节中,反正我们并不真正使用(事实上,ARM支持顶字节忽略功能,使硬件显示屏蔽最上面的字节)。

每当程序分配N个字节的内存时,分配器都会将分配四舍五入为16个字节的倍数,并为其分配一个随机标记。它还将相同的标记分配给指向内存的指针。从现在开始,仅当指针中的标记与其引用的内存的标记匹配时,才允许可靠地取消传递的引用指针,从而实现了有效实用的地或许可以阻止大多数空间和时间内存方面的错误。

请注意,在上面,我们假设操作系统需要保护免受不受信任的用户应用程序的侵害。当操作本身不受信任时,会出现特殊情况。也许您正在受感染的操作系统或云中运行安全敏感型应用程序,您不确定是否要信任云提供商。在一般情况下,您可能希望在不信任任何其他软件的情况下保护您的数据和应用程序。为此,处理器可以提供硬件支持,以便在安全、隔离的环境中运行极其敏感的代码,在ARM的“信任区”中称为可信执行环境,或者英特尔软件防护扩展(SGX)中的飞地。它们提供的基元略有不同。可信执行环境是一个由多个独立的软件实例组成的集合,这些实例可以被分配给不同的操作系统版本。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章