Tornado público esta semana por pesquisadores de segurança de CPU da Graz University of Technology e CISPA Helmholtz Center for Information Security foi o artigo de pesquisa publicado”AMD Prefetch Attacks through Power e tempo”. O artigo aponta para CPUs da AMD que sofrem de uma vulnerabilidade de vazamento de canal lateral por meio de variações de tempo e energia da instrução PREFETCH. O artigo argumenta que as CPUs da AMD devem ativar um isolamento mais forte da tabela de páginas por padrão. A AMD publicou sua resposta de segurança em que não está recomendando nenhuma alteração de mitigação no momento. Mas e se o Kernel Page Table Isolation (KPTI/PTI) for necessário para CPUs AMD? Aqui estão alguns benchmarks iniciais que mostram como poderia ser o impacto no desempenho.
O whitepaper de ataque AMD PREFETCH pode ser lido aqui (PDF). Os pesquisadores escreveram:”Descobrimos variações de tempo e potência da instrução de pré-busca que podem ser observadas em um espaço de usuário sem privilégios. Em contraste com o trabalho anterior em ataques de pré-busca na Intel, mostramos que a instrução de pré-busca no AMD vaza ainda mais informações. Demonstramos a importância deste canal lateral com vários estudos de caso em cenários do mundo real. Demonstramos a primeira quebra de microarquitetura de KASLR (refinado) em CPUs AMD. Monitoramos a atividade do kernel, por exemplo, se o áudio é reproduzido por Bluetooth, e estabelecemos um canal secreto. Por fim, vazamos até memória do kernel com 52,85 B/s com dispositivos Spectre simples no kernel do Linux. Mostramos que o isolamento mais forte da tabela de páginas deve ser ativado em CPUs AMD por padrão para mitigar nossos ataques apresentados com sucesso.”
Este artigo foi aceito para a conferência USENIX Security 2022. Os pesquisadores da Graz University of Technology estiveram anteriormente envolvidos em outras descobertas de vulnerabilidade de segurança de microarquitetura de CPU, como Meltdown, PLATYPUS, LVI e outros.
Uma viagem pré-pandêmica a Graz… A TU Graz, na Áustria, está se tornando cada vez mais conhecida por sua pesquisa de segurança de microarquitetura de CPU.
O artigo de Moritz Lipp, Daniel Gruss e Michael Schwarz sugere que um isolamento mais forte da tabela de páginas (PTI) deve ser implementado por padrão para os processadores AMD devido às suas descobertas. O kernel do Linux já oferece suporte ao isolamento de tabela de página de kernel que foi trazido por causa do Meltdown.
Esta vulnerabilidade é atribuída a CVE-2021-26318 ,”Um ataque de canal lateral baseado em tempo e energia aproveitando as instruções x86 PREFETCH em algumas CPUs AMD pode resultar em vazamento de informações de espaço de endereço do kernel.”.
A AMD, entretanto, esta semana emitiu o boletim AMD-SB-1017 . Nesse boletim de segurança, eles resumiram:”Pesquisadores da Graz University of Technology com CISPA Helmholtz Center for Information Security demonstraram ataques de canal lateral baseados em tempo e energia alavancando as instruções x86 PREFETCH em algumas CPUs AMD. Os ataques discutidos no documento não o fazem diretamente vazamento de dados através dos limites do espaço de endereço. Como resultado, a AMD não está recomendando nenhuma redução no momento.”
Eles reconhecem que”todas as CPUs da AMD”são produtos afetados e encorajam as melhores práticas de mitigação padrão, incluindo manutenção software do sistema e firmware atualizados.
Portanto, embora a AMD não recomende nenhuma nova mudança de mitigação, dados os pesquisadores sugerindo o contrário e já contornando vários leitores Phoronix perguntando sobre as implicações de desempenho, * se * o o padrão era mudar… Eu executei alguns benchmarks.
Com o kernel do Linux já suportando o isolamento da tabela da página do kernel, embora não habilitado por padrão em CPUs AMD, é ea sy para testar o comportamento de outra forma. KPTI já pode ser forçado para CPUs AMD no Linux se inicializar com a opção de kernel”pti=on”(não deve ser confundida com a opção”kpti=1″que é para controlar o isolamento da tabela de página para sistemas AArch64, infelizmente através de um diferente knob).
Graz, Áustria também é conhecida por O tempo de Arnold Schwarzenegger lá e o delicioso Puntigamer.
Então, para responder à pergunta sobre o impacto no desempenho”se”(K) PTI se provar necessário para CPUs AMD, aqui estão alguns benchmarks preliminares mostrando que o impacto seria para pti=on com processadores AMD. Linux 5.15 Git foi usado para teste e nenhuma outra mudança foi feita durante o teste além de uma reinicialização do kernel com”pti=on”ativo.
Também vale a pena mencionar que, além da AMD não recomendar nenhuma mudança de mitigação neste tempo, os desenvolvedores de kernel Linux externos até agora não propuseram nenhum patch de kernel alterando qualquer comportamento de isolamento de tabela de página ou os padrões. Então, por enquanto, apenas pegue esses resultados como um cenário hipotético se o KPTI precisar ser ativado para CPUs AMD ou se eles forem muito paranóicos com segurança e fique do lado dos pesquisadores sobre a necessidade de habilitá-lo. Também é possível que, caso seja necessário um isolamento aprimorado da tabela de páginas, a AMD ou outras partes possam sugerir melhorias ou alternativas ao código KPTI existente.
Assim, com esses avisos fora do caminho, aqui está um observe o AMD Ryzen 9 5900X em várias cargas de trabalho do Linux se inicializar com a opção”pti=on”. Apenas alguns testes rápidos por curiosidade, pelo menos até que haja alguma orientação nova/alterada sobre o assunto.