Simple Science

Ciência de ponta explicada de forma simples

# Informática# Criptografia e segurança# Arquitetura de Hardware

Novo Ataque de Cache Contorna Defesas de Segurança

Um novo ataque de cache explora políticas de substituição pra vazar informações sensíveis.

― 6 min ler


Ataque de Cache EscapaAtaque de Cache Escapadas Defesasser detectado.Novo método expõe dados sensíveis sem
Índice

Nos computadores modernos, uma parte chamada cache da CPU armazena informações pra agilizar os processos. Mas esse cache também pode revelar segredos através de um método conhecido como ataques por canal lateral de cache. Esses ataques podem vazar informações sensíveis ao observar como o cache é acessado por diferentes processos.

Pra parar esse tipo de ataque, os pesquisadores criaram duas estratégias principais: uma que detecta quando alguém tenta acessar o cache de forma inadequada, e outra que tranca informações sensíveis no cache, impedindo o acesso. Este artigo discute um ataque que consegue driblar essas defesas, permitindo acessar informações sem disparar alarmes.

Como o Ataque Funciona

O novo ataque foca na forma como o cache funciona nos processadores Intel e Apple, especificamente na Política de Substituição do cache. Essa política é como o cache decide quais dados manter e quais remover. O ataque pode usar essa política pra descobrir quais dados estão sendo acessados, sem precisar remover ou tocar em nenhuma informação sensível diretamente.

Propriedades do Ataque

  1. Sem Necessidade de Evicção: O ataque não precisa remover nenhum dado do cache, o que permite evitar mecanismos de defesa comuns.
  2. Sincronização Mínima: O atacante só precisa coordenar um único acesso à memória do cache, o que significa que pode evitar criar muito barulho que poderia alertar as defesas.
  3. Vazando Dados através de Memória Não Compartilhada: O ataque pode reunir informações mesmo sem memória compartilhada entre o atacante e a vítima.

Analisando os metadados do cache relacionados à política de substituição, o atacante pode inferir quais dados sensíveis estão sendo acessados pela vítima.

O Desafio dos Ataques ao Cache

Ataques ao cache podem ser complicados, já que geralmente dependem de diferenças de tempo entre acessar dados em cache e dados que não estão em cache. Quando os processos acessam o cache, eles deixam pistas que podem ser usadas pra juntar o que estão fazendo. Porém, muitas defesas tentam mascarar essas pistas gerenciando quais dados estão armazenados no cache.

Tradicionalmente, ataques ao cache limpam partes do cache pra forçar evicções, que podem sinalizar quais dados foram acessados com base no tempo que leva pra recuperá-los depois. Métodos de defesa mais novos tentam evitar isso pré-carregando dados e mantendo-os seguros no cache até que sejam necessários.

Entendendo as Políticas de Substituição do Cache

Quando o cache enche, ele tem que decidir quais dados remover pra abrir espaço pra novos dados. Essa decisão é feita usando uma política de substituição, que ajuda a acompanhar quais dados estão sendo acessados com mais frequência. A política Least Recently Used (LRU) é um exemplo comum, onde dados mais antigos que não foram acessados por um tempo são removidos primeiro.

A política Tree-based Pseudo Least Recently Used (Tree-PLRU) é uma variação dessa política que organiza os dados do cache em uma estrutura de árvore. Isso permite ao sistema tomar decisões de evicção de forma mais eficiente, mas também dá uma ideia de quão frequentemente dados específicos estão sendo acessados.

Análise Técnica dos Mecanismos do Ataque

Preparando o Ataque

O atacante primeiro prepara o cache preenchendo seções específicas com seus próprios dados. Isso é feito acessando locais de memória que correspondem aos conjuntos de cache que ele deseja atingir. Uma vez que eles tenham preparado o cache com seus dados, eles então esperam a execução do processo da vítima.

Retocando o Cache

Quando a vítima acessa seus dados, o atacante pode usar uma técnica chamada "retocar" pra modificar o estado do cache. Manipulando cuidadosamente as entradas do cache, o atacante pode descobrir se a vítima acessou seus dados pré-carregados ou não. Essa manipulação não requer memória compartilhada entre o atacante e a vítima.

Medindo Padrões de Acesso

Depois de retocar, o atacante pode medir como o cache se comporta quando novos acessos ocorrem. Se o acesso da vítima seguir a interferência do atacante, isso vai se manifestar através de mudanças no estado do cache, que o atacante pode então observar e analisar.

