
Novamente! Apenas duas semanas atrás,
conversamos sobre novos ataques Spectre usando o método de gravação especulativa. As notícias mais importantes da semana passada são novamente sobre a família Spectre e agora são muito mais legais. Pesquisadores da Universidade Técnica de Graz, na Áustria, encontraram uma maneira de recuperar dados de um canal de terceiros remotamente, daí o nome do ataque.
Eu gostaria de dizer que o ataque do NetSpectre não requer a execução de nenhum código no sistema sob ataque (ao contrário, por exemplo, de um ataque do navegador no JavaScript), mas isso não é totalmente verdade. No contexto do NetSpectre, o "código" é o trabalho de rotina com outros computadores na rede, que o invasor não controla diretamente, mas pode afetá-lo. A capacidade de detectar remotamente diferenças microscópicas entre diferentes modos de operação do processador é impressionante. Como é o caso de outros estudos de Spectre, o trabalho é (até agora) teórico, e o novo ataque é caracterizado por uma velocidade de extração de dados incrivelmente lenta: unidades de bits por minuto. Visão geral de novos ataques (em termos humanos), publicado
aqui , embora ainda seja melhor ler o
estudo original .

Antes da publicação do estudo NetSpectre, o código JavaScript que normalmente era executado em um navegador era geralmente
oferecido como um ataque remoto indicativo ao mecanismo de execução de código especulativo. Este método, segundo os autores do novo trabalho, proporcionou a possibilidade de uma medição bastante precisa dos atrasos entre a solicitação e o recebimento de dados. Como isso, em princípio, ocorre em ataques do tipo Spectre (e já existem muitos), a diferença no tempo de resposta nos permite reconstruir dados aos quais o executável não tem acesso.
O NetSpectre não requer que um invasor execute código diretamente no sistema de destino. Em vez disso, a troca usual de dados pela rede é usada, por exemplo, baixando arquivos do servidor atacado e transferindo pacotes de rede únicos. Os pesquisadores criaram uma estrutura artificial a partir de um servidor vulnerável (em um exemplo, era um computador com um processador Intel Core i5-6200U), no software de rede em que havia dois dispositivos. Gadgets significam um certo mecanismo que implementa certas propriedades de que precisamos, parte do software vulnerável. O "gadget de vazamento" criou as condições para uma solicitação especulativa de dados confidenciais mais ou menos padrão para ataques do tipo Spectre por:
O termo para o segundo gadget é um pouco confuso. Naturalmente, o “dispositivo de transferência” não é uma vulnerabilidade que transfere diretamente segredos da memória principal ou do cache da CPU para o invasor, como ocorre em um ataque mais simples do
Heartbleed (quatro anos se passaram, você precisa!). O "dispositivo de transferência" cria as condições em que um invasor pode analisar o atraso na transmissão de dados a partir do qual as informações necessárias podem ser reconstruídas.
Os pesquisadores propuseram dois canais de vazamento de dados de terceiros para um ataque do NetSpectre. O primeiro repete quase completamente o mecanismo do Spectre original e usa o cache do processador. O segundo não usa o cache: em vez disso, o bloco de cálculo de instruções do conjunto
AVX2 é usado. Como essas unidades são caracterizadas por alto consumo de energia, são desligadas quando não há carga. Após o recebimento das instruções do aparelho, sua inclusão ocorre com um pequeno atraso, que também pode ser medido remotamente. Esse método é várias vezes mais rápido que as manipulações “tradicionais” de cache: a reconstrução de dados por meio do cache ocorreu em uma LAN de gigabit a uma velocidade de 4 bits por minuto e, com a ajuda do AVX2, já era possível transferir 8 bytes por minuto.
Por que tão lento? Você pode entender, por exemplo, desta imagem do estudo:
O ataque Spectre original, realizado diretamente no sistema atacado, requer a medição do atraso na resposta do processador às instruções da ordem de milissegundos. Também é bastante lento - o "roubo de dados" é possível a velocidades de alguns kilobits por segundo. Qualquer coisa pode afetar o atraso na transmissão de pacotes de rede, de modo que o NetSpectre "congela" - ou seja, conduz um ataque bem-sucedido - muitas vezes seguidas para obter o bit ou byte necessário com alta confiabilidade a partir dos valores médios.
Portanto, é alcançada uma precisão razoável do ataque com
centenas de milhares e milhões de medições . Em
cada um deles, é necessário executar uma operação complexa, que inclui, por exemplo, liberar o cache baixando um arquivo de 590 kilobytes de tamanho. A propósito, os algoritmos de aprendizado de máquina não foram usados no processamento de dados: obviamente ajudarão a reduzir o número de medições necessárias para a reconstrução precisa dos dados. Quando o atacante e a vítima não estão na mesma rede local, esses algoritmos serão necessários; caso contrário, um byte será "transmitido" em 160 milhões de medições (!) Por 8 horas (3 horas usando o método AVX2).
Os pesquisadores realizaram o ataque com sucesso usando computadores e laptops com processadores Intel, dispositivos com processadores ARM Cortex A75 e também com o Google Cloud Platform (entre duas máquinas virtuais). Mais uma vez, o ataque é completamente teórico. Para sua implementação em condições reais, você precisa encontrar os "gadgets" apropriados em uma versão específica do software (por exemplo, o kernel do Linux) instalado em um servidor específico. É necessário fornecer condições para interação com o servidor, que nem sempre são viáveis. Em particular, os pesquisadores indicam diretamente que qualquer meio de proteção contra ataques DDoS banirá um invasor quase instantaneamente - devido ao número de solicitações e à quantidade de dados transferidos. Até o modelo de processador da linha é importante: para o Core i5 usado no trabalho, com três megabytes, o cache funcionará, mas para outros (com um tamanho de cache diferente), talvez não.
Mas ainda impressionante! Isso é abruptamente algum tipo de microfone "laser" que remove as vibrações das janelas da sala. O NetSpectre não apresenta riscos adicionais: a Intel comentou o fato de que os já conhecidos métodos de mitigação Spectre também funcionam para a encarnação da rede. Vou assumir a velocidade de desenvolvimento de novos métodos de ataque - e sugeriu que as formas mais interessantes para
roubar dados através da janela aberta ainda está por vir. Não importa quanto eles custam muito dinheiro para todos nós - no contexto de uma queda forçada na produtividade e na necessidade de custos de capital dos fornecedores.
Isenção de responsabilidade: as opiniões expressas neste resumo nem sempre coincidem com a posição oficial da Kaspersky Lab. Caros editores, geralmente recomendam tratar qualquer opinião com ceticismo saudável.