SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Introduction Network path Bootloader Device model Xen Conclusion
Securing Your Cloud with Xen Project’s
Advanced Security Features
Russell Pavlicek, Xen Project Evangelist
CloudOpen North America 2013
Introduction Network path Bootloader Device model Xen Conclusion
Who is the Old, Fat Geek Up Front?
Xen Project Evangelist
Employed by Citrix, focused entirely on the Xen Project
History with Open Source begins in 1997
Former columnist with Infoworld, Processor magazines
Former panelist on The Linux Show webcast, repeat guest on
The Linux Link Tech Show
Over 150 pieces published, plus one book on Open Source
development and several blogs
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 2 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Introduction: Xen Project and Security
Xen Project is an enterprise-grade Type I hypervisor
Built for the Cloud before it was called the Cloud
A number of advanced security features
Driver Domains, Stub Domains, FLASK, and more
Most of them are not (or cannot) be turned on by default
Although they are simple to use, sometimes they can appear
to be complicated
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 3 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Presentation Goals
Introduce you to key Xen Project Security Tools
Discuss some key Xen security features
Get you started in the right direction toward securing your
Xen installation
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 4 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Presentation Outline
A few thoughts on the problem of securing the Cloud
Overview of the Xen architecture
Brief introduction to principles of security analysis
Consider some attack surfaces and Xen features we can use to
mitigate them:
Driver Domains
PVgrub
Stub Domains
Paravirtualization (PV) mode vs Hardware Virtualization
(HVM) mode
FLASK example policy
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 5 / 32
Introduction Network path Bootloader Device model Xen Conclusion
The Cloud Security Conundrum
Security: The 800 pound gorilla of the Cloud world
Nothing generates more fear in specific, and FUD in general
Probably the single greatest barrier to Cloud adoption
Immediately behind it is the inability to get out of a 20th
century IT mindset (i.e., ”Change is Bad”)
The good news: we don’t need to fear it – we just need to
solve it
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 6 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Cloud Security: New Visibility to Old Problem
Security has always been an issue
Putting a truly secure system in the open does not reduce its
security, just increases the frequency of attack
Unfortunately, system security behind the firewall has not
always been comprehensive
Having solutions in Clouds forces us to solve the security
issues we should have already solved
Security through obscurity is no longer sufficient
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 7 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security by Design, not by Wishful Thinking
Security by Wishful Thinking is Officially Dead
Merely hoping that your firewall holds off the marauding
hordes is NOT good enough
Addressing security in one area while ignoring others is NOT
good enough
Saying, ”We’ve never had a problem before” is NOT good
enough
Comprehensive security starts with design
It needs to planned and carefully thought through
It needs to be implemented at multiple levels
It needs components which are themselves securable
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 8 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Xen Project: Security by Design
Xen Project was designed for Clouds before the term ”Cloud”
was coined in the industry
Designers foresaw the day of an ”infrastructure for wide-area
distributed computing” which we now call ”the Cloud”
http://www.cl.cam.ac.uk/research
/srg/netos/xeno/publications.html
Xen is designed to thwart attacks from many attack vectors,
using different defensive techniques
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 9 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Xen Architecture: A Basic Picture
Xen Hypervisor
Hardware
device model
(qemu)
toolstack
dom 0
Hardware
Drivers
I/O Devices CPU Memory
Paravirtualized
(PV)
Domain
Fully
Virtualized
(HVM)
Domainnetback
blkback
netfront
blkfront
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 10 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security Overview
Threat Models:
Attacker can access network
Attacker controls one Guest VM
Security considerations to evaluate:
How much code is accessible?
What is the interface like? (e.g., pointers vs scalars)
Defense-in-depth
Then combine security tactics to secure the installation
There is no single ”magic bullet”
Individual tactics reduce danger; combined tactics go even
farther
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 11 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Example System, for our Discussion
Hardware setup
Two networks: one Control network, one Guest network
IOMMU with interrupt remapping (AMD or Intel VT-d v2) to
allow for full Hardware Virtualization (HVM)
Default configuration
Network drivers in the Control Domain (aka ”Domain 0” or
just ”Dom0”)
Paravirtualized (PV) guests using PyGrub (grub-like boot
utility within context of Guest Domain)
Hardware Virtualized (HVM) guests using Qemu (as the device
model) running in the Control Domain
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 12 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: Network path
Xen Hypervisor
Hardware
toolstackdom 0
NIC
Driver
Control NIC
Rogue
Domain
netback netfront
Guest NIC
bridgeiptables
Domain
netfront
Where might an exploit focus?
Bugs in hardware driver
Bugs in bridging / filtering
Bugs in netback (via the ring protocol)
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 13 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: Network path
Xen Hypervisor
Hardware
toolstackdom 0
NIC
Driver
Control NIC
Rogue
Domain
netback netfront
Guest NIC
bridgeiptables
Domain
netfront
What could a successful exploit yield?
Control of Domain 0 kernel
Pretty much control of the whole system
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 14 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security feature: Driver Domains
Xen Hypervisor
Hardware
toolstack
dom 0
NIC
Driver
Control NIC
Rogue
Domain
netback
netfront
Guest NIC
bridgeiptables
Domain
netfront
NIC
Driver
Driver Domain
What is a Driver Domain?
Unprivileged VM which drives hardware, provides access to
guests
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 15 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security feature: Driver Domains
Xen Hypervisor
Hardware
toolstack
dom 0
NIC
Driver
Control NIC
Rogue
Domain
netback
netfront
Guest NIC
bridgeiptables
Domain
netfront
NIC
Driver
Driver Domain
Now a successful exploit could yield:
Control of the Driver Domain (PV hypercall interface)
Control of that guest’s network traffic
Control of NIC
An opportunity to attack netfront of other guests
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 16 / 32
Introduction Network path Bootloader Device model Xen Conclusion
HowTo: Driver Domains
Create a VM with appropriate drivers
Use any distribution suitable as a Control Domain
Install the Xen-related hotplug scripts
Just installing the Xen tools in the VM is usually good enough
Give the VM access to the physical NIC with PCI pass-through
Configure the network topology in the Driver domain
Just like you would for the Control Domain
Configure the guest Virtual Network Interface (vif) to use the
new domain ID
Add backend=domnet to vif declaration
vif = [ ’type=pv, bridge=xenbr0, backend=domnet’ ]
http://wiki.xenproject.org/wiki/Driver Domain
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 17 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: PyGrub
Xen Hypervisor
toolstackdom 0
Paravirtualized
(PV)
Domain
domain
builder
pygrub
guest
disk
What is PyGrub?
grub implementation for PV guests
Python program running in Control Domain
Reads guest filesystem, parses grub.conf, shows menu
Passes resulting kernel image to domain builder
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 18 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: PyGrub
Xen Hypervisor
toolstackdom 0
Paravirtualized
(PV)
Domain
domain
builder
pygrub
guest
disk
Where might an exploit focus?
Bugs in file system parser
Bugs in menu parser
Bugs in domain builder
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 19 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: PyGrub
Xen Hypervisor
toolstackdom 0
Paravirtualized
(PV)
Domain
domain
builder
pygrub
guest
disk
kernel
What could a successful exploit yield?
Control of Domain 0 user space
Pretty much control of the whole system
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 20 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security practice: Fixed kernels
Xen Hypervisor
toolstackdom 0
Paravirtualized
(PV)
Domain
domain
builder
kernel
image
guest
disk
What is a fixed kernel?
Passing a known-good kernel from Control Domain
Removes attacker avenue to domain builder
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 21 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security practice: Fixed kernels
Xen Hypervisor
toolstackdom 0
Paravirtualized
(PV)
Domain
domain
builder
kernel
image
guest
disk
Disadvantages
Host admin must keep up with kernel updates
Guest admin can’t pass kernel parameters, custom kernels,
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 22 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security feature: PVgrub
Xen Hypervisor
toolstackdom 0
domain
builder
guest
disk
MiniOS
pvgrub
What is PVgrub?
MiniOS + PV port of grub running in a guest context
PV equivalent of HVM “BIOS + grub”
Now a successful exploit could yield:
Control of the attacked guest domain alone
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 23 / 32
Introduction Network path Bootloader Device model Xen Conclusion
HowTo: PVgrub
Make sure that you have the PVgrub image
pvgrub-$ARCH.gz
Normally lives in /usr/lib/xen/boot
Included in Fedora Xen packages
Debian-based: need to build yourself
Use appropriate PVgrub as bootloader in guest configuration
kernel="/usr/lib/xen/boot/pvgrub-x86_32.gz"
http://wiki.xenproject.org/wiki/Pvgrub
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 24 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack surface: Device model (Qemu)
Where might an exploit focus?
Bugs in NIC emulator parsing packets
Bugs in emulation of virtual devices
What could a successful exploit yield?
Control Domain privileged userspace
Pretty much control of the whole system
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 25 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security feature: Qemu stub domains
What is a stub domain?
Stub domain: a small “service” domain running just one
application
Qemu stub domain: run each Qemu in its own domain
What could a successful exploit yield?
Control only of the stub domain VM (which, if FLASK is
employed, is a relatively small universe)
You need to devise another attack entirely to do anything
more significant
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 26 / 32
Introduction Network path Bootloader Device model Xen Conclusion
HowTo: Qemu stub domains
Make sure that you have the PVgrub image:
ioemu-$ARCH.gz
Normally lives in /usr/lib/xen/boot
Included in Fedora Xen packages
On Debian (and offshoots), you will need to build it yourself
Specify stub domains in your guest config
device_model_stubdomain_override = 1
http://wiki.xenproject.org/wiki/Device Model Stub Domains
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 27 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Attack Surface: Xen Hypervisor itself
Where might an exploit focus?
On Paravirtualized (PV) Guests:
PV Hypercalls
On full Hardware Virtualized (HVM) Guests:
HVM hypercalls (Subset of PV hypercalls)
Instruction emulation (MMIO, shadow pagetables)
Emulated platform devices: APIC, HPET, PIT
Nested virtualization
Security practice: Use PV VMs whenever possible
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 28 / 32
Introduction Network path Bootloader Device model Xen Conclusion
Security feature: FLASK example policy
What is FLASK?
Xen Security Module (XSM): Xen equivalent of LSM
FLASK: Framework for XSM developed by NSA
Xen equivalent of SELinux
Uses same concepts and tools as SELinux
Allows a policy to restrict hypercalls
What can FLASK do?
Basic: Restricts hypercalls to those needed by a particular
guest
Advanced: Allows more fine-grained granting of privileges
FLASK example policy
This contains example roles for the Control Domain (dom0),
User/Guest Domain(domU), stub domains, driver domains,
etc.
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 29 / 32
Introduction Network path Bootloader Device model Xen Conclusion
HowTo: Use the example FLASK policy
Build Xen with XSM enabled
Build the example policy
Add the appropriate label to guest config files
seclabel=[foo]
stubdom label=[foo]
Make sure you TEST the example policy in your environment
BEFORE putting it into production!
NOTE: As an example policy, it is not as rigorously tested as
other parts of Xen during release, and it may not be suitable
as-is if you are doing unusual things
http://wiki.xenproject.org/wiki
/Xen Security Modules : XSM-FLASK
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 30 / 32
Introduction Network path Bootloader Device model Xen Conclusion
ARM: Right solution for security
Stays in ARM Hypervisor Mode
The ARM architecture has separate Hypervisor and Kernel
modes
Because Xen’s architecture maps so well to the ARM
architecture, Xen never has to use Kernel mode
Other hypervisors have to flip back and forth between modes
If a hypervisor has to enter Kernel mode, it loses the security
of running in a privileged mode, isolated from the rest of the
system
This is a non-issue with the Xen Hypervisor on ARM
Does not need to use device emulation
No emulation means a smaller attack surface for bad guys
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 31 / 32
Introduction Network path Bootloader Device model Xen Conclusion
For More Information...
Details at http://wiki.xenproject.org/wiki/Securing Xen
Thanks to George Dunlap for supplying much of the information
presented here, and Stefano Stabellini for ARM information
Check out our blog: http://blog.xenproject.org/
Contact me at russell.pavlicek@xenproject.org
——————————–
Thank You!
CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 32 / 32

