.

As GPUs de todos os seis principais fornecedores estão vulneráveis a um ataque recém-descoberto que permite que sites maliciosos leiam nomes de usuário, senhas e outros dados visuais confidenciais exibidos por outros sites, demonstraram pesquisadores em um artigo publicado na terça-feira.
O ataque de origem cruzada permite que um site malicioso de um domínio – digamos, example.com – leia efetivamente os pixels exibidos por um site de example.org ou outro domínio diferente. Os invasores podem então reconstruí-los de uma forma que lhes permita visualizar as palavras ou imagens exibidas pelo último site. Este vazamento viola um princípio crítico de segurança que constitui um dos limites de segurança mais fundamentais para proteger a Internet. Conhecida como política de mesma origem, ela exige que o conteúdo hospedado em um domínio de site seja isolado de todos os outros domínios de site.
Otimizando a largura de banda com um custo
GPU.zip, como foi nomeado o ataque de prova de conceito, começa com um site malicioso que coloca um link para a página que deseja ler dentro de um iframe, um elemento HTML comum que permite que os sites incorporem anúncios, imagens, ou outro conteúdo hospedado em outros sites. Normalmente, a mesma política de origem impede que qualquer site inspecione o código-fonte, o conteúdo ou o produto visual final do outro. Os pesquisadores descobriram que a compactação de dados usada pelas GPUs internas e discretas para melhorar o desempenho atua como um canal secundário que eles podem abusar para contornar a restrição e roubar pixels um por um.
“Descobrimos que as GPUs modernas tentam compactar automaticamente esses dados visuais, sem qualquer envolvimento do aplicativo”, escreveu Yingchen Wang, autor principal e pesquisador da Universidade do Texas em Austin, por e-mail. “Isso é feito para economizar largura de banda de memória e melhorar o desempenho. Como a compressibilidade depende dos dados, essa otimização cria um canal lateral que pode ser explorado por um invasor para revelar informações sobre os dados visuais.”
Para que GPU.zip funcione, uma página maliciosa deve ser carregada nos navegadores Chrome ou Edge. Diferenças ocultas na forma como o Firefox e o Safari funcionam impedem que o ataque seja bem-sucedido quando esses navegadores processam uma página de ataque. Outro requisito é que a página vinculada no iframe não seja configurada para negar ser incorporada por sites de origem cruzada.
As ameaças à segurança que podem resultar quando o HTML é incorporado em iframes em sites maliciosos são bem conhecidas há mais de uma década. A maioria dos sites restringe a incorporação de páginas de origem cruzada que exibem nomes de usuário, senhas ou outros conteúdos confidenciais por meio de cabeçalhos X-Frame-Options ou Content-Security-Policy. Nem todos, porém, o fazem. Um exemplo é a Wikipedia, que mostra os nomes de usuário das pessoas que fazem login em suas contas. Uma pessoa que deseja permanecer anônima ao visitar um site em que não confia pode ser descoberta se contiver um iframe contendo um link para https://en.wikipedia.org/wiki/Main_Page
.

Wang et al.
Os pesquisadores mostraram como o GPU.zip permite que um site malicioso que eles criaram para seu PoC roube pixels, um por um, do nome de usuário da Wikipedia de um usuário. O ataque funciona em GPUs fornecidas pela Apple, Intel, AMD, Qualcomm, Arm e Nvidia. No Ryzen 7 4800U da AMD, GPU.zip levou cerca de 30 minutos para renderizar os pixels alvo com 97% de precisão. O ataque levou 215 minutos para reconstruir os pixels exibidos em um sistema rodando Intel i7-8700.
Todas as GPUs analisadas usam formas proprietárias de compactação para otimizar a largura de banda disponível no barramento de dados de memória do PC, telefone ou outro dispositivo que exibe o conteúdo alvo. Os esquemas de compressão variam de fabricante para fabricante e não estão documentados, por isso os pesquisadores fizeram a engenharia reversa de cada um deles. Os insights produziram um método que usa o SVG, ou formato de imagem gráfica vetorial escalável, para maximizar as diferenças no tráfego DRAM entre pixels alvo em preto e branco na presença de compactação. Embora o artigo discuta GPU.zip conforme se aplica a iGPUs, ou GPUs internas, a técnica se aplica igualmente a GPUs independentes ou discretas.
Em seu artigo, os pesquisadores escreveram:
Demonstramos que um invasor pode explorar o canal de compressão baseado em iGPU para realizar ataques de roubo de pixels de origem cruzada no navegador usando filtros SVG (a versão mais recente do Google Chrome em abril de 2023), mesmo que os filtros SVG sejam implementados em tempo constante. A razão é que o invasor pode criar padrões altamente redundantes ou não redundantes, dependendo de um único pixel secreto no navegador. À medida que esses padrões são processados pelo iGPU, seus vários graus de redundância fazem com que a saída da compactação sem perdas dependa do pixel secreto. A saída de compactação dependente de dados se traduz diretamente em tráfego DRAM dependente de dados e ocupação de cache dependente de dados. Consequentemente, mostramos que, mesmo sob o modelo de ameaça mais passivo – onde um invasor só pode observar informações de redundância de granulação grossa de um padrão usando um temporizador de granulação grossa no navegador e não tem a capacidade de selecionar entrada de forma adaptativa – pixels individuais podem ser vazou. Nosso ataque de prova de conceito é bem-sucedido em uma variedade de dispositivos (incluindo computadores, telefones) de diversos fornecedores de hardware com arquiteturas de GPU distintas (Intel, AMD, Apple, Nvidia). Surpreendentemente, nosso ataque também teve sucesso em GPUs discretas, e temos resultados preliminares indicando a presença de compressão transparente de software nessas arquiteturas também.
.