애플, AMD, 퀄컴을 포함한 주요 칩 업체의 GPU에서 처리된 데이터를 훔칠 수 있는 결함이 발견됐다. 여기에는 대형언어모델(LLM)에서 생성된 쿼리 및 응답과 응답을 구동하는 가중치와 같은 민감한 데이터가 포함될 수 있다는 지적이다.
와이어드는 16일(현지시간) 공격자가 GPU에서 처리된 민감한 데이터를 훔칠 수 있는 ‘리프트오버로컬(LeftoverLocals)’이라는 새로운 취약점이 발견됐다고 보도했다.
이에 따르면 리프트오버로컬은 트래일오브비츠의 연구진이 애플, AMD, 퀄컴을 포함한 주요 공급업체의 GPU에서 발견했으며, 이로 인해 AI 모델의 성능을 최적화하는 데 사용되는 GPU의 로컬 메모리에서 공격자가 최대 180메가바이트(MB)의 데이터를 추출할 수 있다.
리프트오버로컬은 하나의 GPU 애플리케이션이 다른 애플리케이션에서 로컬 메모리에 남아 있는 데이터에 액세스할 수 있게 하는 취약점으로, 동일한 GPU 하드웨어에서 실행되는 서로 다른 애플리케이션를 격리하지 않을 경우 발생한다.
로컬 메모리는 GPU 내에 위치한 작고 빠른 메모리 영역으로, 동일한 컴퓨팅 장치에서 실행되는 스레드 간에 공유된다. 개발자가 자주 사용하는 데이터를 저장하여, 성능을 최적화하는 데 사용할 수 있는 소프트웨어 관리 캐시 역할을 한다.
연구진은 취약한 GPU에서 별도의 애플리케이션 실행 간에 로컬 메모리가 제대로 지워지지 않는다는 사실을 발견했다. 악성 애플리케이션은 초기화되지 않은 로컬 메모리를 반복적으로 읽어, 다른 애플리케이션에서 사용하는 로컬 메모리에서 데이터를 효과적으로 훔칠 수 있다.
이 취약점을 악용하면 챗봇과 같은 LLM을 '도청'할 수 있다. 먼저 공격자는 로컬 메모리를 반복적으로 읽어 LLM 실행에서 가중치 및 활성화를 포함해 데이터 조각을 훔칠 수 있다. 이는 피해자가 어떤 오픈 소스 모델을 실행하고 있는지 파악하기에 충분한 정보다.
또 공격자는 LLM의 입력 쿼리와 출력 응답을 도용할 수 있다. 로컬 메모리에 맞게 되어 있는 입력을 도용해 출력을 복제하고 LLM의 응답을 재구성할 수 있다. 실제로 AMD GPU에서 쿼리당 최대 181MB의 데이터를 훔칠 수 있었더누 것으로 알려졌으며, 이는 70억 매개변수 LLM 모델의 응답을 완전히 재현하기에 충분한 규모다.
연구진은 벌칸(Vulkan), 오픈CL(OpenCL), 메탈(Metal)과 같은 다양한 애플리케이션과 프레임워크를 사용해 모든 주요 공급업체의 GPU를 테스트했다. 그 결과, 애플, AMD, 퀄컴 GPU에서 리프트오버로컬 취약점을 발견했으며, 엔비디아와 인텔, ARM의 GPU는 취약점이 발견되지 않았다.
유출되는 데이터의 양은 GPU 아키텍처에 따라 달라지며, GPU가 클수록 더 많은 메모리를 노출할 수 있다. 예를 들어, AMD 라데온 7900 XT에서는 커널 호출당 최대 5.5MB까지 유출할 수 있었다.
이에 따라 애플은 최신 M3 및 A17 프로세서의 수정 사항을 발표했다. 퀄컴은 펌웨어 패치를 제공했으며, AMD는 3월에 선택적 완화로 수정 사항을 제공할 계획을 세웠다. 구글은 AMD 및 퀄컴 GPU에 영향을 미치는 크롬OS 기기에 대한 수정 사항도 출시했다.
연구진은 리프트오버로컬과 같은 취약점을 고려, GPU 생태계 전반에 걸쳐 더 강력한 사양과 테스트 및 감사가 필요하다고 주장했다. 의료와 같이 개인 정보 보호에 민감한 영역을 포함해 GPU가 더욱 널리 보급됨에 따라 GPU의 보안 영향을 무시할 수 없다는 지적이다.
박찬 기자 cpark@aitimes.com
