CyberGlossary

Vulnerabilidades

Spectre

Também conhecido como: Ataque de execução especulativa

Definição

Família de ataques microarquiteturais que abusam da execução especulativa da CPU para vazar dados através de fronteiras de segurança por canais laterais baseados em cache.

Divulgada em janeiro de 2018, a Spectre (CVE-2017-5753 v1, CVE-2017-5715 v2 e várias variantes posteriores) explora o facto de as CPUs modernas fora de ordem executarem especulativamente instruções após previsões erradas de ramo ou salto indireto. As instruções transitórias tocam caches, deixando efeitos observáveis que o atacante pode ler com medições temporais precisas, mesmo quando o resultado especulativo nunca foi confirmado arquiteturalmente. A Spectre afeta Intel, AMD, ARM e outros, quebra o isolamento entre processos e VMs e é difícil de mitigar por completo. Mitigações: barreiras do compilador (retpoline, LFENCE, speculative load hardening), atualizações de microcódigo (IBRS, IBPB, STIBP, eIBRS), isolamento de processos, isolamento de sites em navegadores e redesenho arquitetural nas CPUs mais recentes.

Exemplos

  • Spectre v1 (Bounds Check Bypass): vazamento de memória do kernel a partir de processos de utilizador.
  • Spectre v2 (Branch Target Injection): atravessar fronteiras de VM em ambientes cloud.

Termos relacionados