FERRAMENTAS LINUX: O GhostRace foi detalhado – As condições de corrida especulativas que afetam todas as principais CPUs/ISAs

quarta-feira, 13 de março de 2024

O GhostRace foi detalhado – As condições de corrida especulativas que afetam todas as principais CPUs/ISAs

 

A VUSec e a IBM Research Europe revelaram hoje as Condições de Corrida Especulativas (SRCs) como uma nova categoria de vulnerabilidades. 

Neste cenário, as primitivas de sincronização de threads que utilizam ramificações condicionais podem ser contornadas em caminhos especulativos através de um ataque Spectre-V1. Esta vulnerabilidade, apelidada pelos pesquisadores de GhostRace e identificada como CVE-2024-2193, afeta todos os principais fabricantes de CPU.

As condições do GhostRace/Speculative Race envolvem primitivas de sincronização de threads, como mutexes, e no contexto de ramificações condicionais com um ataque Spectre Variant One, que pode resultar na divulgação de informações do alvo.

Dentre as principais descobertas da página sobre o GhostRace da VUSec estão: Todas as outras primitivas comuns de sincronização do lado da gravação no kernel do Linux são implementadas por meio de uma ramificação condicional e, portanto, são suscetíveis a condições de corrida especulativas. … Hardware: Foi confirmado que todos os principais fabricantes de hardware são afetados pelas SRCs, uma vez que, independentemente da implementação específica da instrução de comparação e troca, o desvio condicional subsequente está sujeito à previsão (errônea) de desvio. Em outras palavras, todas as microarquiteturas afetadas pelo Spectre-v1 também são afetadas pelas SRCs.

Software: Qualquer alvo que dependa de ramificações condicionais para determinar se deve entrar em regiões críticas — um padrão de design comum que vai muito além do Linux — é suscetível a SRCs.

Em suma, qualquer software, por exemplo, sistema operacional, hipervisor, etc., que implemente primitivas de sincronização através de ramificações condicionais sem qualquer instrução de serialização nesse caminho e que seja executado em qualquer microarquitetura (por exemplo, x86, ARM, RISC-V, etc.), que permita que ramificações condicionais sejam executadas especulativamente, é vulnerável a SRCs. Como em outros ataques de execução especulativa, isso permite a divulgação de dados do software alvo. … Para lidar com a nova superfície de ataque, também propomos uma mitigação genérica de SRC para serializar todas as primitivas de sincronização afetadas no Linux (ou seja, adicionar uma instrução lfence após o bloqueio cmpxchq na Figura 1). Nossa mitigação requer alterações mínimas no kernel (ou seja, 2 LoC) e resulta em apenas ≈5% de sobrecarga de desempenho geomédio no LMBench.

Os desenvolvedores do kernel Linux não planejam implementar a serialização de primitivas de sincronização sugerida pelo pesquisador devido a preocupações com o desempenho. Da mesma forma, o boletim de segurança da AMD sobre Condições de Corrida Especulativas observa que a AMD recomenda apenas seguir as orientações publicadas anteriormente sobre as mitigações do Spectre.

Estaremos atentos para ver se algo muda, mas a partir de agora, tanto os fabricantes de hardware quanto os desenvolvedores upstream do kernel Linux não consideram necessário tomar novas medidas em relação às Condições de Corrida Especulativas/GhostRace.





Fonte 

Até a próxima !!


Nenhum comentário:

Postar um comentário