Skip to main content
QUICK REVIEW

[논문 리뷰] CopyCat: Controlled Instruction-Level Attacks on Enclaves

Daniel Moghimi, Jo Van Bulck|arXiv (Cornell University)|2020. 02. 19.
Security and Verification in Computing참고 문헌 71인용 수 14
한 줄 요약

COPYCAT는 Intel SGX 에이전드를 대상으로 하는 새로운 결정론적 지시 수준 사이드 채널 공격로, 정확한 정밀도로 실행된 지시어 수를 세기 위해 아키텍처 인터럽트를 활용한다. 기존의 페이지 테이블 접근 유출과 이 인터럽트 수 계산 채널을 조합함으로써, 노이즈 없는 최대 수준의 지시 수준 제어 흐름 재구성 기능을 달성하여, 미세 조정된 보조 수 Mittel이 적용된 암호화 라이브러리에서 단일 추적을 통해 암호키를 추출할 수 있다.

ABSTRACT

The adversarial model presented by trusted execution environments (TEEs) has prompted researchers to investigate unusual attack vectors. One particularly powerful class of controlled-channel attacks abuses page-table modifications to reliably track enclave memory accesses at a page-level granularity. In contrast to noisy microarchitectural timing leakage, this line of deterministic controlled-channel attacks abuses indispensable architectural interfaces and hence cannot be mitigated by tweaking microarchitectural resources. We propose an innovative controlled-channel attack, named CopyCat, that deterministically counts the number of instructions executed within a single enclave code page. We show that combining the instruction counts harvested by CopyCat with traditional, coarse-grained page-level leakage allows the accurate reconstruction of enclave control flow at a maximal instruction-level granularity. CopyCat can identify intra-page and intra-cache line branch decisions that ultimately may only differ in a single instruction, underscoring that even extremely subtle control flow deviations can be deterministically leaked from secure enclaves. We demonstrate the improved resolution and practicality of CopyCat on Intel SGX in an extensive study of single-trace and deterministic attacks against cryptographic implementations, and give novel algorithmic attacks to perform single-trace key extraction that exploit subtle vulnerabilities in the latest versions of widely-used cryptographic libraries. Our findings highlight the importance of stricter verification of cryptographic implementations, especially in the context of TEEs.

연구 동기 및 목표

  • 에이전드 사이드 채널 유출에서 지시 수준 해상도를 달성하는 새로운 유형의 제어 채널 공격을 개발하는 것.
  • 마이크로아키텍처 사이드 채널이 완화된 상황에서도 결정론적이고 노이즈 없는 지시 수준 제어 흐름 유출이 가능하다는 것을 입증하는 것.
  • 기존 사이드 채널 방어 조치가 적용된 광범위하게 배포된 암호화 라이브러리가 여전히 단일 추적 기반 암호키 복구 공격에 취약하다는 것을 보여주는 것.
  • 거시적 페이지 수준 모니터링이 제어 채널 공격의 최대 실용적 해상도라는 가정을 도전하는 것.

제안 방법

  • 피해자 에이전드로의 단일 지시어 단계 실행을 유도하기 위해 SGX-Step 프레임워크를 활용하여 정밀한 인터럽트 수 계산을 가능하게 한다.
  • 아키텍처 인터럽트를 결정론적 채널로 사용하여 단일 에이전드 코드 페이지 내에서 실행된 지시어 수를 세는 방식을 적용한다.
  • 세밀한 인터럽트 수 계산과 거시적인 페이지 테이블 접근 패턴을 병합하여 지시 수준 해상도로 제어 흐름을 재구성한다.
  • 각 인터럽트가 하나의 실행 지시어에 해당하므로, 시간 변동에 의존하지 않고 결정론적 지시어 수 계산이 가능하다는 점을 악용한다.
  • 모듈로 역행 및 스칼라 곱셈과 같은 암호 기초 연산에서의 제어 흐름 분석을 위해 인터럽트 수 계산 기법을 적용한다.
  • 지시 수준의 이질성을 분석하여 단일 제어 흐름 추적에서 암호키를 복구하는 새로운 알고리즘 공격 기법을 개발한다.

실험 결과

연구 질문

  • RQ1아키텍처 인터럽트는 SGX 에이전드 내부의 지시어 수를 결정론적이고 노이즈 없는 채널로 사용할 수 있는가?
  • RQ2인터럽트 수와 페이지 테이블 접근 패턴만으로 지시 수준 제어 흐름을 얼마나 정밀하게 재구성할 수 있는가?
  • RQ3마이크로아키텍처 사이드 채널에 대비하여 보완된 현대의 암호화 라이브러리는 여전히 지시 수준의 제어 채널 공격에 취약한가?
  • RQ4실제 구현된 암호화 라이브러리에서 단일 추적 기반 결정론적 공격을 통해 암호키를 복구할 수 있는가?

주요 결과

  • COPYCAT은 아키텍처 인터럽트를 결정론적 수세기 채널로 활용하여 제어 흐름 유출에서 지시 수준 해상도를 달성함으로써 측정 노이즈를 제거한다.
  • 공격은 단 한 개의 지시어 차이로만 구분되는 내부 페이지 및 내부 캐시 라인 분기 결정을 성공적으로 재구성한다.
  • 실제 암호화 라이브러리(DSA, ECDSA, RSA 키 생성 등)에 대해 단일 추적 기반 암호키 추출 공격이 성공적으로 실험되었으며, 사이드 채널 방어 조치가 존재하더라도 영향을 받지 않았다.
  • 공격은 버퍼 플래시 및 자원 분할과 같은 마이크로아키텍처 방어 조치를 우회한다. 이는 마이크로아키텍처 상태가 아닌 아키텍처 인터페이스에 의존하기 때문이다.
  • 항상 덧셈 및 배수 연산, 지수 마스킹 등의 기법을 사용하여 보완된 라이브러리들조차도 COPYCAT에 의해 해킹되었으며, 이는 지시 수준에서의 비밀 의존성에 기인한 제어 흐름 때문이었다.
  • 실제 실험을 통해 Intel SGX 환경에서 공격의 실용성과 높은 정밀도를 검증하였으며, 실제 환경에서의 적용 가능성을 입증했다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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