I've heard advice that to further protect my anonymity/privacy it's best to run Tor (the Tor Browser Bundle) in a Virtual Machine, which you would ideally roll back after each use.
What extra security, if any, does this provide?
Tor Stack Exchange is a question and answer site for researchers, developers, and users of Tor. It only takes a minute to sign up.Sign up to join this community
There are several anonymity concerns when you use your main machine for communication. Running a separate secured OS will give you advantages when you use other software with Tor than just the Firefox in the Tor Browser Bundle which is considerably secured. The separate secured OS can also help you against possible information leak vulnerabilities in Firefox.
Ideally when all the Tor users would use the same OS running in the same virtual machine on the same virtualization platform they can be almost indistinguishable each from the others.
Some advantages and some concerns to point out, partly in reference to pabouk's answer:
It would be a bad thing if most or all Tor users ran the same virtual machine platform, with the same browser, operating system, versions, etc. Users, especially non-technical users, can be thought of like prey animals -- when they are threatened by a predator, the best way for them to deal with it is to scatter in all directions. That way the predator has to pick one or two of them to go after, but not even a very fast predator could catch all of the prey. Most of them will escape. If all our users are going in the same direction (using the same software configuration), a single successful attack will breach thousands or millions of systems. Diversity is key. If a lot of other people are using Linux VMs to run Tor, a smart user will run FreeBSD. If FreeBSD becomes popular, run Solaris. If Solaris becomes popular, run GNU/Hurd! If GNU/Hurd becomes popular, STOP; the FSF has won and we can all lay down our pitchforks and knives. ;)
Non-technical users may be lulled into a false sense of security by learning that VMs provide a layer of protection. Furthermore, if we provide simple "click-wrap" installers for VMs for people to use, they may not understand the full security implications, and security updates would have to be automatically enabled, or else users could be running vulnerable software and not even know it.
I generally agree with the pros and cons of VMs presented by others here, provided you control the physical host as well.
If you do not (for example you're running a VM on a public cloud provider) the operator can see all the memory in your VM which is pretty much game over for anonymity. You need to be the judge of how likely this is and what is at risk if your anonymity is compromised.
So for reasons others have stated running Tails in a VM on your laptop is probably a good idea, running a hidden service on EC2 is probably not.
There is a whole bunch of pros and cons about this.
One of the biggest advantages is that proxy by-pass bugs in Tor Browser when using a Transparent Proxy (anonymizing middlebox!) or an Isolating Proxy design won't reveal your real IP address. Also, with such a design, (root) exploits against your client software (ex: browser) won't instantly reveal your real IP address. Exploits still matter, because once your virtual machine is compromised, an attacker can see everything you do inside the VM, and can try to escalate to your host as well.
A big disadvantage is that it's not as simple, as in usability to use. There is administration overhead (updating more than one operating system), higher system requirements... The biggest disadvantage is that there are no amnesic Tor VMs yet.