Seeing Through the Same Lens: s: Introsp spect cting Guest Address ss Space ce at Na Native Speed
Siqi Zhao*, Xuhua Ding*, Wen Xu◆, Dawu Gu◇ * Singapore Management University
◆ Georgia Institute of Technology ◇ Shanghai JiaoTong University 1
Speed Siqi Zhao *, Xuhua Ding*, Wen Xu , Dawu Gu * Singapore - - PowerPoint PPT Presentation
Seeing Through the Same Lens: s: Introsp spect cting Guest Address ss Space ce at Na Native Speed Siqi Zhao *, Xuhua Ding*, Wen Xu , Dawu Gu * Singapore Management University Georgia Institute of Technology Shanghai JiaoTong
Siqi Zhao*, Xuhua Ding*, Wen Xu◆, Dawu Gu◇ * Singapore Management University
◆ Georgia Institute of Technology ◇ Shanghai JiaoTong University 1
2
3
Live Target VM
4
GPT EPT Physical Memory task_struct at 0xC0001000 VMI Tool
VA: 0xC0001000 GPA: 0x1000 HPA: 0xFE000 ptr = 0xFE000
task_struct at 0xFE000 Goal: res = task_struct
5
Live Target VM
6
GPT EPT Physical Memory VMI Tool
VA: 0xC0001000
task_struct at 0xFE000
GPA: 0x1000
GPA Space task_struct at 0x1000 task_struct at 0x2000 task_struct at 0xC0001000
7
8
CR3 Target frames
RO NX
GPT EPT CR3 Target VM ImEE memory memory Cloned EPT
VA: 0xC0001000 VA: 0xC0001000 GPA: 0x1000 GPA: 0x1000 HPA: 0xFE000
9
CR3 Target frames
RO NX
GPT EPT CR3 Target VM ImEE memory memory EPTT EPTc data code Cloned EPT
10
CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory
CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory
11
12
CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory
mov (0x1000), %eax 0xBFF0:
13
CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory
14
CR3 Target frames
RO NX
GPT Local GPT data code EPT EPTT EPTC EPT CR3 CR3 Target address space Local address space Target VM ImEE memory memory
mov %eax, (0x2000) 0xBFFA:
15
16
17
CR3 Target frames GPT code EPT EPTT EPTC CR3 Target VM ImEE memory
VA: 0xC0001000 GPA: 0x1000 HPA: 0xBFF0 HPA: 0xFE000
18
19
20
21
ImEE LibVMI Speedup Launch time 97 μs 100 ms 1031 times Activation time 3.2 μs
22
# of Bytes ImEE LibVMI (μs) Speedup 4 0.353 18.4 52 times 64 0.358 18.5 52 times 128 0.389 18.4 47 times 512 1.643 18.9 11 times 1024 1.715 38.1 22 times
23
24
Kernel (μs) LibVMI / KVM (μs) LibVMI / Xen (μs) ImEE (μs) Speedup (KVM) Speedup (Xen)
syscalldmp 0.2 28.2 43 2.9 9 times 15 times pidlist 10 5887 2180 31.6 186 times 68 times pslist 10.4 8319 1477 38.6 215 times 38 times credlist 25.3 8234 2274 25.6 321 times 88 times
25
LibVMI ImEE Speedup Scanning all VMs 561 ms 377 μs 1400 times Switching target VM 19 ms 4.4 μs 4300 times
26
27