Crédito CC0:domínio público
Cientistas da computação da Universidade da Califórnia, A Riverside revelou pela primeira vez como os invasores podem usar facilmente a unidade de processamento gráfico de um computador, ou GPU, para espionar atividades na web, roubar senhas, e entrar em aplicativos baseados em nuvem.
Marlan e Rosemary Bourns College of Engineering ciência da computação, estudante de doutorado Hoda Naghibijouybari e pesquisador de pós-doutorado Ajaya Neupane, junto com o professor associado Zhiyun Qian e o professor Nael Abu-Ghazaleh, fez a engenharia reversa de uma GPU Nvidia para demonstrar três ataques em pilhas gráficas e computacionais, bem como entre eles. O grupo acredita que estes são os primeiros ataques gerais de canal lateral relatados em GPUs.
Todos os três ataques exigem que a vítima primeiro adquira um programa malicioso embutido em um aplicativo baixado. O programa é projetado para espionar o computador da vítima.
Os navegadores da Web usam GPUs para renderizar gráficos em desktops, laptops, e telefones inteligentes. As GPUs também são usadas para acelerar aplicativos na nuvem e data centers. Os gráficos da Web podem expor informações e atividades do usuário. As cargas de trabalho computacionais aprimoradas pela GPU incluem aplicativos com dados confidenciais ou algoritmos que podem ser expostos pelos novos ataques.
GPUs são geralmente programados usando interfaces de programação de aplicativos, ou APIs, como OpenGL. OpenGL pode ser acessado por qualquer aplicativo em um desktop com privilégios de nível de usuário, tornando todos os ataques práticos em um desktop. Como desktops ou laptops, por padrão, vêm com bibliotecas gráficas e drivers instalados, o ataque pode ser implementado facilmente usando APIs gráficas.
O primeiro ataque rastreia a atividade do usuário na web. Quando a vítima abre o aplicativo malicioso, ele usa OpenGL para criar um espião para inferir o comportamento do navegador ao usar a GPU. Cada site tem um traço único em termos de utilização de memória GPU devido ao diferente número de objetos e diferentes tamanhos de objetos sendo renderizados. Este sinal é consistente ao carregar o mesmo site várias vezes e não é afetado pelo cache.
Os pesquisadores monitoraram as alocações de memória da GPU ao longo do tempo ou os contadores de desempenho da GPU e alimentaram esses recursos para um classificador baseado em aprendizado de máquina, obter impressões digitais de sites com alta precisão. O espião pode obter com segurança todos os eventos de alocação para ver o que o usuário está fazendo na web.
No segundo ataque, os autores extraíram as senhas dos usuários. Cada vez que o usuário digita um caractere, toda a caixa de texto da senha é enviada para a GPU como uma textura a ser renderizada. Monitorar o tempo de intervalo de eventos de alocação de memória consecutivos vazou o número de caracteres de senha e o tempo entre as teclas, técnicas bem estabelecidas para aprender senhas.
O terceiro ataque visa um aplicativo computacional na nuvem. O invasor lança uma carga de trabalho computacional maliciosa na GPU que opera junto com o aplicativo da vítima. Dependendo dos parâmetros da rede neural, a intensidade e o padrão de contenção no cache, memória e unidades funcionais diferem ao longo do tempo, criando vazamento mensurável. O invasor usa classificação baseada em aprendizado de máquina em rastreamentos de contador de desempenho para extrair a estrutura de rede neural secreta da vítima, como o número de neurônios em uma camada específica de uma rede neural profunda.
Os pesquisadores relataram suas descobertas à Nvidia, que responderam que pretendem publicar um patch que oferece aos administradores de sistema a opção de desabilitar o acesso aos contadores de desempenho de processos no nível do usuário. Eles também compartilharam um rascunho do documento com as equipes de segurança da AMD e Intel para permitir que avaliem suas GPUs com relação a tais vulnerabilidades.
No futuro, o grupo planeja testar a viabilidade de ataques de canal lateral da GPU em telefones Android.
O papel, "Renderizado inseguro:os ataques de canal lateral da GPU são práticos, "foi apresentado na Conferência ACM SIGSAC sobre Segurança de Computadores e Comunicações de 15 a 19 de outubro, 2018, Em Toronto, Canadá.