Contents

A vulnerabilidade do chip moderno

/images/ghostrace-vulnerabilita-processori.jpg -Gerenciamento de patches

As condições de corrida são situações indesejadas que surgem na maioria das vezes quando um thread tenta acessar um recurso compartilhado sem atividade de sincronização adequada. Vulnerabilidades do tipo “concurrent use-after-free” (UAF) ocorrem quando um programa ou o próprio sistema operacional acessa uma região de memória liberada (desalocada) e que pode já ter sido atribuída a outra parte do programa ou para outra entidade.

Os pesquisadores da VUSec e da IBM divulgaram a existência de um novo modo de ataque denominado GhostRace que afetaria todos os principais sistemas operacionais e processadores dos diversos fabricantes, independentemente da arquitetura (portanto, por exemplo tanto x86 quanto ARM).

Quando vários threads ou processos interagem simultaneamente em uma região de memória previamente liberada, eles podem de fato criar cenários complexos. A competição entre threads para acessar a memória desalocada pode causar resultados imprevisíveis e potencialmente perigosos.

Qualquer invasor pode explorar essas vulnerabilidades para sobrescrever dados confidenciais, manipular o fluxo de execução de programas ou até mesmo obter a execução de código arbitrário.

Execução especulativa e primitivas de sincronização

Para mitigar os efeitos das vulnerabilidades do tipo UAF, os sistemas operacionais contam com primitivas de sincronização como mutex , spinlock e assim por diante. Os autores da descoberta do GhostRace, no entanto, explicam que “durante a execução especulativa, as primitivas de sincronização simplesmente não funcionam”.

EU'execução especulativa é a fase em que o processador executa instruções antecipadamente com base em previsões feitas durante o fluxo de execução de qualquer programa. Neste momento, as primitivas de sincronização não funcionam conforme o esperado. Como a execução especulativa não respeita as regras de sincronização padrão, as threads podem acessar recursos compartilhados simultaneamente e, portanto, simultaneamente.

A “descoberta chave” é que as técnicas de sincronização usadas para proteger as partes críticas do código , podem ser ignoradas quando o processador executa operações especulativas. Isso ocorre por meio de um tipo de ataque conhecido como Spectre-v1, que é bastante conhecido e data do início de 2018.

Na verdade, foram justamente as falhas Spectre e Meltdown que iniciaram a descoberta de uma ampla gama de possibilidades de ataques de canal lateral aos processadores. Como resultado, mesmo partes do código que deveriam estar protegidas contra problemas de simultaneidade tornam-se vulneráveis ​​a ataques. Os invasores, justamente aproveitando uma condição de corrida, podem obter informações confidenciais do software visado.

Quanto há para se preocupar com a descoberta do GhostRace

O problema com o GhostRace é que ele afeta toda a gama de sistemas operacionais e microprocessadores disponíveis hoje no mercado. No geral, o GhostRace é preocupante porque, ao aproveitar a condição de corrida, qualquer invasor pode extrair informações confidenciais da memória do sistema.

Além disso, o GhostRace questiona a eficácia das técnicas de sincronização tradicionais: sua evasão durante a execução especulativa pode tornar vulneráveis ​​partes do código anteriormente consideradas seguras.

A extensão dos vetores de ataque por meio de novas técnicas, exemplificadas pelo Inter-Process Interrupt (IPI) Storming conforme detalhado no relatório técnico da VUSec, amplia o escopo de oportunidade para os adversários executarem ataques altamente eficazes de fluxo de informações não intencionados (UAF) dentro de um quadro temporal maior..

Como a vulnerabilidade GhostRace pode ser explorada em uma ampla variedade de hardware e software, envolvendo fornecedores de hardware e fabricantes de software, ela representa uma ameaça significativa à segurança de sistemas de computador em vários contextos, incluindo data centers, dispositivos IoT, sistemas embarcados e muito mais.

É óbvio que para desencadear o ataque GhostRace, o sistema deve estar executando código malicioso. Os canais a serem protegidos, portanto, permanecem sempre os mesmos, a menos que surja algo exploit “zero-click” (nenhuma interação do usuário é necessária) que permite explorar o problema remotamente, por exemplo, contornando as proteções do navegador da web.

Problema já relatado aos desenvolvedores

No final de 2023, os investigadores optaram por transmitir informações sobre a vulnerabilidade do GhostRace às principais partes interessadas, tanto na indústria de hardware quanto no domínio do desenvolvimento do kernel Linux.

No momento, no lado do Linux, parece que os responsáveis ​​pelo desenvolvimento do kernel estão preocupados principalmente com o desempenho e não querem correr o risco de penalizá-los com uma solução precipitada. Quando se trata de aplicar patches que envolvem o uso de ataques do tipo canal lateral Na verdade, o preço a ser pago em termos de desempenho muitas vezes pode ser tudo menos insignificante.

À luz das informações fornecidas pela VUSec, parece que a proposta técnica apresentada pela equipa de investigação deverá ter um efeito na eficiência global de aproximadamente 5%, conforme indicado através de testes realizados na plataforma LMBench. No entanto, parece não haver menção ou discussão sobre potenciais soluções para os sistemas adicionais em consideração.

AMD, por sua vez, enfatiza que as mitigações atuais do Spectre v1 ainda devem se aplicar a possíveis explorações do GhostRace e, como isso já foi abordado no passado, deve ser apenas uma questão de tempo para chegar a uma solução compartilhada.

O crédito da imagem de abertura é atribuído a “Software Techniques for Management Speculation in AMD Processors”, uma publicação da AMD.

barra lateral inferior relacionada 300

*️⃣ Link da fonte:

VUSec e IBM divulgados , Documento técnico VUSec , Técnicas de software para gerenciar especulação em processadores AMD,