Xen必须在Guest OS内核代码中处理non-virtualizable instructions。
但是如果我的用户空间代码包含这样的指令(例如,将GDT信息存储到内存中的SGDT)怎么办?我的代码是否仍能在具有Xen半虚拟化的来宾虚拟机中顺利运行?它是否会显示主持人的GDT信息(从而成为一些关注点)?
此外,任何人都可以向我展示如何处理来宾内核中的SGDT(以及其他非虚拟化指令)的代码/详细信息吗?
答案 0 :(得分:2)
https://xenbits.xen.org/docs/xtf/test-umip.html
在新的CPU功能出现之前,这确实是一个漏洞:
用户模式指令防护(UMIP)是新英特尔处理器中的一项功能。
当激活时,它会导致SGDT,SIDT,SLDT,STR和SMSW指令在使用CPL执行时产生#GP>这可以防止用户空间应用程序获取敏感的操作系统信息。
=============================================== ==================
似乎安全社区的人认真对待这件事: On the Cutting Edge: Thwarting Virtual Machine Detection, 2006