Skip to main content
QUICK REVIEW

[논문 리뷰] Understanding TEE Containers, Easy to Use? Hard to Trust

Weijie Liu, Hongbo Chen|arXiv (Cornell University)|2021. 09. 04.
Security and Verification in Computing참고 문헌 60인용 수 4
한 줄 요약

이 논문은 Intel SGX 기반 15개의 TEE 컨테이너에 대한 체계적인 보안 분석을 제시하며, 고유의 패atcher(Tecuzzr)와 수동 코드 검토를 조합한 하이브리드 방법론을 사용한다. 분석 결과, 보호되지 않은 Ocall 매개변수, 검증되지 않은 반환 값, 불완전한 SFI 이행과 같은 심각한 격리 결함이 드러났으며, 이는 널리 사용되고 있음에도 불구하고 연구 대상 컨테이너들이 모두 주장한 보안 보장을 완전히 이행하지 못하고 있음을 입증한다.

ABSTRACT

As an emerging technique for confidential computing, trusted execution environment (TEE) receives a lot of attention. To better develop, deploy, and run secure applications on a TEE platform such as Intel's SGX, both academic and industrial teams have devoted much effort to developing reliable and convenient TEE containers. In this paper, we studied the isolation strategies of 15 existing TEE containers to protect secure applications from potentially malicious operating systems (OS) or untrusted applications, using a semi-automatic approach combining a feedback-guided analyzer with manual code review. Our analysis reveals the isolation protection each of these TEE containers enforces, and their security weaknesses. We observe that none of the existing TEE containers can fulfill the goal they set, due to various pitfalls in their design and implementation. We report the lessons learnt from our study for guiding the development of more secure containers, and further discuss the trend of TEE container designs. We also release our analyzer that helps evaluate the container middleware both from the enclave and from the kernel.

연구 동기 및 목표

  • Intel SGX를 위한 TEE 컨테이너(Tcon)의 보안 보장을 평가하기 위해, 이는 기밀 계산을 단순화하는 데 널리 사용된다.
  • 기존 Tcon 설계 및 구현이 악성 OS 및 악성 인-엔클레이브 코드로부터 강력한 격리를 실제로 구현하고 있는지 확인하기 위해.
  • 특히 Ocall, Ecall 및 인-엔클레이브 격리와 같은 핵심 공격 표면에서 주장된 보안 속성과 실제 구현 간 격차를 드러내기 위해.
  • Tcon 미들웨어를 위한 자동화된, 커널 통합 테스트를 가능하게 하는 새로운 패처(Tecuzzr)를 개발하고 공개하기 위해.
  • 향후 더 안전한 TEE 컨테이너 설계를 위한 실질적인 통찰과 교훈을 제공하기 위해.

제안 방법

  • Tcon 미들웨어의 공격 표면을 테스트하기 위해, 엔클레이브 내부와 커널 내부에 각각 구성된 두 부분으로 나누어진 TECUZZER를 설계하였다.
  • Ocall, 예외, 사이드 채널 표면을 탐색하기 위해 피드백 기반 패처를 사용하였으며, 주로 매개변수 및 반환 값 처리에 초점을 맞추었다.
  • Ecall 표면, 원격 인증, SFI(Software-based Fault Isolation)와 같은 의미 수준의 보호 기능을 분석하기 위해 수동 코드 검토를 수행하였다.
  • 보안 속성의 분류 체계를 사용하여 15개의 Tcon을 평가하였다: 위협 모델, TCB 크기, 격리 기법, 사이드 채널 보호, 원격 인증.
  • 정적 및 동적 분석을 통해 인-엔클레이브 메모리 분리, 직접 점프 확인, RSP 스플릿 제어와 같은 보호 메커니즘을 측정하였다.
  • 실제 공격 표면(예: Iago 공격, syscall 스노핑)을 중심으로 자동화된 패처와 수동 소스 코드 검토를 통해 발견 결과를 검증하였다.

실험 결과

연구 질문

  • RQ1기존의 SGX용 TEE 컨테이너는 신뢰할 수 없는 OS와 엔클레이브 사이의 격리를 얼마나 잘 이행하고 있는가?
  • RQ2Tcon 개발자가 주장하는 보안 성질—특히 Ocall 매개변수 및 반환 값 보호에 관해 실제로 구현되어 있는가?
  • RQ3SFI와 같은 인-엔클레이브 격리 기법은 코드 삽입 및 우회 공격을 방지하는 데 얼마나 효과적인가?
  • RQ4설계 주장과는 달리 보안 보장을 약화시키는 핵심 구현 결함는 무엇인가?
  • RQ5TECUZZER와 같은 체계적이고 자동화된 방법론을 통해 TEE 미들웨어의 미묘한 보안 취약점을 탐지할 수 있는가?

주요 결과

  • 분석한 15개의 TEE 컨테이너 모두 주장한 보안 보장을 완전히 이행하지 못하며, 심각한 결함이 모두의 구현에 존재한다.
  • 많은 Tcon이 Ocall 매개변수를 정제하지 않아 정보 泄露 및 syscall 스노핑과 같은 공격에 취약하다.
  • Deflection 및 Ratel을 포함한 다수의 Tcon이 시스템콜 반환 값을 확인하지 않아 Iago 스타일 공격에 취약하다.
  • Occlum과 Deflection는 SFI 지원을 주장하지만 직접 점프 대상 검증을 하지 않아 인스트루멘테이션 우회 및 검증되지 않은 메모리 왤기 공격가능성이 존재한다.
  • Chancel은 FS 기반 Iago 공격에 대한 보호 기능을 주장하지만, 릴리스된 버전에서는 이를 실제로 구현하지 않아 문서화된 내용과 다름.
  • TECUZZER는 커널 수준의 인스트루멘테이션과 엔클레이브 측 패처 제어를 조합하여 이전에 알려지지 않은 취약점을 성공적으로 발견하였으며, 자동화된 Tcon 테스트의 가능성을 입증하였다.

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

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

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

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