A demanda por unidades de processamento gráfico ou GPUs explodiu nos últimos anos, à medida que os sistemas de renderização de vídeo e inteligência artificial expandiram a necessidade de poder de processamento. E enquanto a maioria das escassez mais visíveis (e preços de ações em alta) estão relacionadas aos chips de PC e servidor de primeira linha, os processadores gráficos móveis são a versão que todos com um smartphone usam todos os dias. Portanto, vulnerabilidades nesses chips ou como eles são implementados podem ter consequências no mundo real. É exatamente por isso que a equipe vermelha de caça às vulnerabilidades do Android do Google colocou seus olhos no software de código aberto da gigante dos chips Qualcomm, que é amplamente usada para implementar GPUs móveis.
Na conferência de segurança Defcon em Las Vegas na sexta-feira, três pesquisadores do Google apresentaram mais de nove vulnerabilidades — agora corrigidas — que descobriram na GPU Adreno da Qualcomm, um conjunto de software usado para coordenar entre GPUs e um sistema operacional como o Android em telefones com tecnologia Qualcomm. Esses “drivers” são cruciais para como qualquer computador é projetado e têm privilégios profundos no kernel de um sistema operacional para coordenar entre periféricos de hardware e software. Os invasores podem explorar as falhas que os pesquisadores encontraram para assumir o controle total de um dispositivo.
Durante anos, engenheiros e invasores têm se concentrado mais em vulnerabilidades potenciais na unidade central de processamento (CPU) de um computador e têm otimizado a eficiência em GPUs, apoiando-se nelas para poder de processamento bruto. Mas, à medida que as GPUs se tornam mais centrais para tudo o que um dispositivo faz o tempo todo, hackers em ambas as pontas do espectro estão observando como a infraestrutura de GPU pode ser explorada.
“Somos uma equipe pequena em comparação ao grande ecossistema Android — o escopo é muito grande para cobrirmos tudo, então temos que descobrir o que terá o maior impacto”, diz Xuan Xing, gerente do Android Red Team do Google. “Então por que focamos em um driver de GPU para este caso? É porque não há permissão necessária para que aplicativos não confiáveis acessem drivers de GPU. Isso é muito importante e acho que atrairá a atenção de muitos invasores.”
Xing está se referindo ao fato de que aplicativos em telefones Android podem falar com o driver de GPU Adreno diretamente, “sem sandboxing, sem verificações de permissão adicionais”, como ele diz. Isso não dá aos aplicativos a capacidade de se tornarem desonestos, mas torna os drivers de GPU uma ponte entre as partes regulares do sistema operacional (onde dados e acesso são cuidadosamente controlados) e o kernel do sistema, que tem controle total sobre todo o dispositivo, incluindo sua memória. “Os drivers de GPU têm todos os tipos de funções poderosas”, diz Xing. “Esse mapeamento na memória é um primitivo poderoso que os invasores querem ter.”
Os pesquisadores dizem que as vulnerabilidades que eles descobriram são todas falhas que surgem das complexidades e interconexões complicadas que os drivers de GPU devem navegar para coordenar tudo. Para explorar as falhas, os invasores precisariam primeiro estabelecer acesso a um dispositivo alvo, talvez enganando as vítimas para que carreguem aplicativos maliciosos de forma lateral.
“Há muitas partes móveis e nenhuma restrição de acesso, então os drivers de GPU são facilmente acessíveis para praticamente todos os aplicativos”, diz Eugene Rodionov, líder técnico do Android Red Team. “O que realmente torna as coisas problemáticas aqui é a complexidade da implementação — esse é um item que responde por uma série de vulnerabilidades.”
Qualcomm patches lançados pelas falhas dos “fabricantes de equipamentos originais” (OEMs) que usam chips e software Qualcomm nos telefones Android que eles fazem. “Em relação aos problemas de GPU divulgados pelo Android Security Red Team, patches foram disponibilizados aos OEMs em maio de 2024”, disse um porta-voz da Qualcomm à WIRED. “Nós encorajamos os usuários finais a aplicar atualizações de segurança dos fabricantes de dispositivos assim que elas se tornarem disponíveis.”
O ecossistema Android é complexo, e os patches devem passar de um fornecedor como a Qualcomm para OEMs e, então, serem empacotados por cada fabricante de dispositivo individual e entregues aos telefones dos usuários. Esse processo de gotejamento às vezes significa que os dispositivos podem ficar expostos, mas o Google passou anos investindo para melhorar esses pipelines e agilizar a comunicação.
Ainda assim, as descobertas são mais um lembrete de que as próprias GPUs e o software que as suporta têm o potencial de se tornar um campo de batalha crítico na segurança de computadores.
Como Rodionov coloca, “combinar alta complexidade de implementação com ampla acessibilidade faz dela um alvo muito interessante para invasores”.