엔비디아 워크스테이션 GPU, ECC 뚫려 루트 권한까지…GPUThor 공격 공개

작성일

토론토대 연구팀, 엔비디아 워크스테이션 GPU 겨냥한 로우해머 공격 GPUThor 공개
ECC 방어까지 뚫고 루트 권한 탈취시간을 21.9시간에서 1.1분으로 단축

엔비디아 관련 이미지 / AI 생성 일러스트(삽화)
엔비디아 관련 이미지 / AI 생성 일러스트(삽화)

캐나다 토론토대학교(University of Toronto) 연구진이 엔비디아 워크스테이션 GPU의 오류정정코드(ECC) 방어를 무력화하는 새로운 로우해머(Rowhammer) 공격 GPUThor를 공개했다. 로우해머는 D램 메모리 셀에 반복적으로 접근해 인접 셀의 비트값을 강제로 뒤집는 하드웨어 공격 기법이다. GPUThor는 GDDR6 메모리를 탑재한 엔비디아 암페어(Ampere) 세대 워크스테이션 GPU RTX A4000·A4500·A5000·A6000 4종에서 모두 비트플립을 유발했고, 이를 이용해 서비스거부(DoS)는 물론 호스트 시스템의 루트 권한까지 탈취할 수 있음을 보였다. 연구진은 4월 29일(현지시각) 엔비디아에 이를 신고했고, 8월 25일(현지시각) 엠바고가 해제되며 공격 기법이 공개됐다.

GPUHammer에서 GPUThor로…로우해머, GPU까지 뚫다

로우해머 공격은 2015년 DDR3·DDR4 메모리에서 처음 시연된 이후 CPU 메모리를 겨냥한 위협으로 다뤄져 왔다. 같은 토론토대 연구팀은 앞서 GPUHammer라는 이름으로 엔비디아 RTX A6000의 GDDR6 메모리에서도 비트플립을 유도할 수 있음을 보여준 바 있다. 당시 공격은 기가바이트당 16회의 비트플립을 만드는 데 그쳤고, 엔비디아는 시스템 레벨 ECC를 활성화하면 문제가 해결된다고 안내했다. 엔비디아는 2025년 7월(현지시각) 보안 공지에서 “토론토대 연구진이 시스템 레벨 ECC가 활성화되지 않은 A6000 GPU에서 로우해머 공격에 성공했으며, 같은 논문에서 ECC를 활성화하면 문제가 완화된다는 점도 보였다”고 밝혔다. GPUHammer 연구에서는 모델 가중치의 비트 하나만 바꿔도 AI 모델 정확도가 약 80%에서 0.1%로 떨어지는 사례도 확인됐다.

GPUThor는 이 전제를 뒤집었다. 핵심은 ‘비균일 해머링(non-uniform hammering)’이다. 기존 GPU 공격은 공격 대상 행과 방어 시스템을 속이기 위한 미끼 행을 거의 같은 빈도로 활성화했다. 연구진은 GPU가 32개 스레드를 한 단위로 실행하는 ‘워프(warp)’ 안에서는 반복 접근이 메모리 컨트롤러 단계에서 하나의 D램 활성화로 병합된다는 점을 확인했다. 반대로 서로 다른 워프에서 같은 행의 다른 캐시라인에 접근하면 병합되지 않고 각각 별도의 활성화로 남는다는 사실도 발견했다. 이 특성을 이용해 공격 행에만 훨씬 많은 접근을 몰아주는 패턴을 설계했다. 연구진은 또 해당 GDDR6 제품의 타깃 로우 리프레시(TRR) 방어가 매 리프레시 주기가 아니라 약 72번째 주기마다 한 번씩 작동한다는 점을 알아내 6주기 단위 해머링 패턴을 짰다.

ECC도 못 버틴다…기가바이트당 최대 37만7000회 비트플립 / AI 생성 이미지
ECC도 못 버틴다…기가바이트당 최대 37만7000회 비트플립 / AI 생성 이미지

ECC도 못 버틴다…기가바이트당 최대 37만7000회 비트플립

GPUThor는 ECC를 끈 상태에서 GPU 4종에 걸쳐 기가바이트당 7만2000회에서 37만7000회에 이르는 비트플립을 만들어냈다. 가장 취약했던 RTX A5000은 37만7552회로, GPUHammer(16회)의 약 2만3597배, 기존 최강 GPU 로우해머 공격이던 GDDRHammer(758회)의 약 500배에 달했다. RTX A6000은 11만4488회, A4500은 약 7만5000회, A4000은 약 7만2000회를 기록했다. 논문은 A5000의 결과가 DDR4 메모리에서 비균일 해머링으로 기존 방어를 뚫었던 Blacksmith 공격의 기가바이트당 약 55만 회 수준에 근접한다고 밝혔다.

