SKEE:轻量级安全内核执行环境

版权申诉
0 下载量 95 浏览量 更新于2024-08-20 收藏 1.96MB PDF 举报
"SKEE——轻量级安全的内核级执行环境对于ARM平台的应用" SKEE(Secure Kernel-level Execution Environment)是一种针对ARM架构设计的轻量级安全内核执行环境,旨在解决传统方法在内核保护和检测上的不足。在现有的方法中,如基于虚拟化的技术,虽然能实现资源分配和硬件虚拟化,但通常需要较大的可信计算基(Trusted Computing Base, TCB),并且像VMware和XEN这样的虚拟机自身也存在安全问题。微虚拟化(Microhypervisor)方法虽然小巧,但并不适合那些需要较大代码库的主机安全工具。沙箱(sandbox)依赖于虚拟化来提供隔离,这同样增加了TCB的大小。硬件保护机制如Intel的Software Guard Extensions (SGX)在ARM平台上缺乏对应,ARM的TrustZone虽提供了一种解决方案,但也增加了代码基数并需要对高权限的信任区进行维护。 SKEE的独特之处在于它能与内核完美隔离,并提供一个接口来切换到隔离区域,使得安全工具可以有效地检测内核活动,而无需扩大TCB。这种方法旨在减少对内核安全性的威胁,同时保持系统的高效运行。 在ARM架构的背景下,SKEE的设计要考虑其内存管理机制。在32位的ARMv7架构中,内存转换涉及到三个关键寄存器:Translation Table Base Control Register (TTBCR)、Translation Table Base Register 0 (TTBR0) 和 Translation Table Base Register 1 (TTBR1)。TTBCR中的3位TTBCR.N决定了是否使用TTBR1。如果TTBCR.N为0,则只使用TTBR0,否则两者都用。在64位的ARMv8架构中,内核使用TTBR1,用户模式则使用TTBR0。Memory State Register (MSR) 指令可以利用0寄存器(XZR)将任何寄存器设为0。 Address Space Identifier (ASID)是用于非全局访问的虚拟内存页,它与特定的ASID关联,是内存管理在虚拟化层中的一个重要概念,有助于区分不同的内存空间。 SKEE的实现和应用可能会涉及到对这些底层硬件特性的深入理解和利用,以创建一个安全且高效的内核执行环境,确保在ARM平台上,无论是32位还是64位系统,都能提供可靠的安全保障。通过这种轻量级的解决方案,SKEE有望成为提高ARM设备内核安全性的有效工具,同时最小化性能影响。