A AMD confirmou a vulnerabilidade potencial das CPUs AMD Zen 3 ao ataque Spectre-STL

A AMD publicou um relatório analisando a segurança da tecnologia de otimização Predictive Store Forwarding (PSF) implementada nos processadores Zen 3. O estudo confirmou teoricamente a aplicabilidade do método de ataque Spectre-STL (Spectre-v4), descoberto em maio de 2018, à tecnologia PSF. No entanto, nenhum padrão de código capaz de levar a um ataque foi identificado na prática até o momento, e o risco geral é avaliado como insignificante.

Como lembrete, o ataque Spectre-v4 (Speculative Store Bypass) baseia-se na recuperação de dados que foram armazenados no cache do processador após o descarte do resultado da execução especulativa durante operações alternadas de escrita e leitura usando endereçamento indireto. Quando uma operação de leitura segue uma operação de escrita (por exemplo, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), o deslocamento do endereço de leitura pode já ser conhecido devido a operações semelhantes (as operações de leitura são realizadas com muito mais frequência e podem ser feitas a partir do cache), e o processador pode realizar uma leitura especulativa antes de uma escrita, sem esperar que o deslocamento do endereço indireto para a escrita seja calculado.

Essa funcionalidade permite que uma instrução de leitura acesse um valor antigo em um determinado endereço enquanto uma operação de armazenamento ainda está pendente. Se a previsão estiver incorreta, a operação especulativa com falha será descartada, mas os rastros de sua execução permanecerão no cache do processador e poderão ser extraídos usando um dos métodos para determinar o conteúdo do cache com base na análise da variação nos tempos de acesso aos dados em cache e não em cache.

A tecnologia PSF adicionada aos processadores AMD Zen 3 otimiza o método STLF (Store-To-Load-Forwarding), que executa operações de leitura de forma especulativa com base na previsão da relação entre leituras e escritas. Com o STLF clássico, o processador realiza uma operação de "carregamento" com os dados encaminhados diretamente da instrução de "armazenamento" anterior, sem esperar que o resultado seja gravado na memória, mas após garantir que os endereços usados ​​nas instruções de "carregamento" e "armazenamento" correspondam. A otimização PSF torna a verificação de endereço especulativa e executa a operação de "carregamento" antes de concluir o cálculo do endereço se um par de armazenamento/carregamento que manipula o mesmo endereço já tiver sido executado anteriormente. Se a previsão estiver incorreta, o estado é revertido, mas os dados permanecem no cache.

O ataque PSF só é viável dentro de um único nível de privilégio, abrange apenas o contexto do processo atual e é bloqueado por métodos de isolamento de espaço de endereçamento ou mecanismos de sandbox de hardware. No entanto, métodos de sandbox de software dentro de processos podem ser afetados. O ataque representa um risco para sistemas como navegadores, máquinas virtuais e JITs que executam código de terceiros dentro de um único processo (como resultado do ataque, código em sandbox não confiável poderia acessar dados de outros processos).

A AMD forneceu vários métodos para desativar o PSF total ou seletivamente, mas, dado o baixo risco para a maioria das aplicações, recomendou não desativar essa otimização por padrão. Para proteger seletivamente processos isolados da execução de código não confiável, foi proposto desativar o PSF definindo os bits MSR "SSBD" e "PSFD", inclusive para threads individuais. Para o kernel, Linux Foram preparadas correções que implementam as opções de linha de comando "psfd" e "nopsfd" que controlam a ativação e desativação do PSF.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster