FERRAMENTAS LINUX: Um engenheiro do Google mostra o "SESES" para atenuar ataques de canal lateral LVI + - o código é executado ~ 7% da velocidade original

sábado, 21 de março de 2020

Um engenheiro do Google mostra o "SESES" para atenuar ataques de canal lateral LVI + - o código é executado ~ 7% da velocidade original



Confira !!



Foi divulgado na semana passada o ataque de injeção de valor de carga que afeta os processadores Intel e exige novas atenuações. Enquanto as opções de mitigação do GNU Assembler foram adicionadas rapidamente , no lado da cadeia de ferramentas LLVM, os desenvolvedores continuam avaliando a mitigação proposta de LVI, juntamente com outra opção que parece mitigar mais do que apenas LVI. A proposta "SESES" analisa de maneira mais ampla as vulnerabilidades de canal lateral da CPU, mas com resultados de desempenho impressionantes.

Conforme destacamos ao comparar as mitigações do GNU Assembler para o LVI, o impacto da mitigação de software pode ser bastante significativo. O trabalho do montador está adicionando uma instrução de barreira LFENCE em torno de cargas, ramificações indiretas e instruções RET. Os testes em Kabylake descobriram que o desempenho mitigado em geral foi cerca de 22% do desempenho sem as mitigações do LVI.

Embora a performance original de apenas ~ 22% já seja um sucesso brutal, uma atenuação do LLVM proposta por um engenheiro do Google para evitar LVI e outras vulnerabilidades de canal lateral em um de seus testes obteve apenas ~ 7% da performance originalcom base na média geométrica. O trabalho do LLVM com o impacto ainda mais dramático é a Supressão Específica de Efeito Colateral (SESES) e foi iniciada para mitigar a Injeção de Valor de Carga, mas expandida para solucionar outras vulnerabilidades de canal lateral, como o Spectre V1 / V4 e outras. Ele oferece salvaguardas extras além da atenuação da LVI, mas no teste BoringSSL do Google (seu fork do OpenSSL), o desempenho chegou a uma média geométrica de 7% do desempenho original (não 7%, apenas 7% do desempenho original) .

Com o impacto potencial da entrada no SESES, é melhor encontrar outros usos para o seu computador.

O passe do SESES para o LLVM insere um LFENCE antes de cada instrução de leitura de memória, instrução de gravação de memória e na primeira instrução de ramificação em um grupo de terminadores no final de um bloco básico. O engenheiro do Google, Zola Bridges, trabalhou no patch e comentou: " O objetivo é impedir que a execução especulativa, potencialmente baseada em condições mal especificadas e / ou que contenham dados secretos, vaze esses dados pelos canais laterais incorporados em tais instruções. Isso é algo de último mitigação de recursos: espera-se que tenha implicações extremas de desempenho e pode não ser uma mitigação completa devido à tentativa de enumerar canais secundários. "

Enquanto isso, a Intel propôs o fortalecimento proposto para o LVI. Esse patch é de natureza semelhante ao trabalho do GNU Assembler na inserção de instruções extras do LFENCE. Nenhum número de desempenho foi fornecido com a mitigação Intel LVI pendente para LLVM, mas obviamente seria melhor do que o extremo SESES.

Ambas as séries de patches permanecem em revisão. Nenhuma das séries de patches está buscando ativar seu comportamento por padrão, mas seria uma opção para aqueles que desejam mitigar o LVI. Lembre-se também de que essas atenuações são apenas para a cadeia de ferramentas LLVM, enquanto as atenuações do LVI já chegaram ao GAS no lado do GNU e não há nenhum passe equivalente ao SESES sendo discutido nesse lado da tabela por enquanto.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário