Novo ataque BlindSide usa execução especulativa para contornar ASLR

A nova técnica BlindSide abusa do recurso interno de aumento de desempenho da CPU para contornar a proteção de segurança do sistema operacional.

blindside.png

Os acadêmicos desenvolveram uma nova técnica para atacar sistemas de computador seguros abusando da execução especulativa, um mecanismo de CPU normalmente usado para otimizações de desempenho.

A técnica, chamada  BlindSide , foi detalhada em um artigo [ PDF ] publicado na semana passada por uma equipe de acadêmicos do Stevens Institute of Technology em New Jersey, ETH Zurich e da Vrije University em Amsterdam.

Os pesquisadores dizem que o BlindSide pode ser usado para criar exploits que contornam o  ASLR  (Address Space Layout Randomization) em sistemas operacionais modernos.

BLINDSIDE PODE IGNORAR ASLR

Os endereços de memória são importantes para um invasor. Se um invasor sabe onde um aplicativo executa seu código dentro da memória, um hacker pode ajustar as explorações que atacam aplicativos específicos e roubam informações confidenciais. Como seu nome sugere, o ASLR funciona aleatoriamente no local onde o código é executado dentro da memória, neutralizando efetivamente os ataques até que os invasores encontrem uma maneira de contornar o ASLR.

Para contornar o ASLR, um invasor geralmente precisa encontrar um tipo de vulnerabilidade de “vazamento de informações” que vaza locais de memória; ou o invasor pode sondar a memória até encontrar o local apropriado onde outro aplicativo é executado e, em seguida, modificar seu código para direcionar esse espaço de endereço de memória.

Ambas as técnicas são difíceis de executar, especialmente a segunda, que freqüentemente leva a travamentos do sistema ou à detecção ruidosa do invasor pelos sistemas de segurança.

O novo ataque BlindSide funciona movendo esse comportamento de sondagem para o reino da execução especulativa.

A execução especulativa  é um recurso de aumento de desempenho dos processadores modernos. Durante a execução especulativa, uma CPU executa operações antecipadamente e em paralelo com a thread computacional principal.

Quando o thread principal da CPU atinge certos pontos, a execução especulativa permite que ele escolha um valor já calculado e passe para a próxima tarefa, um processo que resulta em operações computacionais mais rápidas. Todos os valores calculados durante a execução especulativa são descartados, sem impacto no sistema operacional.

Os acadêmicos dizem que esse mesmo processo, que pode acelerar bastante as CPUs, também pode “[amplificar] a gravidade das vulnerabilidades comuns de software, como erros de corrupção de memória, introduzindo  sondagem especulativa “.

Efetivamente, o BlindSide pega uma vulnerabilidade em um aplicativo de software e a explora continuamente no domínio de execução especulativa, sondando repetidamente a memória até que o invasor contorne o ASLR.

Como esse ataque ocorre dentro do reino da execução especulativa, todas as sondagens e travamentos com falha não afetam a CPU ou sua estabilidade à medida que ocorrem e são suprimidos e, em seguida, descartados.

Tudo o que o invasor precisa é de uma vulnerabilidade simples de corrupção de memória que eles possam explorar em um sistema. Em seu trabalho de pesquisa, a equipe usou um único estouro de buffer no kernel do Linux para:

  1. Quebre KASLR com BlindSide para montar um exploit ROP confiável;
  2. Quebre os esquemas de randomização arbitrária com BlindSide para montar um exploit de dados arquitetônicos (vazando o hash da senha root);
  3. Quebre a randomização refinada e a memória somente para execução do kernel para despejar o texto completo do kernel e montar um exploit ROP confiável.

Os pesquisadores disseram que o BlindSide efetivamente permite que os invasores “hackear às cegas”, sem a necessidade de se preocupar com o ASLR.

Ataques BlindSide também funcionam independentemente da arquitetura, sendo testados em CPUs Intel e AMD.

Além disso, os ataques BlindSide também funcionam, apesar das atenuações recentes que os fornecedores de CPU adicionaram contra ataques de execução especulativa como Spectre, Meltdown e outros.

O trabalho de pesquisa da equipe propõe várias mitigações que os fabricantes de sistemas operacionais podem implantar para conter os ataques BlindSide.

Fonte: https://www.zdnet.com/article/new-blindside-attack-uses-speculative-execution-to-bypass-aslr/