ARM TrustZone,虚拟机监控程序:无虚拟化扩展的虚拟机监控程序功能
我发现了一些关于ARM的CPU虚拟化的有趣信息,我想知道你们是否可以帮助我了解更多 基本上,一些公司的员工已经开发了一种叫做的ARM安全模式操作系统,他们说可以虚拟化在非安全模式下运行的Linux/Android等来宾操作系统,只需要安全扩展。他们的演示文档中的一条信息引起了我的注意,特别是在本PDF的第19页,他们声明: rootkit和内核黑客的完整性检查:ARM TrustZone,虚拟机监控程序:无虚拟化扩展的虚拟机监控程序功能,arm,virtualization,hypervisor,trust-zone,Arm,Virtualization,Hypervisor,Trust Zone,我发现了一些关于ARM的CPU虚拟化的有趣信息,我想知道你们是否可以帮助我了解更多 基本上,一些公司的员工已经开发了一种叫做的ARM安全模式操作系统,他们说可以虚拟化在非安全模式下运行的Linux/Android等来宾操作系统,只需要安全扩展。他们的演示文档中的一条信息引起了我的注意,特别是在本PDF的第19页,他们声明: rootkit和内核黑客的完整性检查: 监视系统调用中断和中断处理程序。这将确保核心系统调用不会被篡改 通过“系统调用中断”,我理解了SVC(=旧SWI)指令执行情况(如
- 监视系统调用中断和中断处理程序。这将确保核心系统调用不会被篡改
- 将SCR.IRQ设置为1。通过此配置,非安全PL1软件可以将CPSR.I设置为1,从而拒绝IRQ到的所需路由 监控模式
- 当SCR.FIQ设置为1时,将SCR.FW设置为1。通过这种配置,非安全PL1软件可以将CPSR.F设置为1,从而拒绝 所需的FIQ到监控模式的路由
因此,仅仅通过安全扩展似乎不可能实现完美的虚拟化。如果您想要一个虚拟机监控程序,就要一个虚拟机监控程序。TrustZone将保护安全操作系统,而不为正常操作系统提供保护。通常,虚拟机监控程序必须向托管操作系统提供虚拟mmu。TrustZone提供两个物理MMU表。否则,SierraTEE与TrustZone无关。应使用总线开关进行保护,以防止过度写入。无论代码在做什么,它都不会在安全模式下防止检查器的过度写入。在安全模式下,您可以检查正常(Android操作系统)并查看其是否被篡改。1。这是可能的。2.这是不可能的(没有修补代码或准虚拟化)。3.如果不修改Linux(准虚拟化),这也是不可能的。所有方法都假定对托管操作系统(Linux/Android)有一定的了解。例如,您不能运行某些Linux IMX设备上使用的FIQ代码。如果没有安全引导,任何人都可能超越检查程序。我很确定他们指的是要查看的监视器,而与监视器模式无关。但事实上,这是任何人的猜测。白皮书通常是一种技术性的推销。通过安全扩展可以提供类似于虚拟化的东西,但创建安全系统需要更多。标记记忆区域通常是用手臂信任区以外的东西来完成的;即,总线开关(连接总线主设备和从设备)。