SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
1
Xenpwn – Breaking Paravirtualized Devices
Felix Wilhelm
2
#whoami
o Security Researcher @ ERNW Research
o Application and Virtualization Security
o Recent Research
o Security Appliances (Palo Alto, FireEye)
o Hypervisors
o @_fel1x on twitter
3
Agenda
o Device Virtualization & Paravirtualized Devices
o Double Fetch Vulnerabilities
o Xenpwn: Architecture and Design
o Results
o Case Study: Exploiting xen-pciback
4
Device Virtualization
o Virtualized systems need access to virtual
devices
o Disk, Network, Serial, ...
o Traditionally: Device emulation
o Emulate old and well supported hardware
devices
o Guest OS does not need special drivers
o Installation with standard installation sources
supported
5
Paravirtualized Devices
o Most important downsides of emulated devices:
o Hard to implement securely and correctly
o Slow performance
o No support for advanced features
o Solution: Paravirtualized Devices
o Specialized device drivers for use in virtualized systems
o Idea: Emulated devices are only used as fallback mechanism
o Used by all major hypervisors
o Not the same as Xen paravirtualized domains!
6
Paravirtualized Devices
o Split Driver Model
o Frontend runs in Guest system
o Backend in Host/Management domain
o Terminology differs between hypervisors
o VSC / VSP in Hyper-V
o Virtio devices and drivers
o Implementations are quite similar
7
Paravirtualized Devices
o PV devices are implemented on top of shared
memory
o Great Performance
o Easy to implement
o Zero copy algorithms possible
o Message protocols implemented on top
o Xen, Hyper-V and KVM all use ring buffers
o Shared memory mappings can be constant or
created on demand
8
Security of PV Devices
o Backend runs in privileged context è Communication between
frontend and backend is trust boundary
o Low level code + Protocol parsing è Bugs
o Examples
o Heap based buffer overflow in KVM disk backend (CVE-2011-1750)
o Unspecified BO in Hyper-V storage backend (CVE-2015- 2361)
o Not as scrutinized as emulated devices
o Device and hypervisor specific protocols
o Harder to fuzz
9
Very Interesting Target
o Device emulation often done in user space ßà PV backend often
in kernel for higher performance
o Compromise of kernel backend is instant win J
o PV devices are becoming more important
o More device types (USB, PCI pass-through, touch screens, 3D
acceleration)
o More features, optimizations
o Future development:Removal of emulated devices
o see Hyper-V Gen2 VMs
10
Research Goal
o ”Efficient vulnerability discovery in Paravirtualized Devices”
o Core Idea: No published research on the use of shared memory
in the context of PV devices
o Bug class that only affect shared memory? è Double fetches!
11
Double Fetch Vulnerabilities
o Special type of TOCTTOU bug affecting shared memory.
o Simple definition:Same memory address is accessed multiple
times with validation of the accessed data missing on at least one
access
o Can introduce all kinds of vulnerabilities
o Arbitrary Write/Read
o Buffer overflows
o Direct RIP control J
12
Double Fetch Vulnerabilities
o Term “double fetch” was coined by Fermin J. Serna in 2008
o But bug class was well known before that
o Some interesting research published in 2007/2008
o Usenix 2007 “Exploiting Concurrency Vulnerabilities in System Call
Wrappers” - Robert N. M. Watson
o CCC 2007: “From RING 0 to UID 0” and Phrack #64 file 6 – twiz,
sgrakkyu
o First example I could find is sendmsg() linux bug reported in 2005
o Happy to hear about more J
13
Example:
sendmsg()
14
Bochspwn
o “Identifying and Exploiting Windows Kernel
Race Conditions via Memory Access
Patterns” (2013)
o by j00ru and Gynvael Coldwind
o Uses extended version of Bochs CPU
emulator to trace all memory access from
kernel to user space.
15
Bochspwn
o Resulted in significant number of Windows bugs (and a well
deserved Pwnie)
o but not much published follow-up research
o Whitepaper contains detailed analysis on exploitability of double
fetches
o On multi core system even extremely short races are exploitable
o Main inspiration for this research.
16
Example:
Bochspwn
17
Xenpwn
o Adapt memory access tracing approach used by Bochspwn for
analyzing PV device communication.
o Why not simply use Bochspwn?
o Extremely slow
o Passive overhead (no targeted tracing)
o Compatibility issues
o Dumping traces to text files does not scale
o Idea: Implement memory access tracing on top of hardware
assisted virtualization
18
19
Xenpwn Architecture
o Nested virtualization
o Target hypervisor (L1) runs on top of base
hypervisor (L0)
o Analysis components run in user space of L1
management domain.
o No modification to hypervisor required
o Bugs in these components do not crash whole
system
o L0 hypervisor is Xen
20
libVMI
o Great library for virtual machine
introspection (VMI)
o Hypervisor agnostic (Xen and KVM)
o User-space wrapper around hypervisor APIs
o Allows access to and manipulation of guest
state (memory, CPU registers)
o Xen version supports memory events
21
libVMI Memory Events
o Trap on access to a guest physical address
o Implemented on top of Extended Page Tables
(EPT)
o Disallow access to GPA
o Access triggers EPT violation and VM exit
o VM exit is forwarded to libvmi handler
22
Memory Access Tracing with
libvmi
1. Find shared memory pages
2. Register memory event handlers
3. Analyze memory event, extract needed
information and store in trace storage.
4. Run analysis algorithms (can happen much
later)
23
Trace Collector
o Use libvmi to inspect memory and identify shared memory pages
o Target specific code.
o Identify data structures used by PV frontend/backend and addresses
of shared pages
o Registers memory event handlers
o Main work is done in callback handler
o Disassemble instructions using Capstone
24
Callback handler
25
Trace Storage
o Storage needs to be fast and persistent
o Minimize tracing overhead
o Allow for offline analysis
o Nice to have: Efficient compression
o Allows for very long traces
o Tool that fulfills all these requirements:Simutrace
o simutrace.org
26
Simutrace
o Open source project by the Operation System
Group at the Karlsruhe Institute of Technology
o Designed for full system memory tracing
o All memory accesses including their content
o C++ daemon + client library
o Highly efficient communication over shared
memory pages
o Uses specialized compression algorithm
optimized for memory traces
o High compression rate + high speed
o Highly recommended!
27
Trace Entries
For every memory access: For every unique instruction:
28
Double Fetch
Algorithm
Simplified version
29
Advantages & Limitations
o Good:
o Low passive overhead
o Largely target independent
o only Trace collector requires adaption
o Easy to extend and develop
o Bad
o High active overhead
o VM exits are expensive
o Reliance on nested virtualization
30
Nested Virtualization on Xen
o Xen Doku: Nested HVM on Intel CPUs, as of Xen 4.4, is considered
"tech preview". For many common cases, it should work reliably
and with low overhead
o Reality:
o Xen on Xen works
o KVM on Xen works (most of the time)
o Hyper-V on Xen does not work L
31
Results
o KVM: no security critical double fetches
o Main reason seems to be endian independent memory wrappers
o .. but discovered other interesting issues while reading the virtio code
;)
o bhyve: one very interesting result
o Ongoing disclosure process
o Xen: Three interesting double fetches
32
QEMU xen_disk
Normally not
exploitable thanks
to compiler
optimizations
33
xen-blkback
OOB Read/Write
34
xen-pciback
35
xen-pciback: xen_pcibk_do_op
36
xen-pciback
o switch statement is compiled into jump table
o op->cmd == $r13+0x4
o Points into shared memory
o Range check and jump use two different
memory accesses
o Valid compiler optimization
o op is not marked as volatile
37
Exploiting pciback
o Race is very small: 2 Instructions
o But can be reliably won if guest VM has
multiple cores
o Lost race does not have any negative side
effects
o Infinite retries possible
o Simple to trigger
o Send PCI requests while flipping value using
XOR
38
Exploiting pciback
o Indirect jump è No immediate RIP control
o Need to find reliable offset to function pointer
o Load address of xen-pciback.ko is random
o Virtual address of backend mapping also not known
o A lot of similarities to a remote kernel exploit
o Chosen approach: Trigger type confusion to get write primitiv
39
Type Confusion
o Second jump table generated for xen-pciback
o Almost directly behind the jump table
generated for vulnerable function
o XenbusStateInitialized uses value of r13
register as first argument
o Should be a pointer to a xen_pcibk_device
structure
o Is a pointer to the start of the shared memory
page J
40
Getting a write primitve
o xen_pcibk_attach first tries to lock the
dev_lock mutex of referenced structure.
o Gives us the possibility to call mutex_lock
with a fake mutex structure
o mutex_lock
o Fastpath: Switch lock count from 1 -> 0
o Slowpath: Triggered when lock count != 1
41
Getting a write primitive:
mutex_lock slowpath
1. mutex_optimistic_spin needs to fail.
o Can be achieved by setting lock->owner to a
readable zero page
2. If lock count still not 1, mutex_waiter
structure is created and stored on stack
3. mutex_waiter structure is added to lock-
>wait_list and kernel thread goes to sleep
till wake up.
è Pointer to waiter is written to attacker
controlled location.
42
Write Primitive
o write-where but not write-what
o Pointer to pointer to attacker controlled data
o Can‘t simply overwrite function pointers
o One shot
o pciback is locked due to xen_pcibk_do_op
never returning
o Idea: Add faked entries to a global linked list.
o Requires known kernel version + no KASLR or
infoleak
43
list_head.next
list_head.prev
controlled data
fake_prev
entry1.next
entry1.prev
entry2.next
entry2.prev
44
list_head.next
list_head.prev
controlled data
fake_prev
waiter
prev
next
45
Overwrite target
o Global data structure
o Need to know address of list_head
o No new elements should be attached during run time
o list_head.prev is not changed, new entry might be added directly
behind list_head
o Needs to survive one “junk“ entry
o No full control over waiter structure / stack frame
46
47
fs/exec.c: formats
o formats linked list contains entries for different file formats
supported by exec
o ELF
o #! shell scripts
o a.out format
o Walked every time exec* syscall is called to load input file.
o waiter entry is skipped because try_module_get function fails
48
Getting Code Execution
o Set address of load_binary pointer to stack pivot
o ROP chain to allocate executable memory and copy shellcode
o vmalloc_exec + memcpy
o Restore original formats list
o $shellcode
o Return to user space
49
Demo
50
Open Source
o Xenpwn open source release:
o https://github.com/felixwilhelm/xenpwn
o Whitepaper contains a lot more technical details
o Implementation details
o Performance evaluation
o ...
51
Future Work
o Use Xenpwn against Hyper-V and VMWare
o Requires improved support for nested virtualization
o Identify and analyze other shared memory trust boundaries
o Sandboxes?
o What types of bugs can we find with full memory traces?
52
Thanks for your Attention!
Q&A

