Lembra-se da época em que o ápice da navegação pela internet era o Flash? Quando morreu, muitos se questionaram o que seria dos web apps e dos jogos pelo navegador. Atualmente, praticamente qualquer aplicação pode rodar via navegador, sendo possível acessar até mesmo sistemas operacionais completos hospedados em algum servidor. Com isso, precisaram construir vias de acesso ao hardware do computador pelo navegador de internet, atualmente o meio mais popular para acessar a GPU é o WebGL, mas ele está sendo substituído pelo WebGPU.
O WebGPU é muito mais eficiente e poderoso do que o WebGL, entretanto, pesquisadores da Universidade de Tecnologia de Graz encontraram brechas que permitem roubar dados graças a falta de barreiras de acesso entre o WebGPU e a placa de vídeo. Atualmente, os principais navegadores do mercado possuem suporte, ao menos inicial, ao WebGPU.
Como funciona o ataque à GPU
Para elaborar a pesquisa, a equipe utilizou placas de vídeo NVIDIA GTX da série 1000, além das RTX série 2000, 3000 e 4000, assim como placas AMD RX série 6000. Eles constataram que conseguem roubar dados sem a necessidade do usuário interagir com o site malicioso, numa velocidade compatível com hábitos padrão de quem navega pela internet.
Para isso, utilizaram o acesso ao cache de memória do computador disponível ao WebGPU, que servem originalmente para acesso rápido a dados compartilhados entre CPU e GPU.
Dessa forma, conseguiram estabelecer um meio de interceptar dados trafegados pelo cache, inclusive aqueles não relacionados à navegação pela internet, transferindo a servidores externos numa velocidade de 10,9 kbps, rápido o bastante para informações curtas.
O mais grave, é que conseguiram capturar chaves de criptografia AES, um dos mais populares. Com estas chaves, os atacantes podem potencialmente acessar contas virtuais e capturar mensagens, mesmo após perder acesso ao computador da vítima.
Eles reconhecem que fora de um ambiente controlado, o ataque que desenvolveram perde consideravelmente a eficácia, devido à grande quantidade de dados que trafegam paralelamente no cache e a rapidez com que são apagados, ainda assim, a técnica poderia ser trabalhada para ficar mais robusta.
A recomendação que os pesquisadores fazem é para os desenvolvedores dos navegadores tratarem o acesso a GPU da mesma forma como já ocorre com outros recursos que podem comprometer a segurança e a privacidade. Ou seja, mantendo isolado, conforme o nível de permissão dado pelo usuário.
Fique por dentro das principais notícias da semana sobre o mundo do Linux e da tecnologia, assine nossa newsletter!