Skip to main content
QUICK REVIEW

[논문 리뷰] Still Hammerable and Exploitable: on the Effectiveness of Software-only Physical Kernel Isolation.

Yueqiang Cheng, Zhi Zhang|arXiv (Cornell University)|2018. 02. 20.
Security and Verification in Computing참고 문헌 13인용 수 13
한 줄 요약

이 논문은 CATT, 최신 소프트웨어 기반 물리적 커널 격리 기법 중 하나인, 커널과 사용자 도메인 간에 공유되는 이중 소유 커널 버퍼를 악용하여 CATT를 우회하는 새로운 rowhammer 기반 공격을 제시한다. 메모리 암초 기법과 효율적인 사이드 채널 유도 히트링 알고리즘을 사용함으로써, 시스템 메모리를 고갈시키지 않으며 가상-물리 매핑에 의존하지 않고도 128MB의 메모리로 1~36분 이내에 루트 및 커널 권한을 획득할 수 있다.

ABSTRACT

All the state-of-the-art rowhammer attacks can break the MMU-enforced inter-domain isolation based on the fact that the physical memory owned by each domain is adjacent to each other. To mitigate such attacks, CATT as the first generic and practical technique, essentially separates each domain physically. It divides the physical memory into multiple partitions and keeps each partition occupied by only one domain, called the single ownership invariant. Hence, all existing rowhammer attacks are effectively defeated. In this paper, we develop a novel practical exploit, which could effectively defeat CATT and gain both root and kernel privileges, without exhausting page cache and system memory, or relying on any virtual-to-physical mapping information. Specifically, our key observation is that on the modern OSes there exist double-ownership kernel buffers (e.g., video buffers) owned concurrently by the kernel and user domains, invalidating the singleownership invariant enforced by CATT and making the rowhammer-based attack become possible again. In contrast to existing conspicuous rowhammer exploits that exhaust page cache or even the whole system memory, we propose a new attack technique, named memory ambush, which is able to place the hammerable kernel buffers physically adjacent to the target objects (e.g., page tables) with only a small amount of memory, making our exploit stealthier and fewer memory fingerprints. We also replace the inefficient rowhammer algorithm that blindly picks up addresses for hammering with an efficient one, which probes suitable addresses using a side channel. We implement our exploit on the Linux kernel 4.10.0-generic. Our experiment results indicate that our exploit is able to gain the root and kernel privileges within roughly 1 to 36 minutes. The occupied memory could be reduced to 128MB.

연구 동기 및 목표

  • 최신 운영체제가 CATT의 물리적 메모리 분할 기능을 통해 여전히 rowhammer 공격에 취약한가를 조사한다.
  • CATT의 단일 소유 권한 불변성을 위반하는 이중 소유 커널 버퍼의 존재를 식별하고 이를 악용한다.
  • 페이지 캐시 고갈 및 가상-물리 매핑 의존성을 피하며, 메모리 소비를 최소화한 침투성 높은 rowhammer 공격 기법을 설계한다.
  • 실제 리눅스 환경에서 루트 및 커널 액세스를 달성하는 실용적인 권한 상승 공격을 구현한다.

제안 방법

  • 커널과 사용자 도메인 간에 공유되는 이중 소유 커널 버퍼(예: 비디오 버퍼)를 식별하여 CATT의 단일 소유 권한 불변성을 위반한다.
  • 소규모 메모리 프로파일을 사용하여 히트링 가능한 커널 버퍼를 대상 객체(예: 페이지 테이블)와 물리적으로 인접하게 배치하는 메모리 암초 기법을 개발한다.
  • 블라인드 주소 선택 방식을 대체하기 위해 사이드 채널을 활용해 최적의 히트링 주소를 탐지하고 선택하는 효율적인 rowhammer 알고리즘을 구현한다.
  • 시스템 메모리 고갈이나 가상-물리 주소 매핑 의존성을 피함으로써 침투성과 실용성을 향상시키기 위해 공격을 설계한다.
  • 공격 기법을 리눅스 커널 4.10.0-generic에 통합하여 실제 환경에서의 공격 유효성을 검증한다.
  • 메모리 사용량을 최적화하여 최소 128MB의 프로파일로도 충분히 작동하도록 한다.

실험 결과

연구 질문

  • RQ1CATT가 도메인당 단일 물리적 메모리 소유를 강제하는 시스템에서 rowhammer 공격이 여전히 성공할 수 있는가?
  • RQ2이중 소유 커널 버퍼와 같은 시스템 수준의 메커니즘은 어떻게 CATT의 격리 보장을 약화시키는가?
  • RQ3메모리 소비를 최소화하고 페이지 캐시 고갈을 피함으로써 rowhammer 공격을 어떻게 더 침투성 있게 만들 수 있는가?
  • RQ4사이드 채널 기법은 rowhammer 주소 선택의 효율성을 얼마나 향상시킬 수 있는가?
  • RQ5실제 리눅스 커널 환경에서 이러한 공격의 실용성과 성능은 어느 정도인가?

주요 결과

  • 공격은 CATT의 단일 소유 권한 불변성을 위반하는 이중 소유 커널 버퍼를 악용하여 성공적으로 CATT를 우회한다.
  • 메모리 암초 기법을 통해 128MB의 메모리만으로도 히트링 가능한 버퍼와 대상 객체 간의 물리적 인접성을 확보할 수 있다.
  • 사이드 채널 유도 히트링 알고리즘이 블라인드 주소 선택 방식에 비해 현저히 높은 효율성을 보인다.
  • 리눅스 커널 4.10.0-generic에서 공격은 1~36분 이내에 루트 및 커널 권한을 획득한다.
  • 공격은 최소한의 메모리 지문을 남겨 이전의 rowhammer 공격보다 더 침투성이 높다.
  • 결과적으로 소프트웨어 기반 물리 격리 기법인 CATT만으로는 정교한 rowhammer 기반 권한 상승 공격을 완전히 방지할 수 없다는 것이 입증되었다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.