10 pontos por kuroneko 2023-09-27 | 2 comentários | Compartilhar no WhatsApp
  • Um ataque que pode vazar pixels de outras páginas web em navegadores baseados em Chromium com GPU.
    • Infere os pixels na tela explorando uma otimização de compressão de dados gráficos transparentes presente na GPU.
    • É necessário que a página web alvo seja incorporada por uma página web maliciosa via iframe etc., ou, ao contrário, que a página web alvo seja incorporada como iframe em uma página web maliciosa.
  • A maioria das GPUs pode ser afetada, incluindo GPUs da Nvidia e GPUs integradas da AMD, Apple, Intel e outras.
    • Foi fornecido um exemplo real em que uma página web maliciosa descobre o nome de um usuário conectado à Wikipedia.
  • Dependendo da GPU, a taxa de sucesso do ataque é de cerca de 96%.
    • No entanto, como a inferência precisa ser feita pixel por pixel, descobrir todos os pixels da tela leva bastante tempo (30 ~ 200 minutos).
  • Essa vulnerabilidade foi compartilhada com os fornecedores em março de 2023, mas ainda não há nenhum lugar com patch aplicado.

2 comentários

 
kuroneko 2023-09-27

Então é naquele intervalo entre reportar a vulnerabilidade e divulgá-la publicamente que eles preparam um nome bonito e um logo, né...?

Enfim, é bem interessante.

Por causa do método de compressão gráfica da GPU, ocorre uma pequena diferença durante a renderização,
e dizem que, com essa diferença, dá para inferir os pixels daquela região comprimida (4x4 ou 8x8).

ps.
"ou a página web a ser atacada é inserida na página web maliciosa por meio de um iframe etc." <- essa parte não está muito clara...
Pelo que entendi, parece que o ataque é possível no caso em que "a página web a ser atacada é inserida por iframe na página web maliciosa".

 
kuroneko 2023-09-27

Resumo por IA do tópico do HN

  • vessenes: aplaude a conquista técnica do ataque, mas o avalia mais como uma demonstração de força de engenharia bem pensada do que como algo belo. Destaca que ele funciona explorando a diferença no tempo de processamento da GPU entre pixels escuros e claros.
  • twelvechairs: questiona por que a correção proposta não é simplesmente impedir a incorporação de iframes entre sites, já que outros navegadores também adotam essa abordagem.
  • chatmasta: sugere, como meio-termo, introduzir uma flag de CSP ou exigir opt-in para filtros SVG em sites dentro de iframes. Questiona se realmente existe um caso de uso claro que exija filtros SVG em iframes de origem cruzada.
  • kevingadd: aponta que, mesmo sem aceleração por hardware, filtros SVG ainda podem expor um canal lateral de dados temporais, então a GPU não seria a causa fundamental.
  • stuaxo: propõe a “lei de Axon”, segundo a qual qualquer otimização suficientemente rápida acaba sendo reaproveitada como vetor de ataque.
  • vacuity: diz que problemas como Spectre surgem quando o desempenho é levado longe demais e pede um artigo intitulado “Otimizações consideradas nocivas”.
  • pests: a reconstrução de pixels de notas em um AMD Ryzen levou 30 minutos com 97% de precisão, enquanto em um Intel i7 levou 215 minutos.
  • anfilt: acredita que o problema real está no navegador, já que não é um problema de GPU e apenas o Chromium é afetado.
  • stalfosknight: concorda que, como outros navegadores são imunes, isso deve ser visto mais como um exploit do Chromium do que como um problema de GPU.

Resumo por IA do artigo

Este white paper investiga a compressão transparente de dados gráficos por software realizada pelas GPUs integradas (iGPUs) de processadores Intel e AMD. Como essa compressão é aplicada mesmo sem solicitação explícita do software, é difícil para os desenvolvedores recusá-la.

Os autores apresentam evidências da existência de compressão baseada em iGPU por meio de experimentos que rastreiam o tráfego de DRAM e o tempo de renderização com vários padrões gráficos. Eles descobriram que a compressão induz comportamento dependente dos dados no uso de DRAM e na ocupação do cache.

Por meio de engenharia reversa, foi revelado que os algoritmos de compressão usados em iGPUs recentes da Intel e da AMD diferem entre fornecedores e não são documentados. As GPUs da Intel tentam representar janelas de 4x8 pixels usando uma única linha de cache, enquanto as GPUs da AMD tentam representar janelas de 8x8 usando de 1 a 3 linhas de cache.

O artigo demonstra um ataque de roubo de pixels cross-origin contra a versão mais recente do Google Chrome. Ao gerar padrões altamente redundantes ou não redundantes conforme os pixels secretos, o atacante pode inferir os valores dos pixels por meio dos efeitos de compressão da iGPU dependentes dos dados sobre o tráfego de DRAM e o tempo de renderização.

Esta pesquisa desafia a noção convencional de que a compressão pode ser tratada como software e chama atenção para técnicas de compressão sutis e não documentadas com implicações para segurança e privacidade por meio de canais laterais. Também destaca a necessidade de mitigação por software contra vazamentos involuntários de informação causados por otimizações de hardware.