9.0
Table Of Contents
- VMCI Sockets Programming Guide
- Contents
- About This Book
- About VMCI Sockets
- Porting to VMCI Sockets
- Creating Stream VMCI Sockets
- Creating Datagram VMCI Sockets
- Security of the VMCI Device
- Appendix: Learning More About Sockets
- Index
VMware, Inc. 23
5
ThischapterprovidesbackgroundinformationaboutsecurityoftheVMCIdevice,especiallyabou tinterfaces
thatarenotpartofthepublicVMCISocketsAPI.VMCISocketsareimplementedontopoftheVMCIdevice.
“InterfacesforVMCISettings”onpage 23
“VMCIDeviceAlwaysEnabled”onpage 23
“IsolationofVirtualMachines”onpage 24
Interfaces for VMCI Settings
VMCIisusedprimarilyforcommunicationbetweenvirtualmachinesandthehypervisor.Communication
betweenvirtualmachinesisnotsupported,butcanbeaccomplishedbyuseofnormalTCPorUDPsockets.
OnESXi5.1andlater,theVMCIdevice>EnableVMCIbetweenVMssetting(ifpresent)hasnoeffect.
AfterWorkstation8.x,Sett
ings>Options>GuestIsolation>EnableVMCIwillbediscontinued.
ForoldervirtualhardwareversionswithoutVMCI,thehypervisorrevertstoa“backdoor”mechanismfor
communication.HoweverVMwareservicesintroducedinnewproductsmayhavenobackdoorfallback, so
someservicesmayrequireVMCItoworkcorrectly.
VMCI Device Always Enabled
TheVMCIdeviceisalwayspresentinrecentlycreatedVMwarevirtualmachines,raisingquestionsaboutthe
securityimplicationsofhavingaVMCIdevice.
VMCI and Hardware Version
StartingwithVMwarevirtualhardwareversion7,theVMCIdeviceisenabledbydefault.Virtualmachines
upgradedfromolderhardwareversionstoversion7acquiretheVMCIdeviceevenifitwasnotpresentbefore
upgradingthevirtualhardware.TheVMCIdevicecannotberemoved.Onmostguestoperatingsystems,
VMwareT
oolsshouldbeinstalledtoprovideaVMCIdevicedriver.
Toaddresssecurityconcerns,VMwareprovidedamethodtorestrictVMCI‐basedservicesthatareavailable
toavirtualmachine.Serviceswererestrictedtoatrustedsubsetofonlythehypervisor‐relatedservicesneeded
torunavirtualmachineinisolation.Restrictedwa
sthedefault,asisnowtheonlyconfiguration.
Authentication
AllVMCIcommunicationsareauthenticated.Thesource(contextID)maynotbespoofed.TheVMCIfacility
implicitlyauthenticatesanyhypervisorserviceasbeingpartofthetrustedcodebase.VMCIdoesnotprovide
finegrainedauthenticationofcommunicationendpoints,soapplicationsmustdealwithfinegrained
authenticationasaseparateissue.Itisthere
sponsibilityofapplicationsrunningontopofVMCItoimplement
theirownauthenticationmechanismsifnecessary.VMCIensuresonlythatmalicioussoftwarecannotspoof
thesourcefieldinVMCIdatagramsidentifyingthesendingvirtualmachine.
Security of the VMCI Device
5