Um grupo de pesquisadores de várias universidades dos EUA desenvolveu uma nova técnica de ataque via canais laterais, permitindo recriar informações visuais processadas na GPU. Com o método proposto, chamado GPU.zip, o atacante pode determinar as informações exibidas na tela. Entre outras coisas, o ataque pode ser realizado através de um navegador web, demonstrando, por exemplo, como uma página web maliciosa aberta no Chrome pode obter informações sobre os pixels exibidos ao renderizar outra página web aberta no mesmo navegador.
A fonte da vazamento de informações é a otimização aplicada nas GPUs modernas, que garante a compressão dos dados gráficos. O problema se manifesta ao usar compressão em todas as GPUs integradas testadas (AMD, Apple, ARM, Intel, Qualcomm) e em placas de vídeo discretas da NVIDIA. Os pesquisadores descobriram que as GPUs integradas da Intel e AMD sempre ativam a compressão de dados gráficos, mesmo que o aplicativo não solicite especificamente a aplicação dessa otimização. O uso da compressão faz com que o tráfego na DRAM e a carga no cache correlacionem-se com a natureza dos dados processados, que podem ser recriados pixel por pixel através da análise via canais laterais.
O método é bastante lento; por exemplo, em um sistema com GPU integrada AMD Ryzen 7 4800U, o ataque para determinar o nome pelo qual o usuário entrou em outra aba do Wikipedia levou 30 minutos e permitiu identificar o conteúdo dos pixels com precisão de 97%. Em sistemas com GPU integrada Intel i7-8700, um ataque semelhante levou 215 minutos com precisão de 98%.
Ao realizar um ataque através do navegador, o site alvo é aberto ciclicamente em um iframe para iniciar a renderização. Para determinar as informações exibidas, a saída do iframe é transformada em uma representação em preto e branco, à qual se aplica um filtro SVG, realizando sobreposições sucessivas de máscaras que introduzem e não introduzem grande redundância durante a compressão. Com base na avaliação da mudança no tempo de renderização de amostras de referência, é destacado a presença de pixels escuros ou claros em uma determinada posição. A imagem total é recriada através de uma verificação pixel por pixel usando essas máscaras.

Os fabricantes de GPU e navegadores foram avisados sobre o problema em março, mas nenhum fornecedor ainda preparou uma correção, pois a execução de um ataque na prática não é considerada viável em condições ideais e o problema é de maior interesse teórico. O Google ainda não decidiu sobre a viabilidade de bloquear o ataque no nível do navegador Chrome. O Chrome é vulnerável pois permite o carregamento de iframe de outro site sem limpar os Cookies, permite a aplicação de filtros SVG em iframes e delega a renderização ao GPU. Firefox e Safari não são vulneráveis, pois não atendem a esses critérios. O ataque também não é aplicável a sites que proíbem a incorporação através de iframe em outros sites (por exemplo, definindo o cabeçalho HTTP X-Frame-Options como 'SAMEORIGIN' ou 'DENY', assim como através de configurações de acesso utilizando o cabeçalho Content-Security-Policy).
Fonte: opennet.ru
