CPU side-channels vs. virtualization rootkits: the good, the bad, or the ugly