Deseja manter o código malicioso oculto do software antivírus de um PC enquanto ele verifica a RAM do sistema? Basta escondê-lo na VRAM da placa de vídeo. Uma ferramenta de prova de conceito que permite tal coisa foi recentemente vendida online, o que pode significar más notícias para os usuários do Windows.
Vírus na VRAM
Bleeping Computer escreve que recentemente alguém estava se oferecendo para vender o PoC em um fórum de hackers. Eles não revelaram muitos detalhes sobre a ferramenta, embora tenham notado que ela funciona alocando espaço de endereço no buffer de memória da GPU para armazenar código malicioso e executá-lo a partir daí.
O vendedor acrescentou que o código só funciona em PCs com Windows que suportam OpenCL 2.0 ou superior. Eles confirmaram que funciona nas placas gráficas Radeon RX 5700 da AMD e GeForce GTX 740M e GTX 1650 da Nvidia. Ele também funciona com a placa de vídeo integrada UHD 620/630 da Intel.
A postagem anunciando a ferramenta chegou ao fórum em 8 de agosto. Cerca de duas semanas depois (25 de agosto), o vendedor revelou que havia vendido a PoC para alguém.
Em 29 de agosto, o grupo de pesquisa Vx-underground tweetou que o código malicioso permite a execução binária pela GPU em seu espaço de memória. Ele demonstrará a técnica “em breve”.
Já vimos malware baseado em GPU no passado. O ataque Jellyfish de código aberto, que você pode encontrar no GitHub, é um PoC de rootkit de GPU baseado em Linux que utiliza a técnica LD_PRELOAD do OpenCL. Os mesmos pesquisadores por trás do JellyFish também publicaram PoCs para um keylogger baseado em GPU e um trojan de acesso remoto baseado em GPU para Windows.
Como funciona o malware via VRAM?
“A ideia principal por trás de nossa abordagem é monitorar o buffer do teclado do sistema diretamente da GPU via DMA [acesso direto à memória], sem quaisquer ganchos ou modificações no código do kernel e nas estruturas de dados além da tabela de páginas”, os pesquisadores do keylogger de 2013 escreveu. “A avaliação de nossa implementação de protótipo mostra que um keylogger baseado em GPU pode registrar com eficácia todas as teclas digitadas pelo usuário, armazená-las no espaço de memória da GPU e até mesmo analisar os dados gravados no local, com sobrecarga de tempo de execução insignificante.”
Em 2011, foi descoberta uma nova ameaça de malware que usava GPUs para minerar Bitcoin.
O vendedor do PoC recente disse que seu método difere do JellyFish, pois não depende do mapeamento de código de volta ao espaço do usuário.