Contenu connexe

Tendances

Virtual Machine Introspection with Xen
Virtual Machine Introspection with XenVirtual Machine Introspection with Xen
Virtual Machine Introspection with XenTamas K Lengyel
 
Vulnerability desing patterns
Vulnerability desing patternsVulnerability desing patterns
Vulnerability desing patternsPeter Hlavaty
 
Hacktivity 2016: Stealthy, hypervisor based malware analysis
Hacktivity 2016: Stealthy, hypervisor based malware analysisHacktivity 2016: Stealthy, hypervisor based malware analysis
Hacktivity 2016: Stealthy, hypervisor based malware analysisTamas K Lengyel
 
Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Peter Hlavaty
 
Security research over Windows #defcon china
Security research over Windows #defcon chinaSecurity research over Windows #defcon china
Security research over Windows #defcon chinaPeter Hlavaty
 
Metasploit - The Exploit Learning Tree
Metasploit - The Exploit Learning TreeMetasploit - The Exploit Learning Tree
Metasploit - The Exploit Learning TreeE Hacking
 
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Shota Shinogi
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory AnalysisMoabi.com
 
Advanced Evasion Techniques by Win32/Gapz
Advanced Evasion Techniques by Win32/GapzAdvanced Evasion Techniques by Win32/Gapz
Advanced Evasion Techniques by Win32/GapzAlex Matrosov
 
