Pesquisadores que detectaram Meltdown e Spectre desenvolvem novo ataque

Pesquisadores que detectaram Meltdown e Spectre desenvolvem novo ataque

Um grupo de pesquisadores de segurança, vários dos quais participaram da detecção das primeiras vulnerabilidades do Meltdown e do Specter, desenvolveram um novo tipo de ataque a canais de terceiros. Esse ataque é feito com base na análise de conteúdo do cache de páginas. Este conteúdo possui informações obtidas como resultado do acesso do sistema operacional aos discos, unidades SSD e outros dispositivos de bloqueio. Leia neste post que os pesquisadores que detectaram Meltdown e Spectre desenvolvem novo ataque.

Como é o ataque

ubuntu-atualizacao-do-meltdown-e-spectre-esta-bloqueando-computadores

Ao contrário dos ataques de Specter, a nova vulnerabilidade não é causada por problemas de hardware. Diz respeito somente a implementações de software do cache de páginas e se manifesta no Linux (CVE-2019-5489), Windows e provavelmente em muitos outros sistemas operacionais.

Então, ao manipular chamadas de sistema mincore (Linux) e QueryWorkingSetEx (Windows) para determinar a presença de uma página de memória no cache da página do sistema, um invasor local sem privilégios pode rastrear alguns acessos à memória de outros processos.

O ataque permite rastrear o acesso no nível de bloco de 4 kilobytes com uma resolução de tempo de 2 microssegundos no Linux (6,7 medições por segundo) e 446 nanossegundos no Windows (223 medições por segundo).

O cache da página acumula dados bastante diversos, incluindo extrações de arquivos executáveis, bibliotecas compartilhadas, dados carregados no disco, arquivos refletidos na memória e outras informações que normalmente são armazenadas no disco e usadas pelo sistema operacional e pelos bancos de dados. aplicações

O que é esse ataque?

Meltdown

O ataque é baseado no fato de que todos os processos usam um cache de página do sistema comum. Assim, a presença ou ausência de informações nesse cache pode ser determinada alterando o atraso na leitura de dados. Isso no disco ou consultando as chamadas do sistema.

As páginas no cache podem ser refletidas em uma área de memória virtual usada por vários processos. Por exemplo, somente uma cópia de uma biblioteca compartilhada pode estar presente na memória física. Portanto, isso pode ser refletido na memória virtual de diferentes aplicativos.

As chamadas de sistema Mincore e QueryWorkingSetEx simplificam bastante um ataque. Elas permitem identificar imediatamente quais páginas de memória de um determinado intervalo de endereços estão presentes no cache da página. O ataque só pode ser usado para a transmissão de dados ocultos.

Existe uma solução contra isso?

Sim, já existe uma solução do Linux. Portanto, esse tipo de pesquisa ajuda a detectar problemas antes que outros com intenções prejudiciais os aproveitem.

Para o kernel do Linux, a solução já está disponível como um patch, que já está descrito e documentado aqui .

Da mesma forma, no caso do Windows 10, o problema foi resolvido em uma compilação de teste (Insider Preview Build) 18305.

O ataque permite:

  • a criação de um canal de transmissão de dados a partir de ambientes isolados;
  • a recriação de elementos de interface na tela (por exemplo, diálogos de autenticação);
  • a definição de pressionamentos de tecla e a recuperação de senhas temporárias geradas automaticamente).