Como de praxe, antes de entrar no tema em questão, vou fazer um retrospecto sobre o que ocorreu antes, para que possamos ter o panorama atual de uma infecção na placa de vídeo. A mesma espécie de “flashback” eu fiz na matéria em relação ao Rombertik, a ameaça que destrói os dados do seu HD ao ser detectada.
Já está claro que o hardware é o foco dos cibercriminosos ou de especialistas que querem demonstrar que a parte física de um dispositivo pode ser utilizada para um ataque. No caso do Rombertik, expliquei a correlação com o vírus Chernobly, lá de 1998, que foi registrado como a primeira ameaça voltada para o hardware.
Em relação aos malwares destinados às placas de vídeo, precisamos retornar à meados do ano de 2011. Nessa data, pesquisadores da Symantec descobriram um malware destinado à contaminar a GPU para contribuir na mineração de bitcoins.
O Trojan utilizava o computador do usuário para minerar bitcoins em nome do intruso. A GPU foi escolhida justamente pelo seu alto poder computacional (lembra-se daquele velha frase “uma placa de vídeo é quase um computador a parte”). E como a mineração de bitcoins demanda um alto índice de cálculos de hashes, os invasores optaram por utilizar a placa de vídeo para essa situação. Que além do alto poder de processamento oferece uma margem menor para ser detectado. Esse seria o pontapé para a criação de um malware destinado a alcançar o poder de um processador gráfico.
Passando agor para o ano de 2013, pesquisadores da Universidade de Columbia, em Nova York, e da Fundação de Pesquisa e Tecnologia em Heless, na Grécia, desenvolveram um keylogger que podia ser ocultado na GPU. Lembrando que um Keylogger é utilizado para registrar as atividades da vítima e repassar isso para o invasor. Caso você queira baixar o documento divulgado pelos desenvolvedores desse malware, explicando o funcionamento, clique aqui.
Então, com esses dois casos, começávamos a ter um esboço do que seria possível alguns anos depois.E esse dia chegou. Dois anos depois da pesquisa realizada pelas universidades, um grupo intituladoTeam Jellyfish, utilizou os fundamentos da pesquisa realizada em 2013 para demonstrar o conceito de um novo malware destinado a invadir GPUs.
Primeiramente, o grupo criou uma prova conceito de um malware, mais precisamente um rootkit baseado em Linux, para atacar as placas de vídeo. O malware, intitulado Jellyfish, se instala na GPU e a partir do DMA (Direct Acess Memory) consegue acessar a memória e “escutar informações da CPU”.
O Jellyfish utiliza a API OpenCl para se infiltrar e pode atacar as placas de vídeo dedicadas da NVIDIA e AMD. É importante frisar que essa ameaça não apresentou nenhuma ligação com as placas de vídeo integradas, popularmente conhecidas como onboard, somente com as dedicadas. E, novamente, eu friso que esse malware é uma prova conceito, o que significa que ele não está por aí se espalhando. Por enquanto, é um material de aviso para o que pode acontecer em um futuro bem próximo.
Em conjunto com o Jellfish também há o Demon, que é um keylogger que traz como abordagem o monitoramento do buffer do teclado diretamente pela GPU, graças ao acesso direto à memória (DMA), como explicado nos parágrafos acima. Com esse método os pesquisadores descobriram que podem gravar efetivamente todos os keystrokes do usuário e armazenar em um espaço da memória da GPU, para uma análise posterior.
Poucos dias após a demonstração do malware baseado em Linux, os desenvolvedores lançaram mais uma prova conceito do mesmo malware sendo direcionado para Windows. E a versão destinada ao Mac OS X também já está sendo desenvolvida.
O vírus escrito para Windows chama-se WIN_JELLY e atua como uma ferramenta de acesso remoto de acordo, um “trojan Rato”, como é popularmente conhecido. O WIN_JELLY, assim como as soluções baseadas em Linux, também exige uma placa de vídeo dedicada, neste caso da NVIDIA, com os drivers CUDA Core instalados.
Com um software desta categoria, os invasores poderiam visualizar e alterar os arquivos, além de, é claro, monitorar todas as funções. Lembrando que estou me baseando em um “trojan-rato” convencional. O que o WIN_JELLY faz ao certo ainda é um mistério, porquê os desenvolvedores não entraram em muitos detalhes.
A aplicação baseada no MAC OS X, que está em desenvolvimento, irá se chamar MAC_JELLY e irá se basear também no OpenCl, assim como acontece com a versão do vírus voltada para Windows.
Os desenvolvedores já estão trabalhando em uma ferramenta chamada JellyScan, que permite que os administradores e pesquisadores de segurança possam detectar o malware baseado na GPU.
Ainda bem que a ferramenta já está sendo criada, porque um dos pontos que os desenvolvedores destacaram foi que o grande X da questão não é o DMA, ou o Windows, ou Linux ou o Mac, e sim que nenhuma ferramenta atual de detecção baseada em software conseguiria resolver o problema.
“Nosso objetivo é fazer com que todos fiquem cientes que o malware baseado em GPU é real”, disse o grupo responsável pelo projeto através de sua página no GitHub.
Ficando restrito ou não às placas de vídeo dedicadas, o que vale ser mencionado aqui é o grande problema que iremos enfrentar nos próximos anos. Não queria ser pessimista, e acho que através de iniciativas como a Jellyfish Team podemos nos livrar de certas enrascadas, mas uma coisa é fato: nosso hardware nunca esteve tão desprotegido.
Fonte: Ars Techica