Mais conteúdo relacionado

Mais procurados

LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
The Linux Foundation
 
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary sessionLinaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
The Linux Foundation
 
Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013
The Linux Foundation
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
Todd Deshane
 

Mais procurados (20)

LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
 
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary sessionLinaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
 
LFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and BeyondLFCOLLAB15: Xen 4.5 and Beyond
LFCOLLAB15: Xen 4.5 and Beyond
 
Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013
 
Why xen slides
Why xen slidesWhy xen slides
Why xen slides
 
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
LF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and FuturesLF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and Futures
 
Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008Ian Pratt Nsdi Keynote Apr2008
Ian Pratt Nsdi Keynote Apr2008
 
LCEU14: Integrating Linux and the Real-Time ERIKA OS Through the Xen Hypervis...
LCEU14: Integrating Linux and the Real-Time ERIKA OS Through the Xen Hypervis...LCEU14: Integrating Linux and the Real-Time ERIKA OS Through the Xen Hypervis...
LCEU14: Integrating Linux and the Real-Time ERIKA OS Through the Xen Hypervis...
 
Xen io
Xen ioXen io
Xen io
 
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
 
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, IntelXPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
XPDS13: HVM Dom0 - Any unmodified OS as Dom0 - Will Auld, Intel
 
OWF: Xen - Open Source Hypervisor Designed for Clouds
OWF: Xen - Open Source Hypervisor Designed for CloudsOWF: Xen - Open Source Hypervisor Designed for Clouds
OWF: Xen - Open Source Hypervisor Designed for Clouds
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
 
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
 
