Skip to main content
QUICK REVIEW

[논문 리뷰] Aurora: Providing Trusted System Services for Enclaves On an Untrusted System

Hongliang Liang, Mingyu Li|arXiv (Cornell University)|2018. 02. 10.
Security and Verification in Computing참고 문헌 50인용 수 9
한 줄 요약

Aurora는 시스템 관리 메모리(SMRAM)와 시스템 관리 인터럽트(SMI)를 활용하여 Intel SGX 에이전트에 신뢰할 수 있는 시스템 서비스(TSS)를 제공하는 혁신적인 아키텍처이다. 이는 신뢰할 수 없는 운영 체제에서 비신뢰할 수 있는 I/O 작업을 안전하게 이관함으로써, 약 1ms의 오버헤드로 고정밀도, 공격 인식 시간 및 종단 간 안전한 네트워킹을 가능하게 하여 실세계 애플리케이션인 SQLite와 OpenSSL과 같은 애플리케이션에 실용성을 부여한다.

ABSTRACT

Intel SGX provisions shielded executions for security-sensitive computation, but lacks support for trusted system services (TSS), such as clock, network and filesystem. This makes extit{enclaves} vulnerable to Iago attacks~\cite{DBLP:conf/asplos/CheckowayS13} in the face of a powerful malicious system. To mitigate this problem, we present Aurora, a novel architecture that provides TSSes via a secure channel between enclaves and devices on top of an untrusted system, and implement two types of TSSes, i.e. clock and end-to-end network. We evaluate our solution by porting SQLite and OpenSSL into Aurora, experimental results show that SQLite benefits from a extit{microsecond} accuracy trusted clock and OpenSSL gains end-to-end secure network with about 1ms overhead.

연구 동기 및 목표

  • Intel SGX에서 시계 및 네트워크와 같은 신뢰할 수 있는 시스템 서비스(TSS)의 부재로 인해 발생하는 심각한 보안 취약성, 즉 Iago 공격에 대응한다.
  • 시간 및 네트워크 I/O에 대해 신뢰할 수 없는 운영 체제 서비스에 의존함으로써 발생하는 위험 요소(위조, 변조, 트래픽 분석 등)를 완화한다.
  • 기존 하드웨어 및 운영 체제에 수정 없이 통합 가능한 보안성, 확장성, 투명성을 갖춘 프레임워크를 설계한다.
  • 실세계 애플리케이션인 SQLite와 OpenSSL의 보안 강화를 위해 에이전트에 신뢰할 수 있는 고정밀도 시간 및 종단 간 안전한 네트워킹을 제공한다.

제안 방법

  • OS의 개입 없이 직접 I/O 장치에 접근할 수 있는 하드웨어 보호된 특권 에이전트로서의 SMRAM를 활용하여, 신뢰할 수 있는 SMI 핸들러를 호스팅한다.
  • 단일 커널 I/O와 비교해 성능 오버헤드를 최소화하기 위해, 종료 없는 인터럽트와 버칭 기반의 이벤트 기반 I/O를 사용한다.
  • 에이전트와 SMI 핸들러 간 통신의 기밀성과 무결성을 확보하기 위해 신원 인증, 하드웨어 암호화, 일정 시간 프로토콜을 적용한다.
  • 원격 인증 및 암호학적 인증을 활용해 에이전트와 SMI 핸들러 간에 안전한 세션 설정 메커니즘을 도입한다.
  • 기존 에이전트 애플리케이션과의 원활한 통합을 위해 POSIX 호환 시스템 호출을 지원한다.
  • 하이퍼레지스트리 기반의 고정밀도 공격 인식 시계 서비스와 일반 네트워크 어댑터를 사용한 종단 간 안전한 네트워크 서비스를 설계 및 구현한다.

실험 결과

연구 질문

  • RQ1신뢰할 수 없는 시스템에서 SGX 에이전트에 시계 및 네트워크와 같은 신뢰할 수 있는 시스템 서비스(TSS)를 어떻게 안전하게 제공할 수 있는가?
  • RQ2신뢰할 수 없는 운영 체제나 커널에 의존하지 않고, 에이전트와 하드웨어 장치 사이에 안전한 I/O 경로를 구축할 수 있는가?
  • RQ3시간 위조 및 단조성 공격을 탐지할 수 있는 고정밀도 절대 시간을 에이전트에 제공할 수 있는가?
  • RQ4최소한의 성능 오버헤드로 강력한 기밀성 및 무결성 보장을 확보하면서 종단 간 안전한 네트워크 I/O를 에이전트에 구현할 수 있는가?
  • RQ5기존 운영 체제 및 하드웨어에 대해 투명하고, 새로운 장치에 쉽게 확장 가능하며, DMA 및 인터럽트 위조 공격과 같은 고급 공격에 대비한 TSS 프레임워크를 구축할 수 있는가?

주요 결과

  • Aurora는 시간 위조를 탐지하고 마이크로초 수준의 정밀도를 제공하는 고정밀도, 공격 인식 신뢰할 수 있는 시계 서비스를 성공적으로 구현하였다.
  • 종단 간 안전한 네트워크 TSS는 I/O 작업당 약 1ms의 오버헤드로 강력한 기밀성과 무결성을 확보하여, 신뢰할 수 없는 네트워크 스택에 의존하지 않고도 안전한 통신을 가능하게 하였다.
  • SQLite를 대상으로 한 평가 결과, 신뢰할 수 있는 시계 서비스를 사용할 경우 시간 민감도가 높은 작업에서 명확한 성능 향상을 확인하였다.
  • OpenSSL 통합 결과, Aurora가 성능 저하를 최소화하면서도 종단 간 안전한 네트워크 I/O를 제공함으로써 실세계 암호화 워크로드에 실용 가능함을 입증하였다.
  • 프로토타입은 확장성이 있으며 하드웨어 타이머와 일반 네트워크 어댑터를 모두 지원하며, 상용 운영 체제나 하드웨어에 대한 수정 없이도 기능한다.
  • 보안 분석 결과, Aurora는 시스템 호출 스노핑, I/O 트래픽 분석, 시간 조작 등의 일반적인 Iago 스타일 공격을 방지함과 동시에 투명성과 효율성을 유지함을 확인하였다.

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

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

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

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