Windows corrige silenciosamente falha que poderia zoar soluções de Meltdown e Spectre em CPUs Intel
A Microsoft consertou uma “séria falha de segurança nos processadores Intel” que ameaçava desfazer o trabalho das duas companhias na correção das vulnerabilidades Spectre e Meltdown, conforme noticiou o Tom’s Guide.
Spectre e Meltdown eram falhas enormes, reveladas em 2018, relacionadas com a maneira com que os processadores da Intel lidavam com a execução especulativa, uma técnica utilizada em chips modernos para aumentar a performance.
A execução especulativa se vale da previsão de quais cálculos um processador precisará realizar na sequência, permitindo que o chip trabalhe em tarefas antecipadamente e paralelamente, em vez de fazer tudo isso em uma sequência estrita.
Uma falha irreparável de hardware em praticamente todas as CPUs da Intel fazia com que elas não verificassem as permissões corretamente e vazassem informações sobre comandos especulativos que nunca foram executados, permitindo que um atacante pudesse dar uma olhada em dados ultra-sensíveis da memória de kernel.
O problema atingiu principalmente a Intel, mas competidores como AMD e ARM também foram comprometidas, em menor escala.
Correções foram lançadas, mas justamente quando os patches foram liberados pesquisadores da empresa de cibersegurança Bitdefender descobriram um problema que ameaçava tornar essas correções inúteis para as máquinas com Windows, conforme mostra a reportagem do Tom’s Guide.
O pessoal da Bitdefender revelou a falha durante a conferência de cibersegurança Black Hat nesta terça-feira (6), em Las Vegas, quase que um ano depois de a terem descoberto.
De acordo com o Tom’s Guide, a “falha afeta uma instrução do sistema em versões 64-bit do Windows chamada SWAPGS, um conjunto de instruções em nível de kernel introduzido com os processadores Ivy Bridge da Intel em 2012 que pode ser executado especulativamente em modo usuário”.
Isso, por si só, violava a separação das funções do sistema e do usuário e, ao manipular essa falha, um atacante poderia roubar dados do kernel do sistema (potencialmente expondo tudo, desde senhas e chaves de criptografia até outros dados protegidos).
O Tom’s Guide escreveu que a vulnerabilidade também trouxe uma possível solução alternativa para as correções de segurança lançadas após a bagunça do Meltdown e do Spectre:
[…] a falha SWAPGS permite que os atacantes ignorem completamente o isolamento da tabela de página do kernel (KPTI), o método mais utilizado para evitar ataques do Meltdown e Spectre, bem como todas as outras medidas de correção de falhas de execução especulativa.
É provável que os pesquisadores da Bitdefender tenham sido os primeiros a descobrir essa falha, mas como a própria empresa declarou em um comunicado de imprensa “É possível que um atacante com conhecimento da vulnerabilidade possa tê-la explorado para roubar informações confidenciais”.
Os pesquisadores da Bitdefender descobriram que a vulnerabilidade (registrada como CVE-2019-1125) afetou máquinas da Microsoft que usavam processadores Intel. Tudo foi corrigido em uma atualização silenciosa liberada nesta terça-feira (6).
Segundo a Ars Technica, os pesquisadores da Bitdefender também testaram duas CPUs da AMD e não conseguiram encontrar um problema semelhante, já que a implementação da função SWAPGS pela AMD não parecia depender de uma execução especulativa.
O diretor de pesquisa de ameaças e relatórios da Bitdefender, Bogdan Botezatu, disse ao site que era tecnicamente possível executar o exploit em sistemas Linux, Unix, ou FreeBSD, ou macOS, mas que por razões técnicas isso seria “inviável”.
“O que nós descobrimos foi uma maneira de explorar a instrução SWAPGS que muda do modo usuário para o modo kernel de tal forma que nós poderíamos […] realizar um ataque side-channel”, disse Botezatu à Ars Technica. “Ao fazer isso, nós poderíamos vazar a memória do kernel para o modo de usuário, mesmo que haja medidas de segurança que nos impeçam de fazer isso”.
Botezatu também disse à Ars Technica que uma das formas mais prováveis de explorarem essa falha seria por meio de ataque coordenado por um Estado contra um serviço de nuvem, já que isso poderia afetar várias máquinas virtuais que estivessem rodando na mesma CPU.
Tal ataque “faria sentido para um atacante patrocinado pelo Estado que tenha acesso a recursos em um ambiente multitenancy“, disse Botezatu, acrescentando que esse método demora horas e horas para de fato roubar os dados, mas é relativamente silencioso, podendo não ser detectado por até um ano.