本文共 1357 字,大约阅读时间需要 4 分钟。
随着计算机信息安全的日益重要,各类安全相关的术语在 LINUX 系统中越来越受关注。本文将深入探讨 KVM(Kernel Virtual Machine) 在 安全 方面 的技术手段,特别是针对 SMEP(Supervision Mode Execution Protection)的实现应用。
在 现代计算机系统中,环模式(Ring) 是 CPU 提供的一种 分级权限机制。一般来说,操作系统支持四个不同的 环模式:
近年来, 一些 恶意代码 Exploit attacker会 通过诱导系统 进入 某个 绝对 安全环级,进而 访问和 实施用户空间(User Space) 中的恶意代码或 数据。这样 可能 导致 系统控制权被 给予 恶意程序,甚至 导致系统崩溃。
为了应对此类威胁, 英特尔公司 于 2012年 推出了 Ivy Bridge 代号的新一 代 CPU,并 在 其上 推出的 SMEP(Supervision Mode Execution Protection) 特性。这一特性 的核心思想 是:在 CPU 的 CR4 寄存器的第 21 位 禁用状态下,管理模式(Supervisor Mode) 的程序 无法 获取 用户模式(User Mode) 的地址空间内 的 指令。 换句话说, 如果管理模式的程序试图 访问或 执行 用户模式 的 内存指令, 将 会触发 错误。
KVM 是 LINUX 系统 中 的 一款 显著虚拟化模块, 它 基于 QEMU 项目 提供虚拟化服务。 由于 KVM运行于 用户空间(User Space), 因此 LINUX 系统 的多种 安全策略 对 KVM 来说 都是 完全适用的。 在 这种 安全 环境 下, SMEP 能够有效地 保护 虚拟 化 环境,防止 恶意Exploit 至其构成威胁。
为了让 SMEP 能够 在 KVM 环境中发挥作用, 必须 配置 和 调整 QEMU- KVM 的参数。 经过 长期 的实践和 开发,开发者们 已经 习惯于 在 KVM 中 启用 SMEP,从而 提高了 虚拟 化 安全性。 这一 实践 证明, 基于 CPU 提供的_lower_level防护措施, 和用户空间 中的 代码层面的防护协同作用,才能 提供 全面的 安全防护。
在 后续 的 论文 中, 我将 详细介绍 QEMU- KVM 的其他 安全特性, 如 MMU 抗错误 (MMU protection), 显存分段机制, 预防零点漏洞等。 这些 资源 将 为 您提供 更全面的 视野, 相关 从 Opportunities 到 Threats 的 详细分析, 帮助 您 更好地 理解 系统 安全的关键秘诀。
转载地址:http://rrryk.baihongyu.com/