Fun With Dr Brown
Fun With Dr BrownFun With Dr Brown
Fun With Dr BrownzeroSteiner
 
Pitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwarePitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwareTamas K Lengyel
 
Stealthy, Hypervisor-based Malware Analysis
Stealthy, Hypervisor-based Malware AnalysisStealthy, Hypervisor-based Malware Analysis
Stealthy, Hypervisor-based Malware AnalysisTamas K Lengyel
 
Rainbow Over the Windows: More Colors Than You Could Expect
Rainbow Over the Windows: More Colors Than You Could ExpectRainbow Over the Windows: More Colors Than You Could Expect
Rainbow Over the Windows: More Colors Than You Could ExpectPeter Hlavaty
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareCylance
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practicalMoabi.com
 
How to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitHow to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitJiahong Fang
 
Memory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMMemory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMPositive Hack Days
 

Tendances (20)

Virtual Machine Introspection with Xen
Virtual Machine Introspection with XenVirtual Machine Introspection with Xen
Virtual Machine Introspection with Xen
 
Vulnerability desing patterns
Vulnerability desing patternsVulnerability desing patterns
Vulnerability desing patterns
 
Hacktivity 2016: Stealthy, hypervisor based malware analysis
Hacktivity 2016: Stealthy, hypervisor based malware analysisHacktivity 2016: Stealthy, hypervisor based malware analysis
Hacktivity 2016: Stealthy, hypervisor based malware analysis
 
Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!Ice Age melting down: Intel features considered usefull!
Ice Age melting down: Intel features considered usefull!
 
Security research over Windows #defcon china
Security research over Windows #defcon chinaSecurity research over Windows #defcon china
Security research over Windows #defcon china
 
Metasploit - The Exploit Learning Tree
Metasploit - The Exploit Learning TreeMetasploit - The Exploit Learning Tree
Metasploit - The Exploit Learning Tree
 
Code Injection in Windows
Code Injection in WindowsCode Injection in Windows
Code Injection in Windows
 
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
 
Racing with Droids
Racing with DroidsRacing with Droids
Racing with Droids
 
Attack on the Core
Attack on the CoreAttack on the Core
Attack on the Core
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis
 
Advanced Evasion Techniques by Win32/Gapz
Advanced Evasion Techniques by Win32/GapzAdvanced Evasion Techniques by Win32/Gapz
Advanced Evasion Techniques by Win32/Gapz
 