16바이트 단위로 보면 4개 GPU에서 ECC를 끈 상태로 총 387건의 2비트 오류와 2건의 3비트 오류가 발생했고, 이 중 306건의 2비트 오류와 2건의 3비트 오류 모두가 A5000에서 나왔다. 엔비디아 GPU가 쓰는 SECDED 방식 ECC는 보호 구간 하나에서 1비트 오류는 정정하고 2비트 오류는 감지할 수 있지만, 3비트 오류는 감지 범위를 벗어나 잘못된 값으로 조용히 잘못 정정한다. 연구진이 실제 소유한 RTX A6000에서 ECC를 켠 채 하루 동안 한 개 뱅크를 해머링한 결과 감지 가능하지만 정정 불가능한 오류(DUE) 11건과 조용한 데이터 손상(SDC) 1건이 발생했다. 평균 2시간마다 DUE가 한 번씩 발생한 셈이며, DUE가 뜨면 GPU에서 돌던 모든 커널이 강제 종료돼 재부팅 전까지 GPU를 쓸 수 없게 된다.

21.9시간에서 1.1분으로…루트 권한 탈취 시나리오

연구진은 앞서 진행한 GPU 페이지테이블 권한상승 연구 GPUBreach의 익스플로잇 코드를 재사용해 루트 권한 탈취까지 시연했다. 먼저 페이지테이블을 취약한 행에 배치한 뒤 인접 행을 해머링해 특정 엔트리의 페이지 프레임 번호를 손상시킨다. 이렇게 조작된 엔트리를 통해 두 번째 커널이 원래 프로세스 권한 밖의 메모리에 접근하는 방식이다. IOMMU(입출력 메모리 관리 장치)가 활성화된 시스템에서는 3비트 SDC를 이용해 루트 권한을 얻었고, IOMMU가 비활성화된 시스템에서는 2비트 DUE로도 호스트 권한상승에 성공했다. 페이지테이블 엔트리를 CPU 메모리 쪽으로 재지정한 뒤 프로세스 자격증명 구조체를 덮어쓰는 식이다.

연구진은 “DUE는 엔비디아 GPU에서 지연 처리되기 때문에 오류가 감지된 뒤 실제로 GPU가 종료되기까지 약 10밀리초의 시간차가 있고, 이 사이 손상된 데이터를 공격자의 GPU 커널이 그대로 소비할 수 있다”며 2비트 DUE조차 악용 가능하다는 점을 강조했다. DUE를 유발하지 않고 악용 가능한 다중 비트 오류를 찾는 데는 A6000 기준 약 4일이 걸렸다. 반면 실제 익스플로잇에 걸리는 시간은 극단적으로 짧아졌다. GPUHammer 패턴으로는 취약한 비트플립을 찾아 권한상승을 완료하는 데 21.9시간이 걸렸지만, GPUThor 패턴을 쓰자 같은 작업이 1.1분 만에 끝났다.

클라우드 GPU 인프라의 새 위협…대응은 진행형

GPUThor 공격을 실행하려면 대상 GPU에서 권한 없는 CUDA 커널을 실행할 수 있어야 한다. 여러 사용자가 하나의 GPU를 나눠 쓰는 공유 클라우드 환경의 co-tenant나, 단일 사용자 장비에서 신뢰할 수 없는 코드가 실행되는 상황이 모두 해당한다. 연구진은 대응책으로 GPU를 여러 세입자가 공유하는 방식을 피하고, ECC 오류 카운터를 모니터링하며, 신뢰할 수 없는 CUDA 워크로드 실행을 제한하라고 권고했다. 다만 3비트 SDC는 ECC 카운터를 증가시키지 않고 조용히 잘못된 값으로 정정되는 만큼, 이 경로로 들어오는 공격은 기존 모니터링으로 탐지되지 않을 가능성이 있다고 연구진은 지적했다.

같은 패턴을 GDDR6X를 쓰는 RTX 4090, HBM2e를 쓰는 A30, GDDR6를 쓰는 A10·L4·L40 등 다른 GPU에 적용했을 때는 비트플립이 관찰되지 않았다. 연구진은 이들 메모리에서 TRR 구현 방식이 달라 GPUThor의 패턴이 통하지 않았을 가능성이 있다고 설명했다. 서버용 A100·H100은 이번 테스트 대상에 포함되지 않았다. 다만 암페어 이후 서버급 GPU에 적용된 오류 격리(Error Containment)와 동적 페이지 오프라이닝 같은 방어 기법도 SECDED 수준 ECC에 의존하는 만큼, 연구진은 SDC 기반 권한상승이 이들 GPU에서도 통할 수 있다고 봤다. 일부 블랙웰(Blackwell) GPU의 RAS 리페어 기능은 DUE 기반 공격을 더 오래 걸리게 만들 뿐 완전히 막지는 못한다고도 덧붙였다.

연구진은 GPUThor를 엔비디아뿐 아니라 구글, 마이크로소프트, 아마존웹서비스(AWS)에도 사전 통보했다. 엠바고는 8월 25일(현지시각) 해제됐고, 엔비디아는 이 시점에 대응 지침을 담은 보안 공지를 냈다. 공격은 네덜란드 헤이그에서 열리는 ACM 컴퓨터·통신 보안 학술대회(CCS ’26)에서 발표될 예정이며, 익스플로잇 코드는 학회 개막일인 11월 15일(현지시각) 공개될 계획이다.