AMD, Apple, Qualcomm GPUs vazam dados de IA em ataques LeftoverLocals
18 de Janeiro de 2024

Uma nova vulnerabilidade apelidada de 'LeftoverLocals' que afeta unidades de processamento gráfico da AMD, Apple, Qualcomm e Imagination Technologies permite a recuperação de dados do espaço de memória local.

Rastreada como CVE-2023-4969 , o problema de segurança permite a recuperação de dados de GPUs vulneráveis, especialmente no contexto de grandes modelos de linguagem (LLMs) e processos de aprendizado de máquina (ML).

LeftoverLocals foi descoberta pelos pesquisadores da Trail of Bits, Tyler Sorensen e Heidy Khlaaf, que a relataram privativamente aos fornecedores antes de publicar uma visão geral técnica.

A falha de segurança origina-se do fato de que alguns frameworks de GPU não isolam completamente a memória e um kernel em execução na máquina poderia ler valores na memória local escritos por outro kernel.

Os pesquisadores da Trail of Bits, Tyler Sorensen e Heidy Khlaaf, que descobriram e relataram a vulnerabilidade, explicam que um adversário só precisa executar uma aplicação de computação em GPU (por exemplo, OpenCL, Vulkan, Metal) para ler dados que um usuário deixou na memória local da GPU.

LeftoverLocals permite que invasores lancem um 'ouvinte' - um kernel de GPU que lê da memória local não inicializada e pode despejar os dados em um local persistente, como a memória global.

Se a memória local não for apagada, o invasor pode usar o ouvinte para ler valores deixados para trás pelo 'escritor' - um programa que armazena valores na memória local.

A animação abaixo mostra como os programas escritor e ouvinte interagem e como este último pode recuperar dados daquele em GPUs afetadas.

Os dados recuperados podem revelar informações sensíveis sobre os cálculos da vítima, incluindo entradas de modelo, saídas, pesos e cálculos intermediários.

Em um contexto de GPU multiusuário que executa LLMs, LeftoverLocals pode ser usado para ouvir as sessões interativas de outros usuários e recuperar da memória local da GPU os dados do processo "escritor" da vítima.

Os pesquisadores da Trail of Bits criaram uma prova de conceito (PoC) para demonstrar LeftoverLocals e mostraram que um adversário pode recuperar 5,5 MB de dados por invocação de GPU, dependendo do framework da GPU.

Em uma AMD Radeon RX 7900 XT alimentando o LLM de código aberto llama.cpp, um invasor pode obter até 181 MB por consulta, o que é suficiente para reconstruir as respostas do LLM com alta precisão.

Os pesquisadores da Trail of Bits descobriram o CVE-2023-4969 em setembro de 2023 e informaram o CERT/CC para ajudar a coordenar os esforços de divulgação e correção.

Esforços de mitigação estão em andamento, pois alguns fornecedores já corrigiram, enquanto outros ainda estão trabalhando em uma maneira de desenvolver e implementar um mecanismo de defesa.

No caso da Apple, o mais recente iPhone 15 não é afetado e correções se tornaram disponíveis para processadores A17 e M3, mas o problema persiste em computadores alimentados por M2.

A AMD informou que os seguintes modelos de GPU continuam vulneráveis ​​enquanto seus engenheiros investigam estratégias de mitigação eficazes.

A Qualcomm lançou um patch via firmware v2.0.7 que corrige LeftoverLocals em alguns chips, mas outros permanecem vulneráveis.

A Imagination lançou uma correção no DDK v23.3 em dezembro de 2023.

No entanto, o Google alertou em janeiro de 2024 que algumas das GPUs do fornecedor ainda estão impactadas.

Intel, NVIDIA e GPUs ARM relataram que o problema de vazamento de dados não afeta seus dispositivos.

Trail of Bits sugere que os fornecedores de GPU implementem um mecanismo de limpeza automática de memória local entre as chamadas do kernel, garantindo o isolamento de dados sensíveis escritos por um processo.

Embora essa abordagem possa introduzir alguma sobrecarga de desempenho, os pesquisadores sugerem que a compensação é justificada dada a gravidade das implicações de segurança.

Outras mitigação potenciais incluem evitar ambientes de GPU multiusuário em cenários críticos de segurança e implementar mitigações no nível do usuário.

Publicidade

Curso gratuito de Python

O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...