로우해머 공격이란? GPU 메모리 해킹의 모든 것

로우해머(Rowhammer) 공격은 메모리 반도체에 반복적으로 접근해 데이터를 조작하는 하드웨어 해킹 기법입니다. 최신 엔비디아 GPU까지 위협하는 이 공격의 원리와 작동 방식, 그리고 우리가 알아야 할 대응책을 쉽게 설명합니다.

소프트웨어 버그는 패치하면 되지만, 하드웨어 자체에 결함이 있다면 문제는 복잡해진다. 최근 보안 연구에서 다시 주목받는 ‘로우해머(Rowhammer)’ 공격은 바로 이 하드웨어의 물리적 한계를 파고드는 해킹 기법이다. 단순한 프로그램 오류가 아닌, 메모리 반도체 자체를 ‘속여서’ 데이터를 바꾸고 시스템 전체를 장악하는 원리를 파헤쳐 본다.

로우해머(Rowhammer)의 기본 원리

로우해머는 이름 그대로 메모리의 특정 행(row)을 망치(hammer)로 두드리듯 반복적으로 접근하는 행위를 말한다. 컴퓨터의 주 메모리로 사용되는 DRAM(Dynamic Random-Access Memory)은 수많은 미세한 축전기(capacitor)에 전하를 저장하는 방식으로 데이터를 기록한다. 이 셀들은 격자 형태로 촘촘하게 배열되어 있다.

공격자는 특정 메모리 주소의 행을 아주 짧은 시간 동안 수십만 번 이상 읽어들인다. 이 과정은 마치 한 곳을 계속 망치로 두드리는 것과 같다. 이 ‘진동’은 물리적으로 인접한 다른 행의 메모리 셀에 영향을 준다. 결국, 인접한 셀의 전하가 미세하게 변하면서 저장된 데이터가 0에서 1로, 또는 1에서 0으로 바뀌는 ‘비트 플립(bit flip)’ 현상이 발생한다. 이 작은 오류 하나가 시스템 권한을 탈취하는 결정적인 열쇠가 된다.

CPU를 넘어 GPU 메모리를 노리는 이유

전통적인 로우해머 공격은 주로 시스템의 메인 메모리(CPU가 관리하는 DRAM)를 대상으로 했다. 하지만 공격의 무대는 점차 고성능 그래픽처리장치(GPU)로 옮겨가고 있다. 이유는 명확하다. 현대 GPU에 탑재되는 GDDR(Graphics Double Data Rate) 메모리는 일반 DRAM보다 훨씬 더 높은 대역폭과 집적도를 가지기 때문이다.

데이터를 더 빠르고 빽빽하게 처리해야 하는 구조적 특성상, GDDR 메모리 셀 간의 간격은 극도로 좁다. 이는 로우해머 공격의 ‘진동’ 효과가 더 쉽게 전파될 수 있는 환경을 제공하는 셈이다. Ars Technica가 보도한 ‘GDDRHammer’나 ‘GeForge’ 같은 새로운 공격 기법들은 바로 이 GPU 메모리의 취약점을 집중적으로 공략하는 사례다.

GDDRHammer: GPU가 CPU를 공격하는 방식

GPU를 겨냥한 로우해머 공격이 더 위협적인 이유는 공격 경로가 더 교묘하기 때문이다. GDDRHammer 공격의 작동 방식은 다음과 같다.

  • 1단계: GPU 코드 실행
    공격자는 악의적으로 조작된 코드를 GPU에서 실행시킨다. 이는 그래픽 렌더링 작업이나 연산 작업으로 위장 가능하다.
  • 2단계: GDDR 메모리 ‘해머링’
    GPU 내부에서 특정 GDDR 메모리 영역에 로우해머 공격을 가해 인접 셀에 비트 플립을 유도한다.
  • 3단계: 시스템 메모리 변조
    결정적으로, GPU는 DMA(Direct Memory Access)를 통해 CPU를 거치지 않고 시스템의 메인 메모리에 직접 접근할 권한을 가진다. GPU 메모리에서 발생한 비트 플립은 이 DMA를 통해 시스템 메모리의 중요 데이터(예: 페이지 테이블 엔트리)를 변조하는 데 사용된다.
  • 4단계: 권한 상승
    시스템 메모리의 핵심 데이터가 조작되면, 공격자는 자신의 프로그램에 관리자(root) 권한을 부여하는 등 시스템 전체의 통제권을 장악하게 된다.