Fun With Dr Brown
Fun With Dr BrownFun With Dr Brown
Fun With Dr Brown
 
Pitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardwarePitfalls of virtual machine introspection on modern hardware
Pitfalls of virtual machine introspection on modern hardware
 
Stealthy, Hypervisor-based Malware Analysis
Stealthy, Hypervisor-based Malware AnalysisStealthy, Hypervisor-based Malware Analysis
Stealthy, Hypervisor-based Malware Analysis
 
Rainbow Over the Windows: More Colors Than You Could Expect
Rainbow Over the Windows: More Colors Than You Could ExpectRainbow Over the Windows: More Colors Than You Could Expect
Rainbow Over the Windows: More Colors Than You Could Expect
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical
 
How to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One ExploitHow to Root 10 Million Phones with One Exploit
How to Root 10 Million Phones with One Exploit
 
Memory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMMemory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMM
 

En vedette

The Future of Video - WistiaFest
The Future of Video - WistiaFestThe Future of Video - WistiaFest
The Future of Video - WistiaFestChris Savage
 
Being Observant
Being ObservantBeing Observant
Being Observantzschro
 
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for Enquiry
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for EnquiryThe Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for Enquiry
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for EnquiryJayson Ang
 
How to create a poll for live classroom meeting times
How to create a poll for live classroom meeting timesHow to create a poll for live classroom meeting times
How to create a poll for live classroom meeting timesMatthew Otremba
 
Csw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCsw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCanSecWest
 
Csw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCsw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCanSecWest
 
Csw2016 economou nissim-getting_physical
Csw2016 economou nissim-getting_physicalCsw2016 economou nissim-getting_physical
Csw2016 economou nissim-getting_physicalCanSecWest
 
Csw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCsw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCanSecWest
 
Csw2016 song li-smart_wars
Csw2016 song li-smart_warsCsw2016 song li-smart_wars
Csw2016 song li-smart_warsCanSecWest
 
Csw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCsw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCanSecWest
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCanSecWest
 
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacketCsw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacketCanSecWest
 
Csw2016 freingruber bypassing_application_whitelisting
Csw2016 freingruber bypassing_application_whitelistingCsw2016 freingruber bypassing_application_whitelisting
Csw2016 freingruber bypassing_application_whitelistingCanSecWest
 
Csw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCsw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCanSecWest
 
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCanSecWest
 
CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCanSecWest
 

En vedette (17)

The Future of Video - WistiaFest
The Future of Video - WistiaFestThe Future of Video - WistiaFest
The Future of Video - WistiaFest
 
Presentation1
Presentation1Presentation1
Presentation1
 
Being Observant
Being ObservantBeing Observant
Being Observant
 
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for Enquiry
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for EnquiryThe Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for Enquiry
The Bridge, Cambodia - Floor Plans - WhatsApp +65 91898321 for Enquiry
 
How to create a poll for live classroom meeting times
How to create a poll for live classroom meeting timesHow to create a poll for live classroom meeting times
How to create a poll for live classroom meeting times
 
Csw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemesCsw2016 gawlik bypassing_differentdefenseschemes
Csw2016 gawlik bypassing_differentdefenseschemes
 
Csw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnologyCsw2016 wang docker_escapetechnology
Csw2016 wang docker_escapetechnology
 
Csw2016 economou nissim-getting_physical
Csw2016 economou nissim-getting_physicalCsw2016 economou nissim-getting_physical
Csw2016 economou nissim-getting_physical
 
Csw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgenerationCsw2016 d antoine_automatic_exploitgeneration
Csw2016 d antoine_automatic_exploitgeneration
 
Csw2016 song li-smart_wars
Csw2016 song li-smart_warsCsw2016 song li-smart_wars
Csw2016 song li-smart_wars
 
Csw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromisedCsw2016 chen grassi-he-apple_graphics_is_compromised
Csw2016 chen grassi-he-apple_graphics_is_compromised
 
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu securityCSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
CSW2017 Qiang li zhibinhu_meiwang_dig into qemu security
 
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacketCsw2016 wheeler barksdale-gruskovnjak-execute_mypacket
Csw2016 wheeler barksdale-gruskovnjak-execute_mypacket
 
Csw2016 freingruber bypassing_application_whitelisting
Csw2016 freingruber bypassing_application_whitelistingCsw2016 freingruber bypassing_application_whitelisting
Csw2016 freingruber bypassing_application_whitelisting
 
Csw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technologyCsw2016 tang virtualization_device emulator testing technology
Csw2016 tang virtualization_device emulator testing technology
 
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_finalCSW2017 Qinghao tang+Xinlei ying vmware_escape_final
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
 
CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
 

Similaire à Breaking Paravirtualized Devices with Xenpwn Double Fetch Vulnerabilities

Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisTamas K Lengyel
 
AV Evasion with the Veil Framework
AV Evasion with the Veil FrameworkAV Evasion with the Veil Framework
AV Evasion with the Veil FrameworkVeilFramework
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopQuey-Liang Kao
 
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisInside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisChong-Kuan Chen
 
