FERRAMENTAS LINUX: A chegada do endurecimento do Speculative Hold no LLVM para a atenuação do Spectre V1

sexta-feira, 13 de julho de 2018

A chegada do endurecimento do Speculative Hold no LLVM para a atenuação do Spectre V1



Confira!!



O esforço de Endurecimento de Carga Especulativo (SLH) que está em desenvolvimento há meses como uma técnica de mitigação automatizada baseada em compilador Specter Variant One chegou ao tronco do LLVM.

Acontecer a tempo para o LLVM 7.0 é o endurecimento de carga especulativo inicial para x86 / x86_64, enquanto os desenvolvedores de ARM também estão trabalhando na alavancagem do SLH no LLVM para o AArch64 (ARM de 64 bits).

Embora tenhamos visto muito código no kernel do Linux e em outro lugar ajustado manualmente para a defesa do Specter V1 , graças a ferramentas como o Smatch, o Endurecimento de carga especulativo é uma abordagem baseada em compilador para tentar mitigar o Spectre V1.

O compilador faria com que as cargas fossem verificadas usando código sem ramificação para verificar se sua execução obedece a um caminho de fluxo de controle válido, a fim de garantir que ele não seja propenso a essa vulnerabilidade de desvio de verificação de limites. Existe o documento de design original dos desenvolvedores do LLVM que começaram a trabalhar no SLH no início deste ano.

O Endurecimento de Carga Especulativa destina-se a ser usado por software crítico que provavelmente não será mitigado manualmente devido à sua complexidade ou código não-mantido. O SLH também gera uma linha de base no desempenho se, em seguida, atenuar manualmente, além de ser uma abordagem mais simples para os desenvolvedores.

Neste ponto, o Endurecimento de Carga Especulativa no tronco LLVM está apenas trabalhando em arquiteturas x86 para ABIs selecionadas. Essa funcionalidade só é habilitada por meio de sinalizadores de depuração no momento (o sinalizador x86-speculative-hard-load).

Fonte

Até a próxima!!

Nenhum comentário:

Postar um comentário