Mitigação de hardware em CPUs Intel, Arm e AMD se mostrou ineficaz contra o Spectre v2

Pesquisadores de segurança da Vrije Universiteit Amsterdam mostraram que as mitigações de hardware para ataques Spectre v2 implementadas nos processadores Intel e Arm têm falhas fundamentais que os tornam vulneráveis ​​a ataques. injeção de histórico de ramificação.

Após a divulgação da vulnerabilidade Spectre v2, a Intel e a Arm introduziram mitigações de hardware destinadas a isolar diferentes domínios de privilégio na execução especulativa. O ataque que eles mitigaram, com base na injeção de alvo de ramificação, foi relativamente fácil de realizar, de acordo com os pesquisadores:

Um invasor sem privilégios na zona de usuário pode alimentar qualquer destino de ramificação para o preditor de ramificação indireta da zona de usuário e enganar o kernel para pular especulativamente para o local do código de destino injetado e executar o código encontrado lá.

O isolamento efetivo do domínio de privilégio definitivamente evitaria tais ataques. No entanto, verifica-se que as mitigações de hardware Intel e Arm, conhecidas como Intel eIBRS e Arm CSV2, fornecem apenas incompleto isolamento e pode ser contornado por um novo tipo de ataque de canal lateral (CVE-2022-0001, CVE-2022-2396):

As mitigações de hardware impedem que o invasor sem privilégios injete entradas de previsão no kernel. No entanto, o preditor depende de um histórico global para selecionar as entradas de destino para executar especulativamente. E o invasor pode envenenar esse histórico do espaço do usuário para forçar o kernel a prever erroneamente alvos do kernel mais “interessantes” (ou seja, dispositivos) vazando dados.

Em outras palavras, as atenuações de hardware têm uma falha de design, pois não conseguem isolar todos os elementos envolvidos nas previsões de ramificação, como o histórico de previsão de ramificação.

Em um artigo aceito para publicação no 31º USENIX Security Symposium 2022, os pesquisadores discutem as garantias de segurança fornecidas pelos processadores Intel, Arm e AMD que implementam mitigações de hardware para Spectre v2 e implantam uma exploração de endpoint para o usuário final capaz de vazar memória arbitrária. de um sistema Linux totalmente protegido.

Os pesquisadores, na verdade, vão além de simplesmente mostrar que as mitigações de hardware atuais são ineficazes e também demonstram que qualquer abordagem baseada em isolamento é realmente ineficaz (CVE-2022-0002).

No momento, dizem os pesquisadores, a única abordagem para mitigar os ataques do Spectre v2 é por meio de defesas de software como repolho.

Retpoline é uma defesa eficaz porque prejudica o mecanismo geral de previsão de desvios, substituindo desvios indiretos, ou seja, aqueles determinados em tempo de execução, por instruções de retorno. Embora seja eficaz, a principal desvantagem do retpolin é seu efeito negativo no desempenho.

Além disso, os pesquisadores sugerem desabilitar recursos fáceis de explorar, como eBPF não privilegiado, para reduzir a superfície de ataque restante.

Leave a Comment