Upload
jonas-moody
View
224
Download
1
Embed Size (px)
Citation preview
Security in a Virtual World
Kai Axford, CISSP, MCSESr. Security Strategist, Trustworthy Computing GroupMicrosoft [email protected] http://blogs.technet.com/kaiaxford
Why should I care?
The number of virtual servers will rise to more than 1.7 million physical servers by 2010, resulting in 7.9 million logical servers. Virtualized servers will represent 14.6% of all physical servers in 2010 compared to just 4.5% in 2005.
60% of production virtual machines will be less secure than their physical counterparts through to 2009.
Source: Gartner
Source: IDC
Microsoft’s Virtualization Technologies
Server VirtualizationPresentation
Virtualization
Application Virtualization
Desktop Virtualization
Management
Some Common VM Security Myths…
• “I only have to patch my host OS / Kernel”• “If I protect my Host machine, it will protect
my VMs.”• “Virtual Hard Disk files are secure by default.”• “If you expose the virtual machine, you have
to expose all virtual machines and the host.”• “All virtual machines can see each other.”
Windows Server Virtualization
Greater Scalability and improved performance
x64 bit host and guest supportSMP support
Increased reliability and securityMinimal Trusted Code base Windows running a foundation role
Better flexibility and manageabilityNew UI/Integration with SCVMM
AMD-V / Intel VT
Windows Hypervisor
VM 1“Parent”
VM 2“Child”
VM 3“Child”
VirtualHard Disks
(VHD)
Hardware
Windows Server 2003
Virtual Server 2005 R2
VM 2 VM 3
The Old Virtualization Architecture
Host
Guest App
Hardware
Virtualisation layer
Designed for Windows Server Hardware
Windows Server 2003 or XP
Kernel VMM.sys
Ring 0
Ring 3
Host OS
Virtual ServerService
Ring 0
Ring 1
Ring 3
Guest OS
VMM.sys
Windows (NT4, 2000, 2003)
GuestApplications
VS Additions
IIS
Virtual ServerWebApp
Virtualization Architecture Hypervisor
Server Hardware
WindowsKernel
VirtualizationService
Providers(VSPs)
Primary Partition
VMService
Child Partitions
Windows hypervisor
Applications
Ring “-1”
MinWin
IHVDrivers
VMBus
WMI Provider
VM WorkerProcesses
Ring 0
Ring 3
VirtualizationServiceClients(VSCs)
VMBus
Virtualization Stack
Guest OSKernel
Enlightenments
Hyper-V Security Assumptions
• Guests are untrusted• Trust relationships
– Parent must be trusted by hypervisor– Parent must be trusted by children
• Code in guests can run in all available processor modes, rings, and segments
• Hypercall interface will be well documented and widely available to attackers
• All hypercalls can be attempted by guests• Can detect you are running on a hypervisor
– (We’ll even give you the version)
• The internal design of the hypervisor will be well understood
Hyper –V Security Goals
• Strong isolation between partitions• Protect confidentiality and integrity of guest data• Separation
• Unique hypervisor resource pools per guest• Separate worker processes per guest• Guest-to-parent communications over unique channels
• Non-interference• Guests cannot affect the contents of other guests, parent,
hypervisor• Guest computations protected from other guests• Guest-to-guest communications not allowed through VM interfaces
Hyper-V Isolation
• We’re serious….– No sharing of virtualized devices– Separate VMBus per VM to the parent – No sharing of memory
• Each has its own address space
– VMs cannot communicate with each other, except through traditional networking
– Guests can’t perform DMA attacks because they’re never mapped to physical devices
– Guests cannot write to the hypervisor– Parent partition cannot write to the hypervisor
Hyper-V Security Hardening
• Hypervisor has separate address space– Guest addresses != Hypervisor addresses
• No 3rd party code in the Hypervisor• Limited number of channels from guests to hypervisor
– No “IOCTL”-like things• Guest to guest communication through hypervisor is
prohibited• No shared memory mapped between guests• Guests never touch real hardware I/O
Hyper-V Security Model• Uses Authorization Manager
(AzMan)– Fine grained authorization and access
control– Department and role based– Segregate who can manage groups of
VMs
• Define specific functions for individuals or roles– Start, stop, create, add hardware,
change drive image
• VM administrators don’t have to be Server 2008 administrators
• Guest resources are controlled by per VM configuration files
• Shared resources are protected– Read-only (CD ISO file)– Copy on write (differencing disks)
Virtualization Attack Vectors
Host Hardware
Virtual Machine Host OS
Virtual Machine Hard Disk Files
Virtual Machine Configuration Files
Remote Management/Control interfaces
Guest Operating System
Virtual Networks
Common Attacks: Host • Host Compromise for
– Deployment, Duplication and Deletion– Control of Virtual Machines– Direct Code / File injection to Virtualization File Structure
• Virtual Hard Disks• Virtual Configuration Files
– Time Sync• Hardware
– Rootkits / Malware– Drivers (Attack Surface / Stability)
Some attacks making the news..
• SubVirt (Samuel T. King, Peter M. Chen: Michigan U)– Kernel based Rootkit based on a commercial VMM, which creates
and emulates virtual hardware.
• BluePill (AMD SVM) – Joanna Rutkowska– Moves the Host OS to a Virtual Machine at the hardware later (PoC
on AMD, Theory on Intel)
• Vitriol (Intel VT-x Mac OSX) – Dino Dai Zovi– VM Rootkit similar to BluePill but this time targeting Mac OSX
• Detecting a Virtual Environment..– RedPill / NoPill / scoopy_doo – Determines if a current OS is running inside a Virtual Machine
Use Remote Management
• All Virtualization Solutions include some form of remote control. – Access to these tools should be limited.– Limit scope of access / control
• Protect the remote control mechanisms!– Use limited use accounts for control– Make sure the connections are encrypted /
authenticated (SSL, RDP over SSL)– Use logging VMVM
VMVM
VMVMVM
VMVMVM
VM VMVM
VMVM
VMVMVM
VMVM VM
VMVM
VM
Top 10 Reasons for SCVMM 20081. Designed for virtual machines running on Windows Server 2008 and Microsoft Hyper-V Server 2. Support for Microsoft Virtual Server and VMware ESX
3. Performance and Resource Optimization (PRO)
4. Maximize datacenter resources through consolidation
5. Machine conversions are a snap!
6. Quick provisioning of new machines
7. Intelligent Placement minimizes virtual machine guesswork in deployment
8. Delegated virtual machine management for Development and Test
9. The library helps keep virtual machine components organized
10. Windows PowerShell™ provides rich management and scripting environment
Host Attacks: Potential Solutions
• Harden the Host Servers– Where a Hypervisor or Specialist Kernel is used, the Host attack surface is smaller, however
updating and patching is still required.– Use single role servers and remove unwanted and un-necessary services / attack vectors– Use a local firewall and only allow limited host control / management ports over encrypted
and authenticated channels.– Use limited scope admin accounts with strong passwords
• Protect the Virtual Machine files– Access Control Lists (limited to the security context for the users who manage them and
the services that control them.– Encryption
• Disk / Volume / Folder / File
– Auditing • file access, creation, deletion …
– Don’t forget the backup files / archives
Use Access Control Lists
Deny•Cannot modify VMC file•Will not appear in web console or VMRC
Read-only•See the VM in web console and VRMC•Can interact with VM•Cannot start, stop, pause or resume VMs
Read/Write•See the VM in web console and VMRC•Can interact with the VM•Can start, stop, pause, resume VMs
Common Attacks: Guest
• Unpatched Virtual Machines• Older Operating Systems• Test or Development machines (these often
are not managed in the same way as production machines)
• Un-managed or user deployed virtual machines
• Backups and archives
Guest Attacks: Potential Solutions
• Harden the Guest Operating Systems– Treat the guest OS as if it was a physical machine
• Isolate the machine with Virtual Networks / VLANs– Local Only Access– NAT– Segmented networks
• IPSec Isolation• Physical Isolation (Separate NICs)
The Segmented Network (with DMZ)The Segmented Network (with DMZ)
Virtual NICS Virtual NICs
Hardware serverHardware server Physical NICs
Common VirtualizationScenario
DMZ
Database ServerDatabase Server
VM
Internal network 1
Bridged virtual network
Virtual Switch
Application Server
Application Server
VM
Web ServerWeb Server
VM
Internal network 2
Bridged virtual network
The three leg network (DMZ and VPN)The three leg network (DMZ and VPN)
Virtual NICS Virtual NICs
Hardware serverHardware server Physical NICs
Common VirtualizationScenario
DMZ
Web ServerWeb Server
VM
Private internal network
Bridged virtual network
Virtual Switch
Application Server
Application Server
VM
Gateway ServerGateway Server
VM
Public external network
Bridged virtual network
Backup and DR
Host to HostGuest to Guest
Cluster storage
iSCSI connection
Cluster storage
SAN or iSCSI connection
Threat Landscape:Virtualized Attackers?
• Is this is one of the next big attack vectors on the horizon?
• The VM industry is focused on securing the VMs from attack. Very little thought of VMs being used as the attacker.
• Cases are starting to appear where people use VMs to attack, then shutdown the VM to remove any trace of evidence.
Threat Landscape:Virtualized Attackers?
• But we do write all events to the SysLog• Things that go into drive slack are recoverable
using forensics tools• We still have network traces…• …and audit logs• …and firewall and router logs• …not to mention video cameras in the server
room.
Deployment Considerations• Minimize risk to the Parent Partition
– Use Server Core– Don’t run arbitrary apps, no web surfing
• Run your apps and services in guests
• Moving VMs from Virtual Server to Hyper-V– FIRST: Uninstall the VM Additions
• Two physical network adapters at minimum– One for management (use a VLAN too)– One (or more) for vm networking– Dedicated iSCSI– Connect to back-end management network
• Only expose guests to internet traffic
Anti-Virus & BitLocker…• Parent partition
– Run AV software and exclude .vhd• Child partitions
– Run AV software within each VM• BitLocker
– Great for branch office– Can be used within a VM
• http://blogs.technet.com/virtualworld/archive/2008/02/16/using-bitlocker-under-virtual-pc-virtual-server.aspx
– Still testing with Hyper-V; More to come…
Extra Tips…• Mitigate Bottlenecks
– Processors– Memory– Storage
• Don't run everything off a single spindle…
– Networking• VHD Compaction/Expansion
– Run it on a non-production system• Use .ISOs
– Great performance– Can be mounted and unmounted remotely– Having them in SCVMM Library fast & convenient
Conclusions
• Reduce the attack surface on the Host• Use least privilege access • Audit the deployment, maintenance, control and access to
virtual machines• Leverage backups, snapshots and redundancy to reduce
impact of Host / Guest maintenance• Secure your Virtual Machine Hard Disk and configuration files,
including backups and archives• Use Virtual Networks / VLANs / IPSec to Isolate machines,
especially before they are exposed to the network.
Resources
• Get the slides! (Available June 2008)– http://www.microsoft.ca/bootcamp
• Step-by-Step Guide to Getting Started with Hyper-V– http://technet2.microsoft.com/windowsserver2008/en/library/
c513e254-adf1-400e-8fcb-c1aec8a029311033.mspx?mfr=true • Virtualization Team Blog
– http://blogs.technet.com/virtualization• Microsoft Virtualization Website
– http://www.microsoft.com/virtualization• Using BitLocker under Virtual PC / Virtual Server
– http://blogs.technet.com/virtualworld/archive/2008/02/16/using-bitlocker-under-virtual-pc-virtual-server.aspx
Questions?
Kai Axford, CISSP, MCSESr. Security Strategist, Trustworthy Computing GroupMicrosoft [email protected] http://blogs.technet.com/kaiaxford