O mais recente ataque Spectre apelidado de SgxSpectre pode expor dados confidenciais armazenados em enclaves SGX em risco
Falha de CPU Specter-Meltdown[1] detectado no início de 2018 representa um desafio maior do que o esperado pela Microsoft, Intel e outros gigantes da tecnologia. Não apenas conseguiu se estender dos chips Intel e AMD para os chips Skylake, Kaby Lake e Coffee Lake; permitiu que hackers iniciassem várias campanhas de distribuição de malware[2] e ataques baseados em software.
No início de março de 2018, um grupo de seis pesquisadores de TI da Ohio State University detectou uma nova variante do ataque Spectre apelidada de SgxSpectre, que pode ser usado para crackear os enclaves de Extensões de Proteção de Software da Intel (SGX) que são responsáveis pelo isolamento de componentes. Na verdade, os dados protegidos por esses enclaves são provavelmente os mais confidenciais de todos, uma vez que os componentes do sistema operacional não têm permissão para interagir com os dados protegidos por enclaves.
Caroline Trippel e Daniel Lustig, pesquisadores da Princeton University, e Margaret Martonosi da Nvidia previu a possibilidade de tais ataques e delineou o cenário em um trabalho científico chamado “MeltdownPrime e SpectrePrime: Exploração de ataques sintetizados automaticamente. Protocolos de Coerência Baseados na Invalidação. ”[3] Estas são as vulnerabilidades Meltdown e Spectre mais recentes que podem resultar no ataque de dados confidenciais.
Vulnerabilidades anteriores de Meltdown e Spectre não tinham acesso a dados confidenciais protegidos por SGX
O Software Guard Extensions (SGX) da Intel é um recurso relativamente novo, que está disponível nos processadores modernos da Intel. Permite a criação dos chamados enclaves para proteção de software, que tratam de dados e informações de codificação extremamente sensíveis.
Os efeitos posteriores dos ataques Spectre e Meltdown anteriores no SGX não foram claros. No entanto, a imunidade dos enclaves SGX levantou muitas questões desde o início. Descobriu-se que nenhuma dessas vulnerabilidades exibe características que permitem quebrar a proteção SGX, mas aparentemente os hackers buscam os dados dentro dos enclaves. É por isso que SgxSpectre evoluiu.
De acordo com pesquisadores de vulnerabilidade SgxSpectre,[4] a vulnerabilidade permite a exploração de “A condição de corrida entre as referências de memória injetadas e executadas especulativamente, que levam a rastreamentos de cache observáveis de canal lateral, e a latência da resolução de ramificação”. Atualmente, a vulnerabilidade pode afetar Intel SGX, SDK, Rust-SGX e Graphene-SDX.
O sistema pode ser afetado quando um padrão de código específico em bibliotecas de software é ativado. O invasor que busca as informações mantidas dentro dos enclaves emprega execução especulativa e realiza a previsão do código do enclave procurando por pequenas variações no tamanho do cache. Conforme explicado pelos pesquisadores,
As unidades de previsão de ramificação usadas no modo de enclave para prever alvos de ramificação não são completamente limpas na entrada do enclave. Portanto, o código fora do enclave de destino (em execução na região de memória desprotegida ou em outro enclave) pode manipular os alvos da previsão de ramificação dentro do enclave de destino.
A Intel lançou uma ferramenta de verificação de vulnerabilidade
Todo o procedimento pode parecer difícil para pessoas que não estão enredadas no mundo da TI. Resumindo, com a ajuda das vulnerabilidades Meltdown e Spectre, os hackers encontraram uma maneira de explorar as fraquezas dos padrões de código SDX. Essas vulnerabilidades subsequentemente permitem que os hackers modifiquem as bibliotecas de tempo de execução do SDK e ataquem qualquer sistema desenvolvido com o SGX SDK oficial da Intel.
A Intel e a Microsoft reagiram à vulnerabilidade detectada de Meltdown e Spectre imediatamente e começaram a lançar patches. Infelizmente, nem todos estão funcionando, por isso é obrigatório acompanhar as notícias sobre esta vulnerabilidade.
Indirect Branch Restricted Speculation (IBRS) é uma das correções representadas pela Intel. Ele aborda a Variante Spectre com o fornecimento de microcódigo adaptado. No entanto, este patch não é orientado para a vulnerabilidade do SGX SDK.
O prazo para a data de lançamento do patch SgxSpectre é 16 de março de 2018. Os desenvolvedores de aplicativos terão que alterar a versão anterior do SDK por aquela que a Intel está prestes a lançar nos aplicativos baseados em SGX.
Para aqueles que desejam verificar se seus PCs contêm códigos vulneráveis, os especialistas criaram uma ferramenta de verificação de vulnerabilidades,[5] que verifica programas enclave e verifica o padrão de código. No caso de exploits SgxPectre serem detectados, o usuário será avisado e instado a instalar o kit de ferramentas desenvolvido pela Intel junto com o kit de ferramentas de desenvolvimento de software desatualizado para fornecedores de aplicativos SGX.