Skip to main content
QUICK REVIEW

[논문 리뷰] HardScope: Thwarting DOP with Hardware-assisted Run-time Scope Enforcement

Thomas Nyman, Ghada Dessouky|arXiv (Cornell University)|2017. 05. 29.
Security and Verification in Computing참고 문헌 6인용 수 17
한 줄 요약

HardScope는 C 및 C++와 같은 메모리 안전하지 않은 언어에서 데이터 중심 프로그래밍(DOP) 공격을 방지하기 위해 하드웨어 지원을 받는 런타임 스코프 강제 실행(RSE)을 제안한다. 컴파일 타임 변수 가시성 규칙을 런타임에서 동적으로 강제하기 위해 여섯 개의 새로운 RISC-V 명령어를 사용함으로써, HardScope는 모든 알려진 DOP 공격을 3.2%의 성능 오버헤드로만으로도 완전히 완화한다.

ABSTRACT

Widespread use of memory unsafe programming languages (e.g., C and C++) leaves many systems vulnerable to memory corruption attacks. A variety of defenses have been proposed to mitigate attacks that exploit memory errors to hijack the control flow of the code at run-time, e.g., (fine-grained) randomization or Control Flow Integrity. However, recent work on data-oriented programming (DOP) demonstrated highly expressive (Turing-complete) attacks, even in the presence of these state-of-the-art defenses. Although multiple real-world DOP attacks have been demonstrated, no efficient defenses are yet available. We propose run-time scope enforcement (RSE), a novel approach designed to efficiently mitigate all currently known DOP attacks by enforcing compile-time memory safety constraints (e.g., variable visibility rules) at run-time. We present HardScope, a proof-of-concept implementation of hardware-assisted RSE for the new RISC-V open instruction set architecture. We discuss our systematic empirical evaluation of HardScope which demonstrates that it can mitigate all currently known DOP attacks, and has a real-world performance overhead of 3.2% in embedded benchmarks.

연구 동기 및 목표

  • 기존의 제어 흐름 방어 기법을 우회하는 데이터를 손상시켜 임의의 계산을 수행하는 데이터 중심 프로그래밍(DOP) 공격의 증가하는 위협을 해결한다.
  • 기존 방어 기법의 한계를 극복한다. 이는 메모리 접근을 완전히 매개하지 않거나 높은 성능 및 메모리 오버헤드를 유발하기 때문이다.
  • 전체 프로그램 분석이나 애플리케이션 수준의 재설계 없이도 런타임에 효율적이고 세밀한 메모리 격리 기능을 제공한다.
  • 런타임 스코프 강제 실행(RSE)이 렉서컬 스코프 규칙을 동적으로 강제함으로써 일반적인 프로그램에서 DOP 공격을 효과적으로 방지할 수 있음을 입증한다.

제안 방법

  • 런타임 메모리 접근 정책을 강제하기 위해 여섯 개의 새로운 RISC-V 명령어를 사용하는 하드웨어 지원 RSE 메커니즘을 도입한다.
  • GCC 플러그인을 통해 C 프로그램을 인STRUMENT하여, 메모리 접근을 위한 스코프 규칙을 동적으로 생성하고 관리하는 HardScope 명령어를 삽입한다.
  • 활성 스코프 규칙을 스택으로 저장함으로써 현재 실행 컨텍스트에 해당하는 모든 규칙이 상단에 위치하고 효율적으로 검사될 수 있도록 보장한다.
  • 활성 규칙의 片상 캐싱을 통해 메모리 연산 중에 암시적이고 0 오버헤드 접근 검사를 가능하게 한다.
  • 다양한 함수 호출 간에 다른 접근 정책을 허용하는 컨텍스트 기반 메모리 격리 기능을 지원하도록 시스템을 설계한다.
  • 하드웨어 지원을 통해 메타데이터 저장소를 최소화하고, 소프트웨어 전용 또는 정적 접근 방식보다 런타임 강제 실행 비용을 낮춘다.

실험 결과

연구 질문

  • RQ1런타임 스코프 강제 실행(RSE)이 렉서컬 스코프 규칙을 런타임에서 강제함으로써 모든 알려진 DOP 공격을 효과적으로 방지할 수 있는가?
  • RQ2실제 임베디드 워크로드에 하드웨어 지원 RSE를 적용했을 때의 성능 오버헤드는 얼마인가?
  • RQ3RSE는 기존 방어 기법과 비교해 오버헤드, 확장성, 그리고 동적이고 컨텍스트 기반 접근 정책 지원 측면에서 어떻게 다른가?
  • RQ4최소한의 하드웨어 변경으로 RSE를 효율적으로 구현하고, 애플리케이션 수준의 재설계 없이도 구현 가능한가?
  • RQ5일반 목적의 RISC-V 코어에 RSE를 통합하는 것은 성능과 메모리 프로필 측면에서 수용 가능할 정도로 실현 가능한가?

주요 결과

  • HardScope는 하드웨어 지원 명령어 세트 확장을 통해 런타임에 렉서컬 스코프 규칙을 강제함으로써 현재 알려진 모든 DOP 공격을 성공적으로 완화한다.
  • 실증 평가 결과, 임베디드 벤치마크에서 실질적인 성능 오버헤드가 단 3.2%에 불과하며, 이는 이전의 소프트웨어 기반 방어 기법보다 크게 낮다.
  • HardScope는 활성 실행 컨텍스트에만 집중함으로써 런타임 메타데이터 저장소를 줄였고, 스코프 규칙의 효율적 片상 캐싱을 가능하게 하였다.
  • 시스템은 컨텍스트 기반 메모리 격리를 지원하여, 동일한 함수의 서로 다른 호출 간에 다른 접근 정책을 허용하며 재컴파일 없이도 가능하다.
  • 하드웨어 지원 강제 실행 덕분에 암시적 접근 검사를 가능하게 하였고, 이는 소프트웨어 기반 방식이 명시적 검사를 요구하는 것과는 대조된다.
  • 이 접근 방식은 수정되지 않은 C 프로그램과 호환되며, 전체 프로그램 분석이나 애플리케이션 수준의 재설계가 필요하지 않다. CHERI나 SoftBound와는 달리 이와 같은 요구 사항이 없다.

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

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

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

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