我发现了一些关于 ARM 的 CPU 虚拟化的有趣信息,我想知道你们是否可以帮助我更多地了解它。
基本上,一家名为SierraWare的公司的人开发了一种名为SierraTEE的 ARM 安全模式操作系统(他们说),它可以虚拟化运行在非安全模式下的客户操作系统,如 Linux/Android,只需要安全扩展。他们的一份演示文档中的一条信息引起了我的注意,特别是在此 PDF http://www.sierraware.com/sierraware_tee_hypervisor_overview.pdf的第 19 页,他们指出:
Rootkit 和内核黑客的完整性检查:
- 监控系统调用中断和中断处理程序。这将确保核心系统调用不会被篡改。
通过“系统调用中断”我了解SVC(=old SWI)指令执行(如果我错了请纠正我),但通过“监控”我不太确定,因为它可能是实时监控,有时-时间监控或特定事件监控。在我看来,他们可以监控SVC 处理程序以防止通过以下任一方式进行篡改:
- 不时检查 SVC 处理程序(例如计时器中断,因为 IRQ 和 FIQ 可以路由到监控模式) - 类似 PatchGuard 的方法,对我来说似乎不是很有用
- 在SVC 指令执行时检查 SVC 处理程序(=某些事件监控)
- 陷阱SVC 处理程序内存区域写访问(=实时监控)
关于方法 2:是否可以从安全模式捕获非安全 SVC 指令执行?
关于方法 3 :是否可以仅使用安全扩展来挂钩非安全内存区域写入?
首先十分感谢