PT
Intel PT需要Skylake之后的处理器才能在KVM-QEMU下记录客户机的相关包。
Intel-PT does not record any packets when KVM-QEMU is on
IPT for Xen Hypervisor - Luwei Kang
- VMCS packet, 判断记录的是host还是guest的包
虚拟化
- VMX启用Intel PT,
MSR_IA32_VMX_MISC
第14位应该是1 -
IA32_RTIT_CTL
控制追踪操作。如果MSR_IA32_VMX_MISC
第14位是0,VMXON指令将IA32_RTIT_CTL
的TraceEN字段置零,就没有数据写到buffer里。 - CPU把PT输出地址看成GPAs,并且使用EPT进行转译。新的VE qualifications处理Intel PT 输出。
VMX control for Intel PT
- 添加 bits来控制VM Execution, VM Exit, VM Entry
- 产生VMCS包
- 包里标记非根模式
- 控制寄存器存储/恢复VM exit/entry
- 输出buffer地址被看成GPAs并且用EPT转译
VMRAY Rewind
Evasion Attempt Thwarted