GDDRHammer 및 GeForge: GPU를 대상으로 하는 두 가지 새로운 Rowhammer 공격

키 포인트:
  • 연구원들이 GDDR6 메모리에 대한 로해머 공격을 증폭시키는 기술을 개발하여 수천 비트의 변경을 달성했습니다.
  • GDDRHammer 및 GeForge 공격은 메모리 할당자를 조작하여 취약한 섹터에 페이지 테이블을 배치합니다.
  • 페이지 테이블의 비트를 변경하면 공격자는 메모리 포인터를 공격자가 제어하는 ​​구조체로 리디렉션할 수 있습니다.
  • 테이블 항목의 시스템 개방 필드를 수정하면 GPU가 호스트의 물리적 메모리에 직접 읽기 및 쓰기 권한을 얻게 됩니다.
  • 이 취약점은 RTX 3060 및 RTX A6000과 같은 모델에 영향을 미치며, 주요 방어 조치로 IOMMU를 활성화해야 합니다.

로우해머 GPU 공격

보안 연구원들은 다음과 같이 입증했습니다.로우해머의 신체적 취약성은 심각한 위협이 된다. 최신 그래픽 처리 장치용으로, 두 개의 완전한 공격 체인이 포함되어 있습니다. 지포스 및 GDDRHammer신경망의 추론 성능을 저하시킬 정도의 최소한의 비트 변경만 유도할 수 있었던 초기 연구와는 달리, 이러한 새로운 유형의 공격은 시스템 수준에서 완전한 손상을 초래합니다.

NVIDIA GPU에서 표준적인, 권한이 없는 코드를 실행할 때, 공격자는 장치의 내부 메모리 구조를 손상시켜 임의의 읽기 및 쓰기 접근 권한을 획득할 수 있습니다. 호스트 CPU의 전체 물리적 메모리에 걸쳐 이러한 교차 조작을 통해 공격자는 권한을 상승시켜 핵심 운영 체제에서 슈퍼유저 콘솔을 획득할 수 있습니다.

완화 조치 및 패턴 회피

이러한 공격의 성공 여부는 전례 없는 기술에 달려 있습니다. GDDR6 메모리에 구현된 대상 행 새로 고침(TRR) 완화 조치를 우회하기 위해. GeForge 연구팀은 여러 업데이트 간격에 걸쳐 불규칙적인 패턴을 도입합니다.하드웨어 감지를 피하기 위해 메모리 행 활성화의 강도와 순서를 다양하게 조절합니다.

오프라인 프로파일링을 통해 얻은 물리적 주소 맵을 동적 메모리 할당에 적용하려면, 그들은 비선형 할당을 활용하는 페이지 고정 기법을 개발했습니다. 물리적 주소에서 L2 캐시 세트로.

동시에, GDDRHammer 팀은 DRAM 메모리의 행들이 그래픽 카드에서 그들은 단조롭지 않은 기하학적 배열을 따른다.이를 통해 물리적 주소가 멀리 떨어져 있더라도 매우 효과적인 양면 패턴을 구성할 수 있었습니다. 개별 메모리 뱅크 작업을 서로 다른 스트리밍 멀티프로세서에 할당하고 실행을 부분적으로 동기화함으로써 안전 샘플링을 우회하면서 활성화 성능을 극대화할 수 있었습니다.

이러한 접근 방식은 엄청난 결과를 가져왔습니다. GeForge 방식은 소비자용 RTX 3060에서 1,171비트, 전문가용 RTX A6000에서 202비트의 변화를 유도했습니다.GDDRHammer는 기가바이트당 평균 1,032개의 변형을 찾아냈는데, 이는 이전 시도에 비해 64배 증가한 수치입니다.

페이지 테이블 및 메모리 마사지 조작

