Another day, another great IT Pro virtualization event! :-)
Last week, I was asked the following question by a concerned IT Pro at a hosting partner organization ...
Q: I read an article where an attacker could potentially upload a malicious or compromised VMware VMDK, change the disk paths to access alternative files on the host and potentially access VMs from other tenants on the system. The article is here:
The summary of the article reads as follows:
“Summarizing the most relevant and devastating message: VMware vSphere 5 based IaaS cloud environments potentially contain possibilities to access other customers’ data.”
I am EXTREMELY concerned about this issue and wondering about Hyper-V. Should I be concerned?
We were extremely concerned too, so for an official answer to this question, we went back to Jeff Woolsey, Principal Program Manager for Windows Server. I've included Jeff's answer below:
--- cut here ---
A: Three points:
Let’s discuss to understand why this is ...
Summary of the attack
The VMware VMDK files (equivalent to Hyper-V vhd(x) files) include a descriptor file and the actual disk files. The descriptor file, among other things, includes paths to the actual disk files. When an attacker controls the .vmdk files, the attacker changes the path of the disk files in the descriptor files to point to files on the host. Though it was not possible to load any random host file from the guest, the attacker was able to successfully load binary files from the host inside the guest. This way, the guest can now access contents of the host files.
Applicability to Hyper-V
Hyper-V was specifically designed and threat modeled to avoid such an architecture. Hyper-V doesn’t have an equivalent of the descriptor file for the vhd(x) files. Thus, even if an attacker uploads a vhd(x) to a hosted environment, there is no option of loading random files from the host inside the guest.
This attack simply isn’t possible with Hyper-V.
We’re Not Done Yet
However, we didn’t stop there. We reviewed the attack vector further. Are there similar types of attacks that could be used? The closest analogy for Hyper-V would be that a vhd file could be configured to have a parent path that would give the guest, access to the contents of the parent vhd. If a similar approach of the demonstrated attack is to be performed, an attacker would try to read host file contents by setting the parent path to any desired file on the host. However, this attack wouldn’t be successful either because our validations prevent any random file on the host being used as a parent vhd. The parent vhd path specified has to be a valid vhd file.
So, this theoretical attack isn’t possible either.
In short, we’ve done our homework, and after 10+ years of Trustworthy Computing and the Secure Development Lifecycle (SDL), it shows. Microsoft designs, develops and tests its products to be secure by default and we provide tools to help the world build better software, such as:
Finally, don’t forget that Microsoft manages a cloud-based infrastructure (Windows Azure, Office 365, etc.) supporting more than 200 services, 1 billion customers, and 20 million businesses in more than 76 markets worldwide. We understand what it takes to build and deliver highly-reliable cloud platforms, solutions, and services that are secure and private. To learn more check out this Trusted Cloud link.
Be sure to check out these additional resources:
Keith Mayer is a Senior Technical Evangelist at Microsoft focused on Cloud and Enterprise platforms. Keith has over 20 years of experience as a technical leader of complex IT projects, in diverse roles, such as Network Engineer, IT Manager, Technical Instructor and Consultant. He has consulted and trained thousands of IT Pros worldwide on design of enterprise technology solutions.
Keith is currently certified on several Microsoft technologies, including Private Cloud, System Center, Hyper-V, Windows, Windows Server, SharePoint and Exchange. He also holds other industry certifications from VMware, IBM, Cisco, Citrix, HP, CheckPoint, CompTIA and Interwoven.
You can contact Keith online at http://aka.ms/AskKeith.