Novo ataque SLAM rouba dados sensíveis de CPUs da AMD, futuros CPUs da Intel
7 de Dezembro de 2023

Pesquisadores acadêmicos desenvolveram um novo ataque de canal paralelo chamado SLAM que explora recursos de hardware projetados para melhorar a segurança em futuros CPUs da Intel, AMD e Arm para obter a hash da senha root da memória do kernel.

SLAM é um ataque de execução transitória que tira vantagem de um recurso de memória que permite que o software use bits de endereço não traduzidos em endereços lineares de 64 bits para armazenar metadados.

Os fornecedores de CPU implementam isso de maneiras diferentes e têm termos distintos para isso.

A Intel o chama de Linear Address Masking (LAM), a AMD o denomina Upper Address Ignore (UAI), e a Arm se refere ao recurso como Top Byte Ignore (TBI).

O ataque SLAM, um abreviamento para Spectre baseado em LAM, foi descoberto por pesquisadores do Systems and Network Security Group (VUSec Group) na universidade Vrije Universiteit Amsterdam, que demonstraram sua validade emulando o recurso LAM futuro da Intel em um sistema Ubuntu de última geração.

Segundo a VUSec, o SLAM impacta principalmente futuros chips que atendem a critérios específicos.

As razões para isso incluem a falta de verificações fortes de canonicalidade nos futuros designs de chips.

Além disso, enquanto os recursos avançados de hardware (por exemplo, LAM, UAI e TBI) melhoram a segurança e o gerenciamento de memória, eles também introduzem condições de disputa micro-arquitetônicas exploráveis.

O ataque aproveita uma nova técnica de execução transitória que se concentra em explorar uma classe anteriormente inexplorada de dispositivos de divulgação de Spectre, especificamente aqueles envolvendo perseguição de ponteiros.

"Gadgets" são instruções em código de software que o invasor pode manipular para acionar a execução especulativa de uma maneira que revele informações sensíveis.

Embora os resultados da execução especulativa sejam descartados, o processo deixa rastros, como estados de cache alterados, que os invasores podem observar para inferir informações sensíveis, como dados de outros programas ou mesmo do sistema operacional.

O ataque SLAM tem como alvo "gadgets" não mascarados que usam dados secretos como um ponteiro, que os pesquisadores reportam serem comuns em softwares e podem ser explorados para vazar dados do kernel ASCII arbitrários.

Os pesquisadores desenvolveram um scanner com o qual encontraram centenas de gadgets exploráveis no kernel Linux.

O vídeo a seguir demonstra o ataque que vaza a hash da senha root do kernel.

Em um cenário prático, um invasor precisaria executar no sistema alvo código que interage com os "gadgets" não mascarados e, em seguida, medir cuidadosamente os efeitos colaterais usando algoritmos sofisticados para extrair informações sensíveis, como senhas ou chaves de criptografia, da memória do kernel.

O código e os dados para reproduzir o ataque SLAM estão disponíveis no repositório GitHub da VUSec.

Os pesquisadores também publicaram um documento técnico explicando como o ataque funciona.

A VUSec observa que o SLAM impacta os seguintes processadores:

Processadores AMD existentes vulneráveis ao CVE-2020-12965
Futuros processadores Intel com suporte LAM (com paginação de 4 e 5 níveis)
Futuros processadores AMD com suporte UAI e paginação de 5 níveis
Futuros processadores Arm com suporte TBI e paginação de 5 níveis

Em resposta à divulgação dos pesquisadores, a Arm publicou um aviso explicando que seus sistemas já mitigam contra o Spectre v2 e Spectre-BHB e não planejam nenhuma ação adicional em resposta ao SLAM.

A AMD também apontou para as atuais mitigações do Spectre v2 para enfrentar o ataque SLAM descrito pelo grupo de pesquisa VUSec e não forneceu nenhuma orientação ou atualização que diminuiria o risco.

A Intel anunciou planos para fornecer orientação de software antes de lançar futuros processadores que suportam LAM, como a implantação do recurso com a extensão de segurança Linear Address Space Separation (LASS) para prevenir acessos especulativos de endereço entre o modo usuário/kernel.

Até que mais orientações estejam disponíveis, os engenheiros de Linux criaram patches que desabilitam o LAM.

Publicidade

Aprenda hacking e pentest na prática com esse curso gratuito

Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...