이러한 전기적 교란을 무기화하기 위해, 공격자들은 GPU의 메모리 관리 장치가 관리하는 계층적 페이지 테이블을 표적으로 삼고 있습니다.컨트롤러는 일반적으로 이러한 구조를 보호된 영역이나 예측 불가능한 영역에 할당하기 때문에, 공격자는 메모리 조작 기술을 사용하여 페이지 테이블 항목을 공격자가 취약하다고 알고 있는 물리적 위치에 강제로 배치합니다.

공격 GDDRHammer는 공유 메모리 매핑을 사용하여 할당자를 과부하 상태로 만듭니다.페이지 테이블 영역과 사용자 제어 메모리 간의 간격을 줄입니다. GeForge는 특히 페이지 디렉터리의 항목을 손상시키는 데 중점을 둡니다. 0 (PD0).

공격자는 통합 가상 메모리(UVM) 조각을 신중하게 할당하고 해제함으로써 새로운 PD0 구조체가 특정 4킬로바이트 서브페이지에 직접 생성되도록 합니다. 해당 위치에 도달하면 프로세스는 해당 항목의 물리적 주소 포인터 내의 비트를 변경하여 악성 코드가 완전히 제어하는 ​​위조된 페이지 테이블로 리디렉션합니다.

PCIe 버스를 통한 권한 상승

El 그래픽 카드의 페이지 테이블을 제어하는 ​​것은 컴퓨터의 중앙 처리 장치를 제어하는 ​​것과 직접적인 관련이 있습니다.NVIDIA 페이지 테이블 항목에는 관련 물리적 주소가 장치의 로컬 메모리에 있는지 또는 호스트 시스템의 메모리에 있는지를 결정하는 특정 시작 필드가 포함되어 있습니다. 위조된 항목의 이 항목을 변경함으로써, 모든 작업 나중에 읽거나 쓰기 GPU에서 생성된 데이터는 PCIe 버스를 통해 물리적 RAM으로 직접 전송됩니다. 호스트의.

이러한 메모리 직접 접근 방식은 CPU 자체의 메모리 관리 장치와 운영 체제의 쓰기/복사 방지 기능을 우회합니다. 실제 시연에서, 연구원 그들은 이 기능을 이용하여 C 표준 라이브러리 코드 부분을 호스트 메모리에 직접 덮어썼습니다. 구체적으로, 공격자들은 로그 종료 함수에 기계어 코드를 삽입했고, 이 코드는 이후 관리자 권한을 가진 정상적인 프로그램에 의해 실행되어 공격자에게 시스템에 대한 절대적인 접근 권한을 즉시 부여했습니다.

하드웨어 보급률 및 완화 조치

La광범위한 테스트를 통해 이 취약점이 현재 하드웨어 전반에 걸쳐 널리 퍼져 있음이 확인되었습니다.GDDRHammer 연구는 25개의 고급 그래픽 카드를 평가한 결과, 암페어 아키텍처 기반의 RTX A6000 모델 17개 중 16개가 이러한 공격에 취약한 것으로 나타났습니다. 오류 정정 코드(ECC) 메모리는 단일 비트 오류를 ​​수정하여 공격의 신뢰성을 완화할 수 있지만, 성능 저하 때문에 많은 워크스테이션 카드에서는 기본적으로 비활성화되어 있으며, 일반 대중 시장 모델에서는 아예 제공되지 않습니다.

가장 효과적인 즉각적인 방어책 호스트 침해에 대한 대응책은 다음과 같습니다. 입출력 메모리 관리 장치(IOMMU)의 응용. IOMMU가 활성화되면 명시적으로 승인된 호스트 페이지 프레임에 한해서만 GPU에 직접 접근할 수 있도록 제한하여 위조된 오픈 매핑을 무력화합니다. 그러나 두 연구팀 모두 상용 Linux 시스템에서 호환성 문제로 IOMMU가 기본적으로 비활성화되어 있는 경우가 많아 상당수의 시스템이 이러한 공격에 취약하다는 점을 지적합니다.

마지막으로, 이에 대해 더 자세히 알아보고 싶다면 다음 페이지의 세부정보를 참조하세요. 다음 링크.