FERRAMENTAS LINUX: O SESES Speculative Execution Pass chega no LLVM com "implicações de desempenho extremo"

terça-feira, 12 de maio de 2020

O SESES Speculative Execution Pass chega no LLVM com "implicações de desempenho extremo"



Confira !



O passe SESES, apoiado pelo Google, para o LLVM para ajudar a combater vulnerabilidades de execução especulativas foi mesclado para o LLVM 11, mas ao optar por ativar esse patch, você perde muito do desempenho do seu sistema.

O SESES foi mostrado em março pelo engenheiro do Google, Zola Bridges, após a divulgação pública do ataque de injeção de valor de carga que afeta os processadores Intel . SESES é um passe opcional para o LLVM em plataformas baseadas em x86 para "Supressão de efeito colateral de execução especulativa" e destina-se como último recurso para mitigar os gostos de LVI e outras possíveis vulnerabilidades de canal lateral de execução especulativa.

O SESES, no entanto, é absolutamente sangrento e brutal ao desempenho. Essa passagem LLVM adiciona uma instrução LFENCE (load fence) antes de cada instrução de leitura de memória, instrução de gravação de memória e a primeira instrução de ramificação em um grupo de terminadores no final de um bloco básico. Isso é ótimo para combater as vulnerabilidades, mas diminui absolutamente o desempenho.

No teste de Zola Bridges usando a implementação do BoringSSL do Google, o desempenho do SESES foi de apenas 7% da velocidade original . Sim, mais de 90% de acerto no desempenho.



Dadas as tremendas ramificações de desempenho desse passe, apesar de ser opcional, não estava claro se seria mesclado. Desde a discussão de março sobre o assunto, finalmente hoje o patch foi mesclado . O SESES estará agora disponível para aqueles que o desejam no LLVM 11.

No lado do GNU, você pode ver nossos testes de impacto de mitigação do GNU LVI enquanto em breve levarei o LLVM SESES para um giro.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário