Engenheiro do Google propôs proteção de software para processadores contra ataques LVI

Há algum tempo soube-se de uma nova vulnerabilidade na arquitetura especulativa dos processadores Intel, que foi chamada Injeção de valor de carga (LVI). A Intel tem sua própria opinião sobre os perigos do LVI e recomendações para mitigá-lo. Sua própria versão de proteção contra tais ataques sugerido engenheiro do Google. Mas você terá que pagar pela segurança, reduzindo o desempenho do processador em 7%, em média.

Engenheiro do Google propôs proteção de software para processadores contra ataques LVI

Observamos anteriormente que o perigo do LVI não reside no mecanismo específico descoberto pelos pesquisadores, mas no próprio princípio do ataque de canal lateral do LVI, que foi demonstrado pela primeira vez. Assim, abriu-se um novo rumo para ameaças das quais ninguém suspeitava anteriormente (pelo menos, isso não foi discutido no espaço público). Portanto, o valor do desenvolvimento do especialista do Google Zola Bridges reside no fato de que seu patch mitiga o perigo até mesmo de novos ataques desconhecidos baseados no princípio LVI.

Anteriormente no GNU Project Assembler (Montador GNU) foram feitas alterações que reduzem o risco da vulnerabilidade LVI. Essas mudanças consistiram em adicionar instruções de barreira LFENCE, que estabeleceu uma sequência estrita entre os acessos à memória antes e depois da barreira. Testar o patch em um dos processadores da geração Kaby Lake da Intel mostrou uma queda de desempenho de até 22%.

O desenvolvedor do Google propôs seu patch com a adição de instruções LFENCE ao conjunto do compilador LLVM e chamou a proteção de SESES (Speculative Execution Side Effect Suppression). A opção de proteção que ele propôs mitiga tanto ameaças LVI quanto outras similares, por exemplo, Spectre V1/V4. A implementação SESES permite ao compilador adicionar instruções LFENCE em locais apropriados durante a geração do código de máquina. Por exemplo, insira-os antes de cada instrução para leitura ou gravação na memória.

As instruções LFENCE evitam a preempção de todas as instruções subsequentes até que as leituras de memória anteriores sejam concluídas. Obviamente, isso afeta o desempenho dos processadores. O pesquisador descobriu que, em média, a proteção SESES reduziu em 7,1% a velocidade de conclusão de tarefas usando a biblioteca protegida. A faixa de redução de produtividade neste caso variou de 4 a 23%. A previsão inicial dos investigadores era mais pessimista, prevendo uma diminuição de até 19 vezes no desempenho.



Fonte: 3dnews.ru

Adicionar um comentário