결국 GPU를 발판 삼아 시스템의 심장부인 CPU 영역까지 침투하는 정교한 공격 경로가 만들어진다.

일반 사용자가 체감할 위협 수준

GPU 로우해머 공격 소식에 내 PC의 안전을 걱정할 수 있다. 하지만 일반적인 PC 사용자에게 당장 직접적인 위협이 될 가능성은 현재로서는 낮다. 이런 하드웨어 기반 공격은 실행 조건이 매우 까다롭다. 공격 코드를 로컬 시스템에서 직접 실행해야 하고, 타겟 시스템의 메모리 구조에 대한 정밀한 정보가 필요하기 때문이다.

실질적인 위협 대상은 여러 사용자가 시스템 자원을 공유하는 클라우드 컴퓨팅 환경이나 데이터센터다. 한 가상머신(VM)의 사용자가 하드웨어 취약점을 이용해 다른 VM이나 호스트 시스템 전체를 공격하는 시나리오가 훨씬 현실적이다. 그럼에도 불구하고, 이러한 취약점의 존재 자체가 장기적인 보안 위협이 된다는 점은 분명하다.

하드웨어 취약점, 어떻게 대응해야 하나

소프트웨어 패치와 달리 하드웨어 취약점은 대응이 어렵다. 근본적인 해결책은 메모리 제조 단계에서 나오기 때문이다.

  • ECC 메모리: 오류 정정 코드(Error-Correcting Code) 메모리는 비트 플립을 감지하고 수정하는 기능이 내장되어 있어 로우해머 공격에 대한 효과적인 방어책이 된다. 주로 서버나 워크스테이션에 사용된다.
  • TRR (Target Row Refresh): 메모리 컨트롤러가 특정 행에 대한 접근이 비정상적으로 빈번할 경우, 인접한 행을 강제로 ‘리프레시’하여 전하 손실을 막는 방어 기술이다. 최신 메모리에는 대부분 적용되어 있지만, 새로운 공격 기법은 이를 우회하기도 한다.
  • 제조사의 펌웨어 업데이트: GPU나 메인보드 제조사에서 메모리 리프레시 주기를 조정하거나 접근 패턴을 감시하는 펌웨어 업데이트를 통해 일부 완화가 가능하다.

궁극적으로는 반도체 설계 단계에서부터 물리적 간섭 효과를 최소화하는 새로운 기술이 필요하다.

결론: 소프트웨어를 넘어 하드웨어 보안으로

로우해머 공격은 사이버 보안의 전장이 더 이상 운영체제나 애플리케이션에만 머물지 않는다는 사실을 보여준다. 이제 사이버 보안은 코드의 논리뿐만 아니라, 실리콘의 물리적 한계까지 고려해야 하는 시대로 접어들고 있다. GPU가 AI 연산의 핵심으로 자리 잡으면서 그 중요성은 더욱 커졌고, 이는 곧 GPU가 더 매력적인 공격 목표가 되었음을 의미한다. 앞으로의 보안은 눈에 보이지 않는 하드웨어의 미세한 떨림까지 감지해야 하는 새로운 도전에 직면했다.

출처: Ars Technica

테크가이드팀

테크가이드팀

Home-In-One 테크가이드팀은 IT 기기 비교, 소프트웨어 추천, 트러블슈팅 가이드 등 실용적인 기술 콘텐츠를 제작합니다. 초보자도 쉽게 따라할 수 있는 단계별 가이드를 지향합니다.