Red Pill (detecção de VM)
Truque de Joanna Rutkowska, de 2004, para descobrir se um código roda dentro de uma máquina virtual usando uma única instrução da CPU.
A instrução SIDT revela onde fica na memória a tabela de descritores de interrupção, e podia ser executada sem privilégios. Um hipervisor em x86, antes do suporte a virtualização em hardware, precisava realocar a tabela do guest, e no VMware ela caía num endereço conspicuamente alto. Bastava ler um byte para ter a resposta. O nome vem de Matrix, em que a pílula vermelha mostra como a realidade realmente é.
Era fácil de enganar e dava falso resultado em sistemas multicore, mas mostrou como é difícil para uma máquina virtual ser invisível — algo que o malware logo passou a explorar para escapar de sandboxes de análise. Dois anos depois, Rutkowska inverteu a pergunta com o Blue Pill.