FERRAMENTAS LINUX: RELPOLINES: Uma nova abordagem do Spectre V2 para reduzir a sobrecarga de retpolines

quinta-feira, 18 de outubro de 2018

RELPOLINES: Uma nova abordagem do Spectre V2 para reduzir a sobrecarga de retpolines




Confira !!




Nadav Amit, da VMware, anunciou seu trabalho (atualmente experimental) sobre "promoção de chamada indireta dinâmica" ou o que chamou de "RELPOLINES" - não deve ser confundido com os Retpolines tradicionais para "trampolins de retorno" como um dos softwares Specter Variant Two abordagens de mitigação baseadas em Relpolines é projetado para ter menor sobrecarga do que Retpolines.

Embora a Retpolines funcionem bem para evitar ataques de injeção de alvos, tentar compensar os custos de desempenho incorridos por essas abordagens baseadas em software para mitigação de Spectre tem sido uma tarefa comum dos desenvolvedores do kernel este ano. O trabalho mais recente da VMware neste espaço é classificado como Relpolines para emparelhar chamadas relativas e trampolins com o objetivo de reduzir as despesas gerais com Retpoline para melhorar o desempenho geral do sistema.

A abordagem Relpoline é para cada chamada indireta para injetar código com chamadas rápidas e de caminho lento. O caminho rápido, por sua vez, será chamado se o alvo corresponder ao alvo esperado, enquanto o caminho lento depender de um Retpoline tradicional. Com Relpolines ainda existe um período inicial de "treinamento" em que o caminho lento é usado e, em seguida, o patch é feito em tempo real para permitir o caminho rápido quando considerado apropriado.

O trabalho Relpoline da VMware gera um aumento de desempenho de 10% para o Nginx, um aumento de 4% para o Redis e uma aceleração de 2% para o teste de E / S do Dbench. Ainda assim, obviamente, não tão rápido quanto sem qualquer mitigação, mas qualquer melhoria de desempenho enquanto ainda se defende de possíveis ataques de injeção de alvo de filial é bem-vinda.

Esse trabalho de Relpolines está atualmente sob um sinalizador "RFC" e ainda há alguns problemas em aberto a serem resolvidos, mas os curiosos sobre esse novo código podem encontrá-lo na lista de discussão do kernel . É claro que, se essa abordagem atingir a linha principal, certamente estaremos disparando mais pontos de referência.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário