Vulnerabilidade Pixnapping: capturas de tela sem restrição no seu telefone Android

O Pixnapping é uma vulnerabilidade do Android descoberta por pesquisadores que permite que aplicativos roubem senhas, códigos de uso único e outras informações confidenciais da tela, sem necessidade de permissões especiais do sistema operacional. Como isso funciona e o que é possível fazer para se proteger?

O Android aumenta constantemente as restrições de aplicativos com o intuito de impedir que golpistas consigam usar softwares maliciosos para roubar dinheiro, senhas e informações confidenciais de usuários. No entanto, uma nova vulnerabilidade apelidada de Pixnapping é capaz de driblar todas as camadas de proteção do Android, possibilitando que um invasor leia os pixels de imagem da tela de forma imperceptível, ou seja, faça uma captura de tela.

Um aplicativo malicioso sem nenhuma permissão pode ver senhas, saldos de contas bancárias, códigos de uso único e qualquer outra informação que o usuário do Android visualizar na tela. Felizmente, no momento, o Pixnapping é apenas um projeto baseado em pesquisa e ainda não está sendo explorado ativamente por atores de ameaças. Resta esperar que o Google corrija completamente a vulnerabilidade antes que o código de ataque seja incorporado a malwares do mundo real. Atualmente, a vulnerabilidade Pixnapping (CVE-2025-48561) deve afetar todos os smartphones modernos com sistema Android, incluindo os que executam as versões mais recentes deste sistema.

Por que a captura e leitura de telas e a projeção de mídias são perigosas

Conforme demonstrado pelo SparkCat, um malware de roubo de dados que usa OCR, os atores de ameaças já dominam o processamento de imagens. Se houver uma informação valiosa em uma imagem no smartphone, o malware poderá detectá-la, executar o reconhecimento óptico de caracteres diretamente no telefone e, em seguida, extrair os dados para o servidor do invasor. O SparkCat é particularmente significativo por ter conseguido se infiltrar nos marketplaces de aplicativos oficiais, incluindo a App Store. Não seria difícil para um aplicativo malicioso infectado com Pixnapping replicar esse truque, até mesmo porque o ataque não exige permissões especiais. Um aplicativo aparentemente útil e legítimo pode enviar simultânea e silenciosamente códigos únicos de autenticação multifator, senhas de carteiras de criptomoedas e qualquer outra informação aos golpistas.

Visualizar os dados necessários conforme são exibidos, em tempo real, também é uma tática popular usada pelos agentes maliciosos. Nessa abordagem de engenharia social, eles entram em contato com a vítima por meio de um aplicativo de mensagens e a convencem, sob vários pretextos, a ativar o compartilhamento de tela.

Anatomia do ataque Pixnapping

Os pesquisadores conseguiram capturar o conteúdo de outros aplicativos combinando métodos já conhecidos de roubo de pixels de navegadores e de unidades de processamento gráfico (GPUs) de telefones ARM. Furtivamente, o aplicativo de ataque sobrepõe janelas translúcidas às informações desejadas e, em seguida, analisa como o sistema de vídeo combina os pixels das janelas em uma imagem final.

Em 2013, pesquisadores descreveram um ataque em que um site foi capaz de carregar outro dentro de sua própria janela (usando um iframe) e, ao executar operações legítimas de sobreposição e transformação de imagens, deduzir exatamente o que foi desenhado ou escrito no outro site. Embora os navegadores mais modernos tenham conseguido evitar esse ataque específico, um grupo de pesquisadores dos EUA descobriu como realizá-lo no Android.

O aplicativo malicioso envia uma chamada do sistema para o aplicativo de destino. No Android, isso é conhecido como Intent. Os Intents costumam permitir tanto a inicialização simples do aplicativo quanto a abertura imediata de um navegador a partir de uma URL específica ou de um aplicativo de mensagens a partir de uma conversa com um contato específico. O aplicativo de ataque envia um Intent desenvolvido para forçar o aplicativo alvo a renderizar a tela com as informações confidenciais. São utilizadas bandeiras especiais de inicialização ocultas. Então, o aplicativo de ataque envia um Intent de inicialização para si mesmo. Essa combinação específica de ações faz com que o aplicativo não apareça na tela da vítima, mas exiba as informações solicitadas pelo invasor em uma janela em segundo plano.

No segundo estágio do ataque, o aplicativo malicioso sobrepõe várias janelas translúcidas com a janela oculta do aplicativo afetado, cada uma delas cobrindo e desfocando o conteúdo da janela abaixo de si. Esse mecanismo complexo permanece invisível para o usuário, mas o Android calcula cuidadosamente como seria a aparência dessa combinação de janelas se o usuário a trouxesse para o primeiro plano.

O aplicativo de ataque só é capaz de ler diretamente os pixels das suas próprias janelas translúcidas; o invasor não tem acesso direto à imagem combinada final, que incorpora o conteúdo da tela do aplicativo da vítima. Para contornar essa restrição, os pesquisadores empregam dois truques engenhosos: (i) o pixel que se deseja roubar é isolado dos outros ao seu redor, sobrepondo o aplicativo da vítima com uma janela fosca com um único ponto transparente compatível com o pixel desejado; (ii) coloca-se uma camada de ampliação com o desfoque elevado habilitado por cima dessa combinação.

Como a vulnerabilidade Pixnapping funciona

Como a vulnerabilidade Pixnapping funciona

Para decifrar o mush resultante e determinar o valor do pixel da janela inferior, os pesquisadores se aproveitaram de outra vulnerabilidade famosa, a GPU.zip (esse link pode se parecer com o link de um arquivo, mas conduz ao site de uma pesquisa). Essa vulnerabilidade baseia-se no fato de que todos os smartphones modernos comprimem os dados de qualquer imagem enviada da CPU para a GPU. Essa compactação não gera perdas (como um arquivo ZIP), mas a velocidade de compactação e descompactação sofre alterações dependendo das informações transmitidas. A GPU.zip possibilita que um invasor analise o tempo necessário de compactação dos dados. E ao cronometrar essas operações, o invasor pode deduzir quais dados estão sendo transferidos. Com a ajuda da GPU.zip, o pixel isolado, desfocado e ampliado da janela do aplicativo da vítima pode ser lido com êxito pelo aplicativo malicioso.

Roubar algo significativo requer que todo o processo de roubo de pixels seja repetido centenas de vezes, pois ele precisa ser feito para cada ponto separadamente. No entanto, isso é totalmente viável dentro de um curto período de tempo. Nessa demonstração em vídeo do ataque, um código de seis dígitos do Google Authenticator foi extraído com sucesso em apenas 22 segundos, enquanto o código ainda estava válido.

Como o Android protege a confidencialidade da tela

Os engenheiros do Google possuem quase duas décadas de experiência no combate a diversos ataques de privacidade, o que resultou na criação de uma defesa estratificada contra a captura ilegal de telas e vídeos. Uma lista completa dessas proteções necessitaria de várias páginas. Portanto, selecionamos apenas algumas das principais:

  • O sinalizador da janela FLAG_SECURE evita que o sistema operacional faça capturas de tela do conteúdo.
  • O acesso às ferramentas de projeção de mídia (que capturam o conteúdo da tela como um fluxo de mídia) requer a confirmação explícita do usuário, podendo ser feito apenas por aplicativos visíveis e ativos.
  • Restrições rígidas são impostas ao acesso a serviços administrativos, como o AccessibilityService, e à capacidade de renderizar elementos do aplicativo sobre outros.
  • As senhas de uso único e outros dados secretos são ocultados automaticamente ao detectar a projeção de mídia.
  • O Android impede que os aplicativos acessem os dados de outros aplicativos. Além disso, os aplicativos não podem solicitar uma lista completa de aplicativos instalados no smartphone.

Infelizmente, o Pixnapping dribla todas essas restrições existentes e não exige nenhuma permissão especial. O aplicativo invasor só precisa de dois recursos fundamentais: renderizar suas próprias janelas e enviar chamadas do sistema (Intents) para outros aplicativos. Essas são as estruturas operacionais básicas do Android. Portanto, é muito difícil restringi-las.

Quais dispositivos são afetados pelo Pixnapping e como se defender

A viabilidade do ataque foi confirmada nas versões 13 a 16 do Android em dispositivos Google Pixel das gerações 6 a 9, bem como no Samsung Galaxy S25. Os pesquisadores acreditam que também seja possível executar o ataque em outros dispositivos Android, já que todos os seus mecanismos são padrão. No entanto, pode haver nuances relacionadas à implementação da segunda fase do ataque (a técnica de ampliação de pixel).

O Google lançou um patch em setembro depois de ser notificado do ataque ocorrido em fevereiro. Infelizmente, o método escolhido para corrigir a vulnerabilidade não era confiável o suficiente, e os pesquisadores rapidamente criaram uma maneira de contornar o patch. O Google planeja uma nova tentativa de eliminar a vulnerabilidade na atualização de dezembro. Quanto à GPU.zip, não há planos de lançar um patch para esse canal de vazamento de dados. Desde que a falha se tornou pública em 2024, nenhum fabricante de GPU de smartphone anunciou planos para evitá-la até o momento.

As opções do usuário para se defender contra o Pixnapping são limitadas. Recomendamos as seguintes medidas:

  • Atualize imediatamente para a versão mais recente do Android com todos os patches de segurança atuais.
  • Evite instalar aplicativos de fontes não oficiais e desconfie de aplicativos de lojas oficiais se forem muito novos, tiverem poucos downloads ou avaliações ruins.
  • Certifique-se de usar um sistema de segurança completo no seu telefone, como o Kaspersky para Android.

Que outros métodos de ataque fora do padrão existem no Android

Dicas