SlideShare a Scribd company logo
Advanced Topics in Systems Research
Final Project
資管碩二 R03725019 李士暄
資管碩二 R03725037 李奕德
1
Bridging the Semantic Gap in
Virtualized Environment
Outline
•Problem Definition
•Contribution
•Related Work – Volatility Framework
•QEMU Volatility Interface
•System DEMO
•Performance Evaluation
•Conclusion
2
Problem Definition – Semantic Gap
•In virtualization, it is difficult to
interpreting the low level state
of a VM into high level semantic
state of guest OS.
•This will be a obstacle for system
administrator to real-time
observe, inspect and detect the
runtime execution of a VM.
3
From low level data (memory
address) to high level semantic
data (DLL list)
Contribution
•The aim of project is to generate a complete
view of a guest VM to bridge the semantic gap.
•Features
1. No modification to guest VM, no additional
program installation in guest OS.
2. Support multiple versions of guest OS.
3. Runtime execution introspection to VM.
4
Related Work
•The Volatility is an open source memory
forensics framework.
• Written in Python
• Support Windows, Mac OS X, Linux OS.
• Reference Book - The Art of Memory Forensics
•The Volatility Framework extracts the digital artifacts
from volatile memory samples through some plugins.
• E.g. pslist, dlllist and driverscan etc.
5Volatility Foundation http://www.volatilityfoundation.org/
QEMU Monitor Console
• When QEMU is running, it provides a monitor console
for user to interact with QEMU.
• Commands are defined in hmp-commands.hx and monitor.c
under QEMU source code.
6
But, commands only
provide low level info,
not semantic state of VM.
QEMU-Volatility Interface
• We have developed a command into QEMU monitor
to connect Volatility framework.
• Usage : (QEMU) volatility [profile_OS] [plugin_com] [args]
• Volatility is a command line tool that we can easily
write a script to use it.
• With the function in QEMU, we can dynamically
dump a memory file for a running VM based on VM
memory size.
7
Interface Functionality
• Now, we can leverage volatility to live monitoring guest
OS, including all commands in volatility framework.
• imageinfo
• psscan
• dlldump
• modscan
• thrdscan
• netscan
• Hivedump
• Etc.
8https://code.google.com/p/volatility/wiki/CommandReference22
System DEMO (1/2)
• Example 1.
• “Dlllist” command display a process's loaded DLLs.
9
System DEMO (2/2)
• Example 2.
• “Driverscan” command finds all drivers in the guest OS.
10
Guest OS Support
Windows (32/64 bits) Linux (32/64 bits) Mac OS (32/64 bits)
Windows 2003 SP0,1,2
Linux Kernel
2.6.11 to 4.2.3
10.5.x Leopard
Windows 2008 SP0,SP1 OpenSuSE 10.6.x Snow Leopard
Windows XP SP2, SP3 Ubuntu 10.7.x Lion
Windows Vista SP0,1, 2 Debian 10.8.x Mountain Lion
Windows 7 SP0, SP1 CentOS 10.9.x Mavericks
Windows 8 ,8.1 Fedora 10.10.x Yosemite
Windows 10(init support) Mandriva 10.11.x El Capitan
11
• Volatility supports investigations of the following
memory images:
https://github.com/volatilityfoundation/volatility
Evaluation (1/2)
12
• We perform some testings to our interface.
CPU Intel® Core™ i3 2367M
RAM 6 GB DDR3 1600 MHz
HDD 120 GB SANDISK SSD
Host OS Ubuntu 14.04.1 Kernel 3.16.0
Guest OS Windows 7 SP1 Professional
Evaluation (2/2)
13
This command scan kernel space
memory to find KDBG structure.
• VM : 512 MB RAM
Malware Analysis
• We also perform malware analysis by executing a
malware in VM.
• Malware name : Virus.Win32.HLLP.Lassa.40960
• Trend Micro Engine classified it to worm.
14
http://www.trendmicro.com.ph/vinfo/ph/threat-encyclopedia/archive/malware/worm_lassa.a
Scan for the malicious process
• (QMEU)volatility Win7SP1x64 psscan
15
PID : 1896
Display DLLs loaded by malware
• (QMEU)volatility Win7SP1x64 ldrmodules
16
Detect API hooking
• (QMEU)volatility Win7SP1x64 –p 1896 apihooks
17
Hooked
Information
File/Registry Key used by malware
• (QMEU)volatility Win7SP1x64 handles –p 1896 –t key
• (QMEU)volatility Win7SP1x64 handles –p 1896 –t File
18
Conclusion
• We believed that our interface between QEMU and
volatility is a powerful capability for runtime
inspecting to VM, offering system administrator a
visibility to the state of VM.
19
Open Problem – Semantic Gap
• In virtualization, it is difficult to
interpreting the low level state of a
VM into high level semantic state of
guest OS.
• View exposed by hypervisor is low-level
state (binary state, CPU state, memory
address)
• What we want is high-level state
(processes, files, DLL information)
• It is difficult for security administrator
to real-time observe, inspect and
detect the runtime execution of a VM.
20
From low level data(memory
address) to high level
semantic data (DLL list)
Introduction (1/2)
• Virtual machine (VM) is first proposed in the 1960s and
experiences a revival in the commercial and research
communities.
• With virtual machine technology arises, it provides OS
developer and security researcher a new opportunity to
deploy innovation solution.
• Virtual machine provides many features including
• Equivalent execution: programs running in virtual machine
must run identically to running natively.
• Efficiency: a “statistically dominant” subset of instructions
must be executed directly on the CPU.
• Isolation: a virtual machine must completely control system
resource.
21
Volatility Windows Profiles
• In Volatility source code, it has lots of windows OS profiles
for each version.
• Support Windows 2003, XP, Vista, Win 7, Win 8 profiles.
22
Introduction (2/2)
•Chen, Peter M. and Noble, Brian D.[1] state that
current virtualization technologies are sufferring
from two main challenges.
• One is performance.
• The other is semantic gap.
•Virtual machine introspection (VMI) technique is
the method of inspecting a VM from the “outside”
for analyzing the software running in the machine.
23
Chen, Peter M., and Brian D. Noble. "When virtual is better than real" Hot Topics in Operating
Systems, 2001. Proceedings of the Eighth Workshop on. IEEE, 2001.
Implementation Environment
•Host OS : Ubuntu-14.04.1
• Linux kernel : 3.16.0
•Guest OS : Windows 7 SP1 x64
•We will implement some forensics functionalities
into QEMU-2.3 to traverse guest OS memory.
• A free open-source emulator that performs system
virtualization .
• May use KVM as accelerator.
24
Related Work (2/2)
• LibVMI is an introspection library focused on reading
and writing memory from running VM.
• Support multiple hypervisor, such as Xen, KVM/Qemu.
• Support multiple guest, like x86 and x64 Windows /Linux
• Provides many APIs to access the memory of a VM.
• Libvmi patch QEMU source code to create a server
socket inside QEMU.
• When libvmi need to access VM memory , it uses qemu
monitor command to get the corresponding mapped pages
back.
• With low system performance.
25LibVMI http://libvmi.com/
Process data structure in Window
• E.g. Win7_sp1_x64_vtypes.py (total 9147 Lines)
26
EPROCESS Doubly Linked List
27
• KDBG (Kernel Debugger Block) is kernel symbol
structure maintained by Windows kernel for debugging
purposes.
• KDBG has a reference to the PsActiveProcessHead
which is the list head of all processes required for
process listing.
(Kernel Debugger Block)
Kernel Debugger Block
Data Structure
 KDBG Header will be a constant
signatures in hex value.
 Use windbg in guest OS
to reverse engineering
windows internal.
28
KBDG constant pattern for Win7 x64
• Use kdbgscan plugin to find KDBG address
• Use volshell to hexdump the KDBG
OwnerTag : set to KDBG size : /x40/x03
LISTENTRY64 : last bytes
29
EPROCESS data structure
30
// PID
// Doubly linked list chains active
processes together.
// kernel process control block (contains CR3)
// Process enivornment block
// Process name
// Doubly linked list chains all
the process’ threads together.
// PPID

More Related Content

What's hot

XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
The Linux Foundation
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
Novell
 
kexec / kdump implementation in Linux Kernel and Xen hypervisor
kexec / kdump implementation in Linux Kernel and Xen hypervisorkexec / kdump implementation in Linux Kernel and Xen hypervisor
kexec / kdump implementation in Linux Kernel and Xen hypervisorThe Linux Foundation
 
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
The Linux Foundation
 
Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727
csirac2
 
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
The Linux Foundation
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
OpenCity Community
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
The Linux Foundation
 
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
CODE BLUE
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
vwchu
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
The Linux Foundation
 
Demand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsDemand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMs
Hwanju Kim
 
Current and Future of Non-Volatile Memory on Linux
Current and Future of Non-Volatile Memory on LinuxCurrent and Future of Non-Volatile Memory on Linux
Current and Future of Non-Volatile Memory on Linux
mountpoint.io
 
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan BaljevicUnix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Circling Cycle
 
Xen PV Performance Status and Optimization Opportunities
Xen PV Performance Status and Optimization OpportunitiesXen PV Performance Status and Optimization Opportunities
Xen PV Performance Status and Optimization Opportunities
The Linux Foundation
 

What's hot (20)

XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 
Xen io
Xen ioXen io
Xen io
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
kexec / kdump implementation in Linux Kernel and Xen hypervisor
kexec / kdump implementation in Linux Kernel and Xen hypervisorkexec / kdump implementation in Linux Kernel and Xen hypervisor
kexec / kdump implementation in Linux Kernel and Xen hypervisor
 
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
 
Kernel modules
Kernel modulesKernel modules
Kernel modules
 
Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727
 
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
 
Memory Virtualization
Memory VirtualizationMemory Virtualization
Memory Virtualization
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
 
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di ...
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
 
Demand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsDemand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMs
 
Current and Future of Non-Volatile Memory on Linux
Current and Future of Non-Volatile Memory on LinuxCurrent and Future of Non-Volatile Memory on Linux
Current and Future of Non-Volatile Memory on Linux
 
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan BaljevicUnix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
 
Xen PV Performance Status and Optimization Opportunities
Xen PV Performance Status and Optimization OpportunitiesXen PV Performance Status and Optimization Opportunities
Xen PV Performance Status and Optimization Opportunities
 

Similar to Bridging the Semantic Gap in Virtualized Environment

Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualization
Google
 
17-virtualization.pptx
17-virtualization.pptx17-virtualization.pptx
17-virtualization.pptx
KowsalyaJayakumar2
 
A Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility ArchitectureA Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility Architecture
Shinagawa Laboratory, The University of Tokyo
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0guest72e8c1
 
What's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine ManagerWhat's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine Manager
Tomica Kaniski
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
NETWAYS
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
Anil Madhavapeddy
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
Docker, Inc.
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Takaya Saeki
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
Nicolas De Loof
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
SushantShinde74
 
Cloud-computing.ppt
Cloud-computing.pptCloud-computing.ppt
Cloud-computing.ppt
Ajit Mali
 
Cont0519
Cont0519Cont0519
Cont0519
Samuel Dratwa
 
Secure Containers with EPT Isolation
Secure Containers with EPT IsolationSecure Containers with EPT Isolation
Secure Containers with EPT Isolation
LinuxCon ContainerCon CloudOpen China
 
Kernel Mode Threats and Practical Defenses
Kernel Mode Threats and Practical DefensesKernel Mode Threats and Practical Defenses
Kernel Mode Threats and Practical Defenses
Priyanka Aash
 
State of virtualisation -- 2012
State of virtualisation -- 2012State of virtualisation -- 2012
State of virtualisation -- 2012
Jonathan Sinclair
 
Live VM Migration
Live VM MigrationLive VM Migration
Live VM Migration
Shivam Singh
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
ejlp12
 

Similar to Bridging the Semantic Gap in Virtualized Environment (20)

Linux virtualization
Linux virtualizationLinux virtualization
Linux virtualization
 
17-virtualization.pptx
17-virtualization.pptx17-virtualization.pptx
17-virtualization.pptx
 
A Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility ArchitectureA Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility Architecture
 
RMLL / LSM 2009
RMLL / LSM 2009RMLL / LSM 2009
RMLL / LSM 2009
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0
 
What's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine ManagerWhat's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine Manager
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
 
Handout2o
Handout2oHandout2o
Handout2o
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
 
Cloud-computing.ppt
Cloud-computing.pptCloud-computing.ppt
Cloud-computing.ppt
 
Cont0519
Cont0519Cont0519
Cont0519
 
Secure Containers with EPT Isolation
Secure Containers with EPT IsolationSecure Containers with EPT Isolation
Secure Containers with EPT Isolation
 
Kernel Mode Threats and Practical Defenses
Kernel Mode Threats and Practical DefensesKernel Mode Threats and Practical Defenses
Kernel Mode Threats and Practical Defenses
 
State of virtualisation -- 2012
State of virtualisation -- 2012State of virtualisation -- 2012
State of virtualisation -- 2012
 
Live VM Migration
Live VM MigrationLive VM Migration
Live VM Migration
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
 

Recently uploaded

Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

Bridging the Semantic Gap in Virtualized Environment

  • 1. Advanced Topics in Systems Research Final Project 資管碩二 R03725019 李士暄 資管碩二 R03725037 李奕德 1 Bridging the Semantic Gap in Virtualized Environment
  • 2. Outline •Problem Definition •Contribution •Related Work – Volatility Framework •QEMU Volatility Interface •System DEMO •Performance Evaluation •Conclusion 2
  • 3. Problem Definition – Semantic Gap •In virtualization, it is difficult to interpreting the low level state of a VM into high level semantic state of guest OS. •This will be a obstacle for system administrator to real-time observe, inspect and detect the runtime execution of a VM. 3 From low level data (memory address) to high level semantic data (DLL list)
  • 4. Contribution •The aim of project is to generate a complete view of a guest VM to bridge the semantic gap. •Features 1. No modification to guest VM, no additional program installation in guest OS. 2. Support multiple versions of guest OS. 3. Runtime execution introspection to VM. 4
  • 5. Related Work •The Volatility is an open source memory forensics framework. • Written in Python • Support Windows, Mac OS X, Linux OS. • Reference Book - The Art of Memory Forensics •The Volatility Framework extracts the digital artifacts from volatile memory samples through some plugins. • E.g. pslist, dlllist and driverscan etc. 5Volatility Foundation http://www.volatilityfoundation.org/
  • 6. QEMU Monitor Console • When QEMU is running, it provides a monitor console for user to interact with QEMU. • Commands are defined in hmp-commands.hx and monitor.c under QEMU source code. 6 But, commands only provide low level info, not semantic state of VM.
  • 7. QEMU-Volatility Interface • We have developed a command into QEMU monitor to connect Volatility framework. • Usage : (QEMU) volatility [profile_OS] [plugin_com] [args] • Volatility is a command line tool that we can easily write a script to use it. • With the function in QEMU, we can dynamically dump a memory file for a running VM based on VM memory size. 7
  • 8. Interface Functionality • Now, we can leverage volatility to live monitoring guest OS, including all commands in volatility framework. • imageinfo • psscan • dlldump • modscan • thrdscan • netscan • Hivedump • Etc. 8https://code.google.com/p/volatility/wiki/CommandReference22
  • 9. System DEMO (1/2) • Example 1. • “Dlllist” command display a process's loaded DLLs. 9
  • 10. System DEMO (2/2) • Example 2. • “Driverscan” command finds all drivers in the guest OS. 10
  • 11. Guest OS Support Windows (32/64 bits) Linux (32/64 bits) Mac OS (32/64 bits) Windows 2003 SP0,1,2 Linux Kernel 2.6.11 to 4.2.3 10.5.x Leopard Windows 2008 SP0,SP1 OpenSuSE 10.6.x Snow Leopard Windows XP SP2, SP3 Ubuntu 10.7.x Lion Windows Vista SP0,1, 2 Debian 10.8.x Mountain Lion Windows 7 SP0, SP1 CentOS 10.9.x Mavericks Windows 8 ,8.1 Fedora 10.10.x Yosemite Windows 10(init support) Mandriva 10.11.x El Capitan 11 • Volatility supports investigations of the following memory images: https://github.com/volatilityfoundation/volatility
  • 12. Evaluation (1/2) 12 • We perform some testings to our interface. CPU Intel® Core™ i3 2367M RAM 6 GB DDR3 1600 MHz HDD 120 GB SANDISK SSD Host OS Ubuntu 14.04.1 Kernel 3.16.0 Guest OS Windows 7 SP1 Professional
  • 13. Evaluation (2/2) 13 This command scan kernel space memory to find KDBG structure. • VM : 512 MB RAM
  • 14. Malware Analysis • We also perform malware analysis by executing a malware in VM. • Malware name : Virus.Win32.HLLP.Lassa.40960 • Trend Micro Engine classified it to worm. 14 http://www.trendmicro.com.ph/vinfo/ph/threat-encyclopedia/archive/malware/worm_lassa.a
  • 15. Scan for the malicious process • (QMEU)volatility Win7SP1x64 psscan 15 PID : 1896
  • 16. Display DLLs loaded by malware • (QMEU)volatility Win7SP1x64 ldrmodules 16
  • 17. Detect API hooking • (QMEU)volatility Win7SP1x64 –p 1896 apihooks 17 Hooked Information
  • 18. File/Registry Key used by malware • (QMEU)volatility Win7SP1x64 handles –p 1896 –t key • (QMEU)volatility Win7SP1x64 handles –p 1896 –t File 18
  • 19. Conclusion • We believed that our interface between QEMU and volatility is a powerful capability for runtime inspecting to VM, offering system administrator a visibility to the state of VM. 19
  • 20. Open Problem – Semantic Gap • In virtualization, it is difficult to interpreting the low level state of a VM into high level semantic state of guest OS. • View exposed by hypervisor is low-level state (binary state, CPU state, memory address) • What we want is high-level state (processes, files, DLL information) • It is difficult for security administrator to real-time observe, inspect and detect the runtime execution of a VM. 20 From low level data(memory address) to high level semantic data (DLL list)
  • 21. Introduction (1/2) • Virtual machine (VM) is first proposed in the 1960s and experiences a revival in the commercial and research communities. • With virtual machine technology arises, it provides OS developer and security researcher a new opportunity to deploy innovation solution. • Virtual machine provides many features including • Equivalent execution: programs running in virtual machine must run identically to running natively. • Efficiency: a “statistically dominant” subset of instructions must be executed directly on the CPU. • Isolation: a virtual machine must completely control system resource. 21
  • 22. Volatility Windows Profiles • In Volatility source code, it has lots of windows OS profiles for each version. • Support Windows 2003, XP, Vista, Win 7, Win 8 profiles. 22
  • 23. Introduction (2/2) •Chen, Peter M. and Noble, Brian D.[1] state that current virtualization technologies are sufferring from two main challenges. • One is performance. • The other is semantic gap. •Virtual machine introspection (VMI) technique is the method of inspecting a VM from the “outside” for analyzing the software running in the machine. 23 Chen, Peter M., and Brian D. Noble. "When virtual is better than real" Hot Topics in Operating Systems, 2001. Proceedings of the Eighth Workshop on. IEEE, 2001.
  • 24. Implementation Environment •Host OS : Ubuntu-14.04.1 • Linux kernel : 3.16.0 •Guest OS : Windows 7 SP1 x64 •We will implement some forensics functionalities into QEMU-2.3 to traverse guest OS memory. • A free open-source emulator that performs system virtualization . • May use KVM as accelerator. 24
  • 25. Related Work (2/2) • LibVMI is an introspection library focused on reading and writing memory from running VM. • Support multiple hypervisor, such as Xen, KVM/Qemu. • Support multiple guest, like x86 and x64 Windows /Linux • Provides many APIs to access the memory of a VM. • Libvmi patch QEMU source code to create a server socket inside QEMU. • When libvmi need to access VM memory , it uses qemu monitor command to get the corresponding mapped pages back. • With low system performance. 25LibVMI http://libvmi.com/
  • 26. Process data structure in Window • E.g. Win7_sp1_x64_vtypes.py (total 9147 Lines) 26
  • 27. EPROCESS Doubly Linked List 27 • KDBG (Kernel Debugger Block) is kernel symbol structure maintained by Windows kernel for debugging purposes. • KDBG has a reference to the PsActiveProcessHead which is the list head of all processes required for process listing. (Kernel Debugger Block)
  • 28. Kernel Debugger Block Data Structure  KDBG Header will be a constant signatures in hex value.  Use windbg in guest OS to reverse engineering windows internal. 28
  • 29. KBDG constant pattern for Win7 x64 • Use kdbgscan plugin to find KDBG address • Use volshell to hexdump the KDBG OwnerTag : set to KDBG size : /x40/x03 LISTENTRY64 : last bytes 29
  • 30. EPROCESS data structure 30 // PID // Doubly linked list chains active processes together. // kernel process control block (contains CR3) // Process enivornment block // Process name // Doubly linked list chains all the process’ threads together. // PPID

Editor's Notes

  1. 這裡會打開連結給大家看有哪些commands可用
  2. DEMO部分應該就直接拿QEMU來DEMO,這裡截圖已做為備忘
  3. Volatility source內的profiles
  4. EPROCESS比較詳細的資料結構