Nova variante de ataque Foreshadow afetando processadores Intel, AMD, ARM e IBM

Um grupo de pesquisadores da Universidade Técnica de Graz (Áustria) e do Centro Helmholtz para Segurança da Informação (CISPA), revelado (PDF) um novo vetor para usar ataques de canal lateral Prenúncio (L1TF), que permite extrair dados da memória de enclaves Intel SGX, SMM (System Management Mode), áreas de memória do kernel do sistema operacional e máquinas virtuais em sistemas de virtualização. Ao contrário do ataque original proposto em 2018 Prenúncio A nova variante não é específica dos processadores Intel e afeta CPUs de outros fabricantes como ARM, IBM e AMD. Além disso, a nova variante não exige alto desempenho e o ataque pode ser realizado até mesmo executando JavaScript e WebAssembly em um navegador web.

O ataque Foreshadow aproveita o fato de que quando a memória é acessada em um endereço virtual que resulta em uma exceção (falha de página terminal), o processador calcula especulativamente o endereço físico e carrega os dados se estiverem disponíveis no cache L1. O acesso especulativo é executado antes que a pesquisa na tabela de páginas de memória seja concluída e independentemente do estado da entrada da tabela de páginas de memória (PTE), ou seja, antes de verificar a presença de dados na memória física e sua legibilidade. Após a conclusão da verificação de disponibilidade de memória, na ausência do sinalizador Present no PTE, a operação é descartada, mas os dados permanecem no cache e podem ser recuperados usando métodos para determinar o conteúdo do cache através de canais laterais (analisando mudanças no tempo de acesso para dados armazenados em cache e não armazenados em cache).

Os pesquisadores demonstraram que os métodos existentes de proteção contra o Foreshadow são ineficazes e implementados com uma interpretação incorreta do problema. Vulnerabilidade
O Foreshadow pode ser explorado independentemente dos mecanismos de segurança do kernel que anteriormente eram considerados suficientes. Como resultado, os pesquisadores demonstraram a possibilidade de realizar um ataque Foreshadow em sistemas com kernels relativamente antigos, nos quais todos os modos de proteção Foreshadow disponíveis estão habilitados, bem como com novos kernels, nos quais apenas a proteção Spectre-v2 está desabilitada (usando a opção do kernel Linux nospectre_v2).

Foi descoberto que efeito de pré-carga não relacionado a instruções de pré-busca de software ou efeito de hardware
pré-busca durante o acesso à memória, mas ocorre quando desreferências especulativas do espaço do usuário são registradas no kernel. Esta interpretação errada da causa da vulnerabilidade levou inicialmente à suposição de que o vazamento de dados no Foreshadow só poderia ocorrer através do cache L1, enquanto a presença de certos trechos de código (gadgets de pré-busca) no kernel poderia contribuir para o vazamento de dados fora do cache L1, por exemplo, no cache L3.

O recurso identificado também abre a possibilidade de criação de novos ataques voltados aos processos de tradução de endereços virtuais em físicos em ambientes isolados e determinação de endereços e dados armazenados em registradores de CPU. Como demonstração, os pesquisadores mostraram a possibilidade de usar o efeito identificado para extrair dados de um processo para outro com desempenho de cerca de 10 bits por segundo em um sistema com CPU Intel Core i7-6500U. A possibilidade de vazamento do conteúdo do registro do enclave Intel SGX também é mostrada (demorou 32 minutos para determinar um valor de 64 bits gravado em um registro de 15 bits). Alguns tipos de ataques revelaram-se possíveis de implementar em JavaScript e WebAssembly, por exemplo, foi possível determinar o endereço físico de uma variável JavaScript e preencher registos de 64 bits com um valor controlado pelo atacante.

Para bloquear o ataque Foreshadow através do cache L3, o método de proteção Spectre-BTB (Branch Target Buffer) implementado no conjunto de patches retpoline é eficaz. Assim, os pesquisadores acreditam que é necessário deixar o retpoline habilitado mesmo em sistemas com novas CPUs que já possuem proteção contra vulnerabilidades conhecidas no mecanismo de execução especulativa da CPU. Ao mesmo tempo, os representantes da Intel afirmaram que não planejam adicionar medidas adicionais de proteção contra Foreshadow aos processadores e consideram suficiente incluir proteção contra ataques Spectre V2 e L1TF (Foreshadow).

Fonte: opennet.ru

Adicionar um comentário