Implicações das Descobertas

Esse novo ataque mostra que, mesmo com as defesas modernas aplicadas, ainda existem vulnerabilidades em como os sistemas de cache operam. Especificamente, ao explorar a mecânica subjacente da gestão de cache, o atacante pode reunir uma quantidade significativa de informações sem ser detectado.

Isso destaca o desafio crescente de garantir ambientes de computação seguros, já que ataques por canal lateral baseados em cache continuam a evoluir e se adaptar às contra-medidas.

Mecanismos de Defesa

A ameaça constante de ataques por canal lateral de cache levou os pesquisadores a desenvolver várias mecânicas de defesa. Essas defesas visam detectar quando um ataque está acontecendo ou prevenir que o atacante aprenda algo útil.

Técnicas Baseadas em Detecção

Uma abordagem é monitorar padrões incomuns de acesso ao cache. Quando um atacante preenche intencionalmente o cache e depois mede os tempos, isso pode disparar alertas em um sistema bem monitorado. Mantendo um olho atento no comportamento do cache e procurando anomalias, os sistemas podem detectar quando um atacante está tentando explorar o cache.

Técnicas de Pré-Carregamento e Bloqueio do Cache

Outro método é pré-carregar dados sensíveis no cache antes de serem acessados. Ao preencher o cache com os dados essenciais com antecedência, há menos chance de revelar qualquer informação secreta quando a vítima acessa seus próprios dados. Além disso, técnicas como bloqueio impedem que o cache seja evicto ou manipulado tão facilmente quanto antes.

Limitações das Defesas

Apesar dessas defesas, o ataque descrito aqui ainda pode ter sucesso. Ao não exigir evicções, essa abordagem permite que o atacante reúna informações sem alertar as defesas. À medida que o cenário de segurança continua a evoluir, os pesquisadores devem constantemente atualizar suas defesas pra acompanhar esses métodos de ataque avançados.

Conclusão

O cache é um componente crítico da computação moderna, mas suas vulnerabilidades podem levar a riscos de segurança significativos. Através de manipulações inteligentes do comportamento do cache e exploração eficaz de políticas de substituição, atacantes podem revelar informações sensíveis sem levantar alarmes.

À medida que a corrida armamentista entre atacantes e defensores continua, entender esses ataques e desenvolver defesas melhores se torna cada vez mais importante. As descobertas apresentadas aqui enfatizam a necessidade de pesquisa contínua em segurança de cache e estratégias abrangentes pra proteger contra ataques por canal lateral.

Fonte original

Título: Prime+Retouch: When Cache is Locked and Leaked

Resumo: Caches on the modern commodity CPUs have become one of the major sources of side-channel leakages and been abused as a new attack vector. To thwart the cache-based side-channel attacks, two types of countermeasures have been proposed: detection-based ones that limit the amount of microarchitectural traces an attacker can leave, and cache prefetching-and-locking techniques that claim to prevent such leakage by disallowing evictions on sensitive data. In this paper, we present the Prime+Retouch attack that completely bypasses these defense schemes by accurately inferring the cache activities with the metadata of the cache replacement policy. Prime+Retouch has three noticeable properties: 1) it incurs no eviction on the victim's data, allowing us to bypass the two known mitigation schemes, 2) it requires minimal synchronization of only one memory access to the attacker's pre-primed cache lines, and 3) it leaks data via non-shared memory, yet because underlying eviction metadata is shared. We demonstrate Prime+Retouch in two architectures: predominant Intel x86 and emerging Apple M1. We elucidate how Prime+Retouch can break the T-table implementation of AES with robust cache side-channel mitigations such as Cloak, under both normal and SGX-protected environments. We also manifest feasibility of the Prime+Retouch attack on the M1 platform imposing more restrictions where the precise measurement tools such as core clock cycle timer and performance counters are inaccessible to the attacker. Furthermore, we first demystify undisclosed cache architecture and its eviction policy of L1 data cache on Apple M1 architecture. We also devise a user-space noise-free cache monitoring tool by repurposing Intel TSX.

Autores: Jaehyuk Lee, Fan Sang, Taesoo Kim

Última atualização: 2024-02-23 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2402.15425

Fonte PDF: https://arxiv.org/pdf/2402.15425

Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes