FERRAMENTAS LINUX: A mitigação de CPU de especulação de linha reta x86 aparece para o Kernel Linux 5.17

quinta-feira, 13 de janeiro de 2022

A mitigação de CPU de especulação de linha reta x86 aparece para o Kernel Linux 5.17

 


Confira !!

O kernel Linux 5.17 está introduzindo suporte para a mitigação "SLS" de especulação em linha reta x86, tornando-se cada vez mais claro que as CPUs modernas x86_64 são suscetíveis à execução especulativa linear na memória após uma mudança incondicional no fluxo de controle.

Em meados de 2020, a Straight Line Speculation foi tornada pública para as CPUs Arm com base na pesquisa da iniciativa SafeSide do Google. Descobriu-se que os processadores Arm são capazes de executar especulativamente linearmente na memória além do que deveria ser uma mudança incondicional no fluxo de controle, como para retornos de exceção, outras instruções geradoras de exceção, ramificações diretas/indiretas incondicionais e retornos de função. Se executar especulativamente um "gadget de revelação Spectre", isso pode tornar os segredos vulneráveis ​​à revelação por meio da análise de tempo.

Após essa divulgação, o software de código aberto rapidamente mitigou o Arm SLS via GCC e o endurecimento do compilador LLVM/Clang em torno das instruções BLR e RETBR.

Não foi até o final de 2021 que a mitigação de especulação em linha reta para as CPUs x86/x86_64 esquentou para os principais compiladores de código aberto e depois para o kernel Linux. Os patches do compilador, quando habilitados pela opção -mharden-sls= , emitirão uma instrução INT3 seguindo qualquer instrução de retorno (RET) e qualquer salto indireto. Esse suporte está aparecendo no GCC 12 e no lado do LLVM/Clang ainda não chegou para x86/x86_64, mas ainda pode aparecer para o LLVM 14.0.

Agora, com as atualizações x86/core para o Kernel Linux 5.17, há a aterrissagem do tratamento de mitigação do SLS no lado do kernel para habilitar esse reforço do compilador quando em um compilador compatível .

Borislav Petkov escreveu na solicitação de pull x86/core para o Kernel Linux 5.17, " Adicione o suporte de mitigação de especulação direta [Line] que usa um novo switch de compilador -mharden-sls= que coloca um INT3 após um RET ou um branch indireto para bloquear a especulação depois deles. Alegadamente, as CPUs especulam por trás dessas [instruções] " .

A consequência desse endurecimento do compilador é conhecida por ser cerca de 2 a 3% maior no tamanho da imagem do kernel devido às instruções extras. Por enquanto, pelo menos, o "CONFIG_SLS" sabe que o padrão é desativado, embora não tenha visto nenhuma comunicação pública da Intel ou AMD para quais processadores eles recomendariam mitigar contra a Straight Line Speculation ou outras orientações relacionadas. Os engenheiros da Intel estiveram envolvidos com os patches do compilador/kernel x86 SLS, portanto, pelo menos para eles, alguns subconjuntos de seus processadores são afetados pela especulação em linha reta.





Fonte

Até a próxima !!


Nenhum comentário:

Postar um comentário