Tornou-se pública no ano passado a vulnerabilidade Arm Straight Light Speculation (SLS). SLS com hardware ARM pode resultar em instruções de execução especulativa após uma mudança incondicional no fluxo de controle. Assim, o kernel Linux pode em breve ter uma opção para habilitar a mitigação da vulnerabilidade Arm SLS.
No entanto, mitigar a vulnerabilidade de especulação no ARM envolve o uso de sequências de barreira de especulação seguindo instruções vulneráveis ??- a instrução de barreira de especulação (SB) ou a sequência de instrução DSB + ISB. O compilador GCC adicionou seu suporte junto com o compilador LLVM Clang para lidar com essa vulnerabilidade da mesma maneira.
Engenheiros do Google propõem uma opção de kernel Linux para mitigação de ARM SLS
O que está sendo proposto pelos engenheiros do Google em relação ao kernel é simplesmente uma nova chave Kconfig (HARDEN_SLS_ALL) que ativaria a opção de compilador “-mharden-sls = all” para compiladores suportados. Assim, o código do kernel compilado seria adequadamente mitigado contra a vulnerabilidade de especulação em linha reta para ARM e ARM64/AArch64. Isso não é relevante para outras arquiteturas. Com o Google contando com o LLVM Clang para construir seus kernels Linux de produção e desenvolvimento, esse é o foco, enquanto -mharden-sls= all também é suportado pelo GCC.
O comportamento “-mharden-sls = all” com os compiladores modernos fornece proteção SLS ao encontrar instruções RETBR e BLR.
A adição para o reforço SLS do kernel Linux através do suporte do compilador está agora sob revisão ema lista de discussão do kernel. A opção Kconfig é simplesmente padronizada para o comportamento SLS “all” mais forte. Então, uma vez que este patch esteja atualizado, teremos a certeza de verificar seu impacto no desempenho e ver se a opção HARDEN_SLS_ALL acaba sendo amplamente usada por fornecedores de distribuição em nome de Segurança ARM. Então, agora resta esperar para sabermos o resultado deste trabalho que não tem data certa para conclusão.
Phoronix