Recently there has been the recommendation to disable hyperthreading. I was wondering if there is an increased risk of an attack or information disclosure when multiple virtual machines use the same CPU core or when a core is shared between a VM and the host. Should a single core be pinned to a specific VM?

Edit: To be a bit more specific: recent Intel and AMD processors with x86 architecure, "average" desktop computers or notebooks.

  • In general, yes there is "increased risk" when you want to keep data separate that touches the same hardware. There are known ways to leak info in/out to/of certain VM/Host configurations. The question though is very broad. To give a specific answer (regarding known vulnerabilities) we would need a specific question. What architecture? What Chip? What is the hardware configuration? – DarkMatter Nov 5 '18 at 20:57
  • @DarkMatter I tried to be a bit more specific and modified the question a bit. I'm not aware of known vulnerabilities. At least a quick search on security of shared CPUs did not really turn up anything useful – ulubu Nov 5 '18 at 21:16
  • youtube.com/watch?v=lR0nh-TdpVg <-- this is epic ownage of x86 :) – DarkMatter Nov 5 '18 at 22:00

The x86 architecture (both in 32 and 64 bits) isn't really designed for a full isolation between (threads|processes|VMs). There are many low-level hardware pieces that —designed for efficiency— may leak some amount of information between them.

This isn't anything new. See for instance the 2005 paper Cache-timing attacks on AES by Daniel J. Bernstein.

This is also what happened with Meltdown and Spectre. Speculative execution allowed one CPU thread to figure out things that supposedly it couldn't.

Note also that these attacks are statistical by nature. It is a big deal that you only had a 0.03% error data when reading kernel data (meltdown) but it doesn't mean that it would succeed reading sensitive information, or that it was in memory at all!

Is it a risk? Yes, it could end up being one. And vendors (hardware manufacturers, Operative Systems, crypto library developers…) try to mitigate them as much as they can. Should you be too concerned about it? Probably not, but it will depend

A) How sensitive your workloads are

B) How evil are the other VMs

C) How much risk you are willing to take

D) The amount of funding you have available.

If you are the NSA, surely you can buy completely separate physical systems, but perhaps not if you are a home user. It's also different that your other VMs are (hopefully) clean than used to automatically run any malicious executable while continuously signing SSL certs with a CA key!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.