Falhas do tipo CWE-1423

6 resultados

Exposição de informações sensíveis via estado compartilhado de preditor microarquitetural

Fraqueza causada pela execução especulativa do processador que usa estado compartilhado (como preditores de branch ou cache) para influenciar quais instruções são executadas transitoriamente. Um atacante pode manipular esse estado compartilhado para forçar a execução especulativa de código que vaza dados sensíveis de outro contexto (outro processo, outro usuário ou kernel), explorando o fato de que essa execução deixa rastros em caches e microarquitetura antes de ser descartada.

Exemplo

Um atacante treina o preditor de branch do processador para prever uma condição de forma a fazer a CPU executar especulativamente uma seção de código que acessa informações sensíveis (ex: chave criptográfica na memória do kernel). Embora a execução especulativa seja descartada, a leitura carrega o dado para o cache L1. O atacante então mede tempos de acesso para determinar qual endereço foi acessado, reconstruindo o dado sensível.

Como mitigar

Isole estado microarquitetural crítico por contexto (aplicável em kernel/hypervisor via flush de preditor ou IBPB/STIBP); use barreiras de serialização (mfence, lfence) estrategicamente antes de transições de privilégio; aplique patches de firmware do processador (microcode updates) que mitiguem execução especulativa não autorizada; considere desabilitar execução especulativa em caminhos críticos, ao custo de performance.