Xen Euro Par07
Xen Euro Par07Xen Euro Par07
Xen Euro Par07congvc
 
OpenVZ Linux containers
OpenVZ Linux containersOpenVZ Linux containers
OpenVZ Linux containersOpenVZ
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorAnil Madhavapeddy
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentAndy Lee
 
Issta11
Issta11Issta11
Issta11regehr
 
Larson Macaulay apt_malware_past_present_future_out_of_band_techniques
Larson Macaulay apt_malware_past_present_future_out_of_band_techniquesLarson Macaulay apt_malware_past_present_future_out_of_band_techniques
Larson Macaulay apt_malware_past_present_future_out_of_band_techniquesScott K. Larson
 
An overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyAn overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyOpenVZ
 
An overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyAn overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyOpenVZ
 
The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)Casey Bisson
 
31c3 Presentation - Virtual Machine Introspection
31c3 Presentation - Virtual Machine Introspection31c3 Presentation - Virtual Machine Introspection
31c3 Presentation - Virtual Machine IntrospectionTamas K Lengyel
 
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 MirageOSDocker, Inc.
 
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...CODE BLUE
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Elvin Gentiles
 

Similaire à Breaking Paravirtualized Devices with Xenpwn Double Fetch Vulnerabilities (20)

Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysis
 
AV Evasion with the Veil Framework
AV Evasion with the Veil FrameworkAV Evasion with the Veil Framework
AV Evasion with the Veil Framework
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
 
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisInside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
 
Xen Euro Par07
Xen Euro Par07Xen Euro Par07
Xen Euro Par07
 
Handout2o
Handout2oHandout2o
Handout2o
 
OpenVZ Linux containers
OpenVZ Linux containersOpenVZ Linux containers
OpenVZ Linux containers
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized Environment
 
Issta11
Issta11Issta11
Issta11
 
Larson Macaulay apt_malware_past_present_future_out_of_band_techniques
Larson Macaulay apt_malware_past_present_future_out_of_band_techniquesLarson Macaulay apt_malware_past_present_future_out_of_band_techniques
Larson Macaulay apt_malware_past_present_future_out_of_band_techniques
 
An overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyAn overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technology
 
An overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technologyAn overview of OpenVZ virtualization technology
An overview of OpenVZ virtualization technology
 
The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)
 
31c3 Presentation - Virtual Machine Introspection
31c3 Presentation - Virtual Machine Introspection31c3 Presentation - Virtual Machine Introspection
31c3 Presentation - Virtual Machine Introspection
 
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
 
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...
The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel by...
 
Secure Containers with EPT Isolation
Secure Containers with EPT IsolationSecure Containers with EPT Isolation
Secure Containers with EPT Isolation
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
 

Plus de Priyanka Aash

Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsPriyanka Aash
 
Verizon Breach Investigation Report (VBIR).pdf
Verizon Breach Investigation Report (VBIR).pdfVerizon Breach Investigation Report (VBIR).pdf
Verizon Breach Investigation Report (VBIR).pdfPriyanka Aash
 
Top 10 Security Risks .pptx.pdf
Top 10 Security Risks .pptx.pdfTop 10 Security Risks .pptx.pdf
Top 10 Security Risks .pptx.pdfPriyanka Aash
 
Simplifying data privacy and protection.pdf
Simplifying data privacy and protection.pdfSimplifying data privacy and protection.pdf
Simplifying data privacy and protection.pdfPriyanka Aash
 
Generative AI and Security (1).pptx.pdf
Generative AI and Security (1).pptx.pdfGenerative AI and Security (1).pptx.pdf
Generative AI and Security (1).pptx.pdfPriyanka Aash
 
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdf
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdfEVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdf
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdfPriyanka Aash
 
Cyber Truths_Are you Prepared version 1.1.pptx.pdf
Cyber Truths_Are you Prepared version 1.1.pptx.pdfCyber Truths_Are you Prepared version 1.1.pptx.pdf
Cyber Truths_Are you Prepared version 1.1.pptx.pdfPriyanka Aash
 
Cyber Crisis Management.pdf
Cyber Crisis Management.pdfCyber Crisis Management.pdf
Cyber Crisis Management.pdfPriyanka Aash
 
CISOPlatform journey.pptx.pdf
CISOPlatform journey.pptx.pdfCISOPlatform journey.pptx.pdf
CISOPlatform journey.pptx.pdfPriyanka Aash
 
Chennai Chapter.pptx.pdf
Chennai Chapter.pptx.pdfChennai Chapter.pptx.pdf
Chennai Chapter.pptx.pdfPriyanka Aash
 
Cloud attack vectors_Moshe.pdf
Cloud attack vectors_Moshe.pdfCloud attack vectors_Moshe.pdf
Cloud attack vectors_Moshe.pdfPriyanka Aash
 
Stories From The Web 3 Battlefield
Stories From The Web 3 BattlefieldStories From The Web 3 Battlefield
Stories From The Web 3 BattlefieldPriyanka Aash
 
Lessons Learned From Ransomware Attacks
Lessons Learned From Ransomware AttacksLessons Learned From Ransomware Attacks
Lessons Learned From Ransomware AttacksPriyanka Aash
 
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)Emerging New Threats And Top CISO Priorities In 2022 (Chennai)
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)Priyanka Aash
 
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)Priyanka Aash
 
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)Priyanka Aash
 
Cloud Security: Limitations of Cloud Security Groups and Flow Logs
Cloud Security: Limitations of Cloud Security Groups and Flow LogsCloud Security: Limitations of Cloud Security Groups and Flow Logs
Cloud Security: Limitations of Cloud Security Groups and Flow LogsPriyanka Aash
 
Cyber Security Governance
Cyber Security GovernanceCyber Security Governance
Cyber Security GovernancePriyanka Aash
 

Plus de Priyanka Aash (20)

Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
 
Verizon Breach Investigation Report (VBIR).pdf
Verizon Breach Investigation Report (VBIR).pdfVerizon Breach Investigation Report (VBIR).pdf
Verizon Breach Investigation Report (VBIR).pdf
 
Top 10 Security Risks .pptx.pdf
Top 10 Security Risks .pptx.pdfTop 10 Security Risks .pptx.pdf
Top 10 Security Risks .pptx.pdf
 
Simplifying data privacy and protection.pdf
Simplifying data privacy and protection.pdfSimplifying data privacy and protection.pdf
Simplifying data privacy and protection.pdf
 
Generative AI and Security (1).pptx.pdf
Generative AI and Security (1).pptx.pdfGenerative AI and Security (1).pptx.pdf
Generative AI and Security (1).pptx.pdf
 
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdf
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdfEVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdf
EVERY ATTACK INVOLVES EXPLOITATION OF A WEAKNESS.pdf
 
DPDP Act 2023.pdf
DPDP Act 2023.pdfDPDP Act 2023.pdf
DPDP Act 2023.pdf
 
Cyber Truths_Are you Prepared version 1.1.pptx.pdf
Cyber Truths_Are you Prepared version 1.1.pptx.pdfCyber Truths_Are you Prepared version 1.1.pptx.pdf
Cyber Truths_Are you Prepared version 1.1.pptx.pdf
 
Cyber Crisis Management.pdf
Cyber Crisis Management.pdfCyber Crisis Management.pdf
Cyber Crisis Management.pdf
 
CISOPlatform journey.pptx.pdf
CISOPlatform journey.pptx.pdfCISOPlatform journey.pptx.pdf
CISOPlatform journey.pptx.pdf
 
Chennai Chapter.pptx.pdf
Chennai Chapter.pptx.pdfChennai Chapter.pptx.pdf
Chennai Chapter.pptx.pdf
 
Cloud attack vectors_Moshe.pdf
Cloud attack vectors_Moshe.pdfCloud attack vectors_Moshe.pdf
Cloud attack vectors_Moshe.pdf
 
Stories From The Web 3 Battlefield
Stories From The Web 3 BattlefieldStories From The Web 3 Battlefield
Stories From The Web 3 Battlefield
 
Lessons Learned From Ransomware Attacks
Lessons Learned From Ransomware AttacksLessons Learned From Ransomware Attacks
Lessons Learned From Ransomware Attacks
 
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)Emerging New Threats And Top CISO Priorities In 2022 (Chennai)
Emerging New Threats And Top CISO Priorities In 2022 (Chennai)
 
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)
Emerging New Threats And Top CISO Priorities In 2022 (Mumbai)
 
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)
Emerging New Threats And Top CISO Priorities in 2022 (Bangalore)
 
Cloud Security: Limitations of Cloud Security Groups and Flow Logs
Cloud Security: Limitations of Cloud Security Groups and Flow LogsCloud Security: Limitations of Cloud Security Groups and Flow Logs
Cloud Security: Limitations of Cloud Security Groups and Flow Logs
 
Cyber Security Governance
Cyber Security GovernanceCyber Security Governance
Cyber Security Governance
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Dernier (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Breaking Paravirtualized Devices with Xenpwn Double Fetch Vulnerabilities

  • 1. 1 Xenpwn – Breaking Paravirtualized Devices Felix Wilhelm
  • 2. 2 #whoami o Security Researcher @ ERNW Research o Application and Virtualization Security o Recent Research o Security Appliances (Palo Alto, FireEye) o Hypervisors o @_fel1x on twitter
  • 3. 3 Agenda o Device Virtualization & Paravirtualized Devices o Double Fetch Vulnerabilities o Xenpwn: Architecture and Design o Results o Case Study: Exploiting xen-pciback
  • 4. 4 Device Virtualization o Virtualized systems need access to virtual devices o Disk, Network, Serial, ... o Traditionally: Device emulation o Emulate old and well supported hardware devices o Guest OS does not need special drivers o Installation with standard installation sources supported
  • 5. 5 Paravirtualized Devices o Most important downsides of emulated devices: o Hard to implement securely and correctly o Slow performance o No support for advanced features o Solution: Paravirtualized Devices o Specialized device drivers for use in virtualized systems o Idea: Emulated devices are only used as fallback mechanism o Used by all major hypervisors o Not the same as Xen paravirtualized domains!
  • 6. 6 Paravirtualized Devices o Split Driver Model o Frontend runs in Guest system o Backend in Host/Management domain o Terminology differs between hypervisors o VSC / VSP in Hyper-V o Virtio devices and drivers o Implementations are quite similar
  • 7. 7 Paravirtualized Devices o PV devices are implemented on top of shared memory o Great Performance o Easy to implement o Zero copy algorithms possible o Message protocols implemented on top o Xen, Hyper-V and KVM all use ring buffers o Shared memory mappings can be constant or created on demand
  • 8. 8 Security of PV Devices o Backend runs in privileged context è Communication between frontend and backend is trust boundary o Low level code + Protocol parsing è Bugs o Examples o Heap based buffer overflow in KVM disk backend (CVE-2011-1750) o Unspecified BO in Hyper-V storage backend (CVE-2015- 2361) o Not as scrutinized as emulated devices o Device and hypervisor specific protocols o Harder to fuzz
  • 9. 9 Very Interesting Target o Device emulation often done in user space ßà PV backend often in kernel for higher performance o Compromise of kernel backend is instant win J o PV devices are becoming more important o More device types (USB, PCI pass-through, touch screens, 3D acceleration) o More features, optimizations o Future development:Removal of emulated devices o see Hyper-V Gen2 VMs
  • 10. 10 Research Goal o ”Efficient vulnerability discovery in Paravirtualized Devices” o Core Idea: No published research on the use of shared memory in the context of PV devices o Bug class that only affect shared memory? è Double fetches!
  • 11. 11 Double Fetch Vulnerabilities o Special type of TOCTTOU bug affecting shared memory. o Simple definition:Same memory address is accessed multiple times with validation of the accessed data missing on at least one access o Can introduce all kinds of vulnerabilities o Arbitrary Write/Read o Buffer overflows o Direct RIP control J
  • 12. 12 Double Fetch Vulnerabilities o Term “double fetch” was coined by Fermin J. Serna in 2008 o But bug class was well known before that o Some interesting research published in 2007/2008 o Usenix 2007 “Exploiting Concurrency Vulnerabilities in System Call Wrappers” - Robert N. M. Watson o CCC 2007: “From RING 0 to UID 0” and Phrack #64 file 6 – twiz, sgrakkyu o First example I could find is sendmsg() linux bug reported in 2005 o Happy to hear about more J
  • 14. 14 Bochspwn o “Identifying and Exploiting Windows Kernel Race Conditions via Memory Access Patterns” (2013) o by j00ru and Gynvael Coldwind o Uses extended version of Bochs CPU emulator to trace all memory access from kernel to user space.
  • 15. 15 Bochspwn o Resulted in significant number of Windows bugs (and a well deserved Pwnie) o but not much published follow-up research o Whitepaper contains detailed analysis on exploitability of double fetches o On multi core system even extremely short races are exploitable o Main inspiration for this research.
  • 17. 17 Xenpwn o Adapt memory access tracing approach used by Bochspwn for analyzing PV device communication. o Why not simply use Bochspwn? o Extremely slow o Passive overhead (no targeted tracing) o Compatibility issues o Dumping traces to text files does not scale o Idea: Implement memory access tracing on top of hardware assisted virtualization
  • 18. 18
  • 19. 19 Xenpwn Architecture o Nested virtualization o Target hypervisor (L1) runs on top of base hypervisor (L0) o Analysis components run in user space of L1 management domain. o No modification to hypervisor required o Bugs in these components do not crash whole system o L0 hypervisor is Xen
  • 20. 20 libVMI o Great library for virtual machine introspection (VMI) o Hypervisor agnostic (Xen and KVM) o User-space wrapper around hypervisor APIs o Allows access to and manipulation of guest state (memory, CPU registers) o Xen version supports memory events
  • 21. 21 libVMI Memory Events o Trap on access to a guest physical address o Implemented on top of Extended Page Tables (EPT) o Disallow access to GPA o Access triggers EPT violation and VM exit o VM exit is forwarded to libvmi handler
  • 22. 22 Memory Access Tracing with libvmi 1. Find shared memory pages 2. Register memory event handlers 3. Analyze memory event, extract needed information and store in trace storage. 4. Run analysis algorithms (can happen much later)
  • 23. 23 Trace Collector o Use libvmi to inspect memory and identify shared memory pages o Target specific code. o Identify data structures used by PV frontend/backend and addresses of shared pages o Registers memory event handlers o Main work is done in callback handler o Disassemble instructions using Capstone
  • 25. 25 Trace Storage o Storage needs to be fast and persistent o Minimize tracing overhead o Allow for offline analysis o Nice to have: Efficient compression o Allows for very long traces o Tool that fulfills all these requirements:Simutrace o simutrace.org
  • 26. 26 Simutrace o Open source project by the Operation System Group at the Karlsruhe Institute of Technology o Designed for full system memory tracing o All memory accesses including their content o C++ daemon + client library o Highly efficient communication over shared memory pages o Uses specialized compression algorithm optimized for memory traces o High compression rate + high speed o Highly recommended!
  • 27. 27 Trace Entries For every memory access: For every unique instruction:
  • 29. 29 Advantages & Limitations o Good: o Low passive overhead o Largely target independent o only Trace collector requires adaption o Easy to extend and develop o Bad o High active overhead o VM exits are expensive o Reliance on nested virtualization
  • 30. 30 Nested Virtualization on Xen o Xen Doku: Nested HVM on Intel CPUs, as of Xen 4.4, is considered "tech preview". For many common cases, it should work reliably and with low overhead o Reality: o Xen on Xen works o KVM on Xen works (most of the time) o Hyper-V on Xen does not work L
  • 31. 31 Results o KVM: no security critical double fetches o Main reason seems to be endian independent memory wrappers o .. but discovered other interesting issues while reading the virtio code ;) o bhyve: one very interesting result o Ongoing disclosure process o Xen: Three interesting double fetches
  • 32. 32 QEMU xen_disk Normally not exploitable thanks to compiler optimizations
  • 36. 36 xen-pciback o switch statement is compiled into jump table o op->cmd == $r13+0x4 o Points into shared memory o Range check and jump use two different memory accesses o Valid compiler optimization o op is not marked as volatile
  • 37. 37 Exploiting pciback o Race is very small: 2 Instructions o But can be reliably won if guest VM has multiple cores o Lost race does not have any negative side effects o Infinite retries possible o Simple to trigger o Send PCI requests while flipping value using XOR
  • 38. 38 Exploiting pciback o Indirect jump è No immediate RIP control o Need to find reliable offset to function pointer o Load address of xen-pciback.ko is random o Virtual address of backend mapping also not known o A lot of similarities to a remote kernel exploit o Chosen approach: Trigger type confusion to get write primitiv
  • 39. 39 Type Confusion o Second jump table generated for xen-pciback o Almost directly behind the jump table generated for vulnerable function o XenbusStateInitialized uses value of r13 register as first argument o Should be a pointer to a xen_pcibk_device structure o Is a pointer to the start of the shared memory page J
  • 40. 40 Getting a write primitve o xen_pcibk_attach first tries to lock the dev_lock mutex of referenced structure. o Gives us the possibility to call mutex_lock with a fake mutex structure o mutex_lock o Fastpath: Switch lock count from 1 -> 0 o Slowpath: Triggered when lock count != 1
  • 41. 41 Getting a write primitive: mutex_lock slowpath 1. mutex_optimistic_spin needs to fail. o Can be achieved by setting lock->owner to a readable zero page 2. If lock count still not 1, mutex_waiter structure is created and stored on stack 3. mutex_waiter structure is added to lock- >wait_list and kernel thread goes to sleep till wake up. è Pointer to waiter is written to attacker controlled location.
  • 42. 42 Write Primitive o write-where but not write-what o Pointer to pointer to attacker controlled data o Can‘t simply overwrite function pointers o One shot o pciback is locked due to xen_pcibk_do_op never returning o Idea: Add faked entries to a global linked list. o Requires known kernel version + no KASLR or infoleak
  • 45. 45 Overwrite target o Global data structure o Need to know address of list_head o No new elements should be attached during run time o list_head.prev is not changed, new entry might be added directly behind list_head o Needs to survive one “junk“ entry o No full control over waiter structure / stack frame
  • 46. 46
  • 47. 47 fs/exec.c: formats o formats linked list contains entries for different file formats supported by exec o ELF o #! shell scripts o a.out format o Walked every time exec* syscall is called to load input file. o waiter entry is skipped because try_module_get function fails
  • 48. 48 Getting Code Execution o Set address of load_binary pointer to stack pivot o ROP chain to allocate executable memory and copy shellcode o vmalloc_exec + memcpy o Restore original formats list o $shellcode o Return to user space
  • 50. 50 Open Source o Xenpwn open source release: o https://github.com/felixwilhelm/xenpwn o Whitepaper contains a lot more technical details o Implementation details o Performance evaluation o ...
  • 51. 51 Future Work o Use Xenpwn against Hyper-V and VMWare o Requires improved support for nested virtualization o Identify and analyze other shared memory trust boundaries o Sandboxes? o What types of bugs can we find with full memory traces?
  • 52. 52 Thanks for your Attention! Q&A