Using and Understanding Xen4Centos
Using and Understanding Xen4CentosUsing and Understanding Xen4Centos
Using and Understanding Xen4Centos
 
BSDcon Asia 2015: Xen on FreeBSD
BSDcon Asia 2015: Xen on FreeBSDBSDcon Asia 2015: Xen on FreeBSD
BSDcon Asia 2015: Xen on FreeBSD
 

Semelhante a Securing Your Cloud with Xen (CloudOpen NA 2013)

Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
Puppet
 
Constellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz EckertConstellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz Eckert
ContainerDay Security 2023
 
Constellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz EckertConstellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz Eckert
ContainerDay Security 2023
 

Semelhante a Securing Your Cloud with Xen (CloudOpen NA 2013) (20)

Build-a-Cloud Day - Securing Your Cloud with Xen
Build-a-Cloud Day - Securing Your Cloud with XenBuild-a-Cloud Day - Securing Your Cloud with Xen
Build-a-Cloud Day - Securing Your Cloud with Xen
 
Scale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen HypervisorScale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen Hypervisor
 
LFNW2014 Advanced Security Features of Xen Project Hypervisor
LFNW2014 Advanced Security Features of Xen Project HypervisorLFNW2014 Advanced Security Features of Xen Project Hypervisor
LFNW2014 Advanced Security Features of Xen Project Hypervisor
 
Scale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zoneScale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zone
 
Xen Project 15 Years down the Line
Xen Project 15 Years down the LineXen Project 15 Years down the Line
Xen Project 15 Years down the Line
 
Securing your cloud with Xen's advanced security features
Securing your cloud with Xen's advanced security featuresSecuring your cloud with Xen's advanced security features
Securing your cloud with Xen's advanced security features
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
CIF16/Scale14x: The latest from the Xen Project (Lars Kurth, Chairman of Xen ...
 
Europe Cloud Summit - Security hardening of public cloud services
Europe Cloud Summit - Security hardening of public cloud servicesEurope Cloud Summit - Security hardening of public cloud services
Europe Cloud Summit - Security hardening of public cloud services
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package manager
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David Nalley
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingCrash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
Building a Hyper Secure VPC on AWS with Puppet
Building a Hyper Secure VPC on AWS with PuppetBuilding a Hyper Secure VPC on AWS with Puppet
Building a Hyper Secure VPC on AWS with Puppet
 
Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
Building a Hyper-Secure VPC on AWS with Puppet - PuppetConf 2013
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Internship presentation
Internship presentationInternship presentation
Internship presentation
 
VMworld 2014: How to Build a Hybrid Cloud
VMworld 2014: How to Build a Hybrid CloudVMworld 2014: How to Build a Hybrid Cloud
VMworld 2014: How to Build a Hybrid Cloud
 
Constellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz EckertConstellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz Eckert
 
Constellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz EckertConstellation - The first always encrypted Kubernetes by Moritz Eckert
Constellation - The first always encrypted Kubernetes by Moritz Eckert
 

Mais de Russell Pavlicek

OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
Russell Pavlicek
 

Mais de Russell Pavlicek (7)

OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
 
Geek Empowerment - The Real Heart of Open Source
Geek Empowerment - The Real Heart of Open SourceGeek Empowerment - The Real Heart of Open Source
Geek Empowerment - The Real Heart of Open Source
 
FOSS Project Perception Management Checklist
FOSS Project Perception Management ChecklistFOSS Project Perception Management Checklist
FOSS Project Perception Management Checklist
 
openSUSE Summit-15 Years of Open Source: It's About the People
openSUSE Summit-15 Years of Open Source: It's About the PeopleopenSUSE Summit-15 Years of Open Source: It's About the People
openSUSE Summit-15 Years of Open Source: It's About the People
 
CPOSC 2013: 15 Years of Open Source - It's About the People
CPOSC 2013: 15 Years of Open Source - It's About the PeopleCPOSC 2013: 15 Years of Open Source - It's About the People
CPOSC 2013: 15 Years of Open Source - It's About the People
 
Lessons Learned from Xen (Texas Linux Fest 2013)
Lessons Learned from Xen (Texas Linux Fest 2013)Lessons Learned from Xen (Texas Linux Fest 2013)
Lessons Learned from Xen (Texas Linux Fest 2013)
 
Lessons Learned from Xen [LFNW 2013]
Lessons Learned from Xen [LFNW 2013]Lessons Learned from Xen [LFNW 2013]
Lessons Learned from Xen [LFNW 2013]
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Securing Your Cloud with Xen (CloudOpen NA 2013)

  • 1. Introduction Network path Bootloader Device model Xen Conclusion Securing Your Cloud with Xen Project’s Advanced Security Features Russell Pavlicek, Xen Project Evangelist CloudOpen North America 2013
  • 2. Introduction Network path Bootloader Device model Xen Conclusion Who is the Old, Fat Geek Up Front? Xen Project Evangelist Employed by Citrix, focused entirely on the Xen Project History with Open Source begins in 1997 Former columnist with Infoworld, Processor magazines Former panelist on The Linux Show webcast, repeat guest on The Linux Link Tech Show Over 150 pieces published, plus one book on Open Source development and several blogs CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 2 / 32
  • 3. Introduction Network path Bootloader Device model Xen Conclusion Introduction: Xen Project and Security Xen Project is an enterprise-grade Type I hypervisor Built for the Cloud before it was called the Cloud A number of advanced security features Driver Domains, Stub Domains, FLASK, and more Most of them are not (or cannot) be turned on by default Although they are simple to use, sometimes they can appear to be complicated CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 3 / 32
  • 4. Introduction Network path Bootloader Device model Xen Conclusion Presentation Goals Introduce you to key Xen Project Security Tools Discuss some key Xen security features Get you started in the right direction toward securing your Xen installation CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 4 / 32
  • 5. Introduction Network path Bootloader Device model Xen Conclusion Presentation Outline A few thoughts on the problem of securing the Cloud Overview of the Xen architecture Brief introduction to principles of security analysis Consider some attack surfaces and Xen features we can use to mitigate them: Driver Domains PVgrub Stub Domains Paravirtualization (PV) mode vs Hardware Virtualization (HVM) mode FLASK example policy CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 5 / 32
  • 6. Introduction Network path Bootloader Device model Xen Conclusion The Cloud Security Conundrum Security: The 800 pound gorilla of the Cloud world Nothing generates more fear in specific, and FUD in general Probably the single greatest barrier to Cloud adoption Immediately behind it is the inability to get out of a 20th century IT mindset (i.e., ”Change is Bad”) The good news: we don’t need to fear it – we just need to solve it CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 6 / 32
  • 7. Introduction Network path Bootloader Device model Xen Conclusion Cloud Security: New Visibility to Old Problem Security has always been an issue Putting a truly secure system in the open does not reduce its security, just increases the frequency of attack Unfortunately, system security behind the firewall has not always been comprehensive Having solutions in Clouds forces us to solve the security issues we should have already solved Security through obscurity is no longer sufficient CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 7 / 32
  • 8. Introduction Network path Bootloader Device model Xen Conclusion Security by Design, not by Wishful Thinking Security by Wishful Thinking is Officially Dead Merely hoping that your firewall holds off the marauding hordes is NOT good enough Addressing security in one area while ignoring others is NOT good enough Saying, ”We’ve never had a problem before” is NOT good enough Comprehensive security starts with design It needs to planned and carefully thought through It needs to be implemented at multiple levels It needs components which are themselves securable CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 8 / 32
  • 9. Introduction Network path Bootloader Device model Xen Conclusion Xen Project: Security by Design Xen Project was designed for Clouds before the term ”Cloud” was coined in the industry Designers foresaw the day of an ”infrastructure for wide-area distributed computing” which we now call ”the Cloud” http://www.cl.cam.ac.uk/research /srg/netos/xeno/publications.html Xen is designed to thwart attacks from many attack vectors, using different defensive techniques CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 9 / 32
  • 10. Introduction Network path Bootloader Device model Xen Conclusion Xen Architecture: A Basic Picture Xen Hypervisor Hardware device model (qemu) toolstack dom 0 Hardware Drivers I/O Devices CPU Memory Paravirtualized (PV) Domain Fully Virtualized (HVM) Domainnetback blkback netfront blkfront CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 10 / 32
  • 11. Introduction Network path Bootloader Device model Xen Conclusion Security Overview Threat Models: Attacker can access network Attacker controls one Guest VM Security considerations to evaluate: How much code is accessible? What is the interface like? (e.g., pointers vs scalars) Defense-in-depth Then combine security tactics to secure the installation There is no single ”magic bullet” Individual tactics reduce danger; combined tactics go even farther CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 11 / 32
  • 12. Introduction Network path Bootloader Device model Xen Conclusion Example System, for our Discussion Hardware setup Two networks: one Control network, one Guest network IOMMU with interrupt remapping (AMD or Intel VT-d v2) to allow for full Hardware Virtualization (HVM) Default configuration Network drivers in the Control Domain (aka ”Domain 0” or just ”Dom0”) Paravirtualized (PV) guests using PyGrub (grub-like boot utility within context of Guest Domain) Hardware Virtualized (HVM) guests using Qemu (as the device model) running in the Control Domain CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 12 / 32
  • 13. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: Network path Xen Hypervisor Hardware toolstackdom 0 NIC Driver Control NIC Rogue Domain netback netfront Guest NIC bridgeiptables Domain netfront Where might an exploit focus? Bugs in hardware driver Bugs in bridging / filtering Bugs in netback (via the ring protocol) CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 13 / 32
  • 14. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: Network path Xen Hypervisor Hardware toolstackdom 0 NIC Driver Control NIC Rogue Domain netback netfront Guest NIC bridgeiptables Domain netfront What could a successful exploit yield? Control of Domain 0 kernel Pretty much control of the whole system CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 14 / 32
  • 15. Introduction Network path Bootloader Device model Xen Conclusion Security feature: Driver Domains Xen Hypervisor Hardware toolstack dom 0 NIC Driver Control NIC Rogue Domain netback netfront Guest NIC bridgeiptables Domain netfront NIC Driver Driver Domain What is a Driver Domain? Unprivileged VM which drives hardware, provides access to guests CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 15 / 32
  • 16. Introduction Network path Bootloader Device model Xen Conclusion Security feature: Driver Domains Xen Hypervisor Hardware toolstack dom 0 NIC Driver Control NIC Rogue Domain netback netfront Guest NIC bridgeiptables Domain netfront NIC Driver Driver Domain Now a successful exploit could yield: Control of the Driver Domain (PV hypercall interface) Control of that guest’s network traffic Control of NIC An opportunity to attack netfront of other guests CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 16 / 32
  • 17. Introduction Network path Bootloader Device model Xen Conclusion HowTo: Driver Domains Create a VM with appropriate drivers Use any distribution suitable as a Control Domain Install the Xen-related hotplug scripts Just installing the Xen tools in the VM is usually good enough Give the VM access to the physical NIC with PCI pass-through Configure the network topology in the Driver domain Just like you would for the Control Domain Configure the guest Virtual Network Interface (vif) to use the new domain ID Add backend=domnet to vif declaration vif = [ ’type=pv, bridge=xenbr0, backend=domnet’ ] http://wiki.xenproject.org/wiki/Driver Domain CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 17 / 32
  • 18. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: PyGrub Xen Hypervisor toolstackdom 0 Paravirtualized (PV) Domain domain builder pygrub guest disk What is PyGrub? grub implementation for PV guests Python program running in Control Domain Reads guest filesystem, parses grub.conf, shows menu Passes resulting kernel image to domain builder CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 18 / 32
  • 19. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: PyGrub Xen Hypervisor toolstackdom 0 Paravirtualized (PV) Domain domain builder pygrub guest disk Where might an exploit focus? Bugs in file system parser Bugs in menu parser Bugs in domain builder CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 19 / 32
  • 20. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: PyGrub Xen Hypervisor toolstackdom 0 Paravirtualized (PV) Domain domain builder pygrub guest disk kernel What could a successful exploit yield? Control of Domain 0 user space Pretty much control of the whole system CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 20 / 32
  • 21. Introduction Network path Bootloader Device model Xen Conclusion Security practice: Fixed kernels Xen Hypervisor toolstackdom 0 Paravirtualized (PV) Domain domain builder kernel image guest disk What is a fixed kernel? Passing a known-good kernel from Control Domain Removes attacker avenue to domain builder CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 21 / 32
  • 22. Introduction Network path Bootloader Device model Xen Conclusion Security practice: Fixed kernels Xen Hypervisor toolstackdom 0 Paravirtualized (PV) Domain domain builder kernel image guest disk Disadvantages Host admin must keep up with kernel updates Guest admin can’t pass kernel parameters, custom kernels, CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 22 / 32
  • 23. Introduction Network path Bootloader Device model Xen Conclusion Security feature: PVgrub Xen Hypervisor toolstackdom 0 domain builder guest disk MiniOS pvgrub What is PVgrub? MiniOS + PV port of grub running in a guest context PV equivalent of HVM “BIOS + grub” Now a successful exploit could yield: Control of the attacked guest domain alone CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 23 / 32
  • 24. Introduction Network path Bootloader Device model Xen Conclusion HowTo: PVgrub Make sure that you have the PVgrub image pvgrub-$ARCH.gz Normally lives in /usr/lib/xen/boot Included in Fedora Xen packages Debian-based: need to build yourself Use appropriate PVgrub as bootloader in guest configuration kernel="/usr/lib/xen/boot/pvgrub-x86_32.gz" http://wiki.xenproject.org/wiki/Pvgrub CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 24 / 32
  • 25. Introduction Network path Bootloader Device model Xen Conclusion Attack surface: Device model (Qemu) Where might an exploit focus? Bugs in NIC emulator parsing packets Bugs in emulation of virtual devices What could a successful exploit yield? Control Domain privileged userspace Pretty much control of the whole system CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 25 / 32
  • 26. Introduction Network path Bootloader Device model Xen Conclusion Security feature: Qemu stub domains What is a stub domain? Stub domain: a small “service” domain running just one application Qemu stub domain: run each Qemu in its own domain What could a successful exploit yield? Control only of the stub domain VM (which, if FLASK is employed, is a relatively small universe) You need to devise another attack entirely to do anything more significant CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 26 / 32
  • 27. Introduction Network path Bootloader Device model Xen Conclusion HowTo: Qemu stub domains Make sure that you have the PVgrub image: ioemu-$ARCH.gz Normally lives in /usr/lib/xen/boot Included in Fedora Xen packages On Debian (and offshoots), you will need to build it yourself Specify stub domains in your guest config device_model_stubdomain_override = 1 http://wiki.xenproject.org/wiki/Device Model Stub Domains CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 27 / 32
  • 28. Introduction Network path Bootloader Device model Xen Conclusion Attack Surface: Xen Hypervisor itself Where might an exploit focus? On Paravirtualized (PV) Guests: PV Hypercalls On full Hardware Virtualized (HVM) Guests: HVM hypercalls (Subset of PV hypercalls) Instruction emulation (MMIO, shadow pagetables) Emulated platform devices: APIC, HPET, PIT Nested virtualization Security practice: Use PV VMs whenever possible CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 28 / 32
  • 29. Introduction Network path Bootloader Device model Xen Conclusion Security feature: FLASK example policy What is FLASK? Xen Security Module (XSM): Xen equivalent of LSM FLASK: Framework for XSM developed by NSA Xen equivalent of SELinux Uses same concepts and tools as SELinux Allows a policy to restrict hypercalls What can FLASK do? Basic: Restricts hypercalls to those needed by a particular guest Advanced: Allows more fine-grained granting of privileges FLASK example policy This contains example roles for the Control Domain (dom0), User/Guest Domain(domU), stub domains, driver domains, etc. CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 29 / 32
  • 30. Introduction Network path Bootloader Device model Xen Conclusion HowTo: Use the example FLASK policy Build Xen with XSM enabled Build the example policy Add the appropriate label to guest config files seclabel=[foo] stubdom label=[foo] Make sure you TEST the example policy in your environment BEFORE putting it into production! NOTE: As an example policy, it is not as rigorously tested as other parts of Xen during release, and it may not be suitable as-is if you are doing unusual things http://wiki.xenproject.org/wiki /Xen Security Modules : XSM-FLASK CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 30 / 32
  • 31. Introduction Network path Bootloader Device model Xen Conclusion ARM: Right solution for security Stays in ARM Hypervisor Mode The ARM architecture has separate Hypervisor and Kernel modes Because Xen’s architecture maps so well to the ARM architecture, Xen never has to use Kernel mode Other hypervisors have to flip back and forth between modes If a hypervisor has to enter Kernel mode, it loses the security of running in a privileged mode, isolated from the rest of the system This is a non-issue with the Xen Hypervisor on ARM Does not need to use device emulation No emulation means a smaller attack surface for bad guys CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 31 / 32
  • 32. Introduction Network path Bootloader Device model Xen Conclusion For More Information... Details at http://wiki.xenproject.org/wiki/Securing Xen Thanks to George Dunlap for supplying much of the information presented here, and Stefano Stabellini for ARM information Check out our blog: http://blog.xenproject.org/ Contact me at russell.pavlicek@xenproject.org ——————————– Thank You! CloudOpen North America 2013 Securing Your Cloud with Xen Project’s Advanced Security Features 32 / 32