[논문 리뷰] Heckler: Breaking Confidential VMs with Malicious Interrupts
Heckler는 권한 있는 하이퍼바이저가 AMD SEV-SNP 및 Intel TDX 기밀 VM에 악성 인터럽트를 주입하여 게스트 레지스터 상태를 변경하고 기밀성 및 무결성을 훼손하며 OpenSSH와 sudo의 인증을 우회하고 특정 애플리케이션을 방해하는 소프트웨어 기반 공격을 시연합니다.
Hardware-based Trusted execution environments (TEEs) offer an isolation granularity of virtual machine abstraction. They provide confidential VMs (CVMs) that host security-sensitive code and data. AMD SEV-SNP and Intel TDX enable CVMs and are now available on popular cloud platforms. The untrusted hypervisor in these settings is in control of several resource management and configuration tasks, including interrupts. We present Heckler, a new attack wherein the hypervisor injects malicious non-timer interrupts to break the confidentiality and integrity of CVMs. Our insight is to use the interrupt handlers that have global effects, such that we can manipulate a CVM's register states to change the data and control flow. With AMD SEV-SNP and Intel TDX, we demonstrate Heckler on OpenSSH and sudo to bypass authentication. On AMD SEV-SNP we break execution integrity of C, Java, and Julia applications that perform statistical and text analysis. We explain the gaps in current defenses and outline guidelines for future defenses.
연구 동기 및 목표
- CVMs의 신뢰 계산 경계 재평가를 촉진하기 위해 하이퍼바이저가 제어하는 인터럽트 인터페이스를 강조합니다.
- 인터럽트가 explicit effect handlers를 촉발하여 CVM 상태와 프로그램 흐름을 수정할 수 있음을 보여줍니다.
- 실제 TEEs에서의 실용적 악용을 시연하며 인증 우회 및 데이터 분석 결과 손상을 포함합니다.
- 현재 방어에서의 간극을 식별하고 악의적 인터럽트로부터 CVMs를 방어하기 위한 가이드라인을 제시합니다.
제안 방법
- 하이퍼바이저가 AMD SEV-SNP 및 Intel TDX CVM에 인터럽트를 주입할 수 있는 능력을 분석합니다.
- int 0x80과 같은 인터럽트 및 SIGFPE와 같은 시그널이 촉발하는 명시적 효과 핸들러(가젯)를 식별합니다.
- CVM 내에서 사용자 공간 핸들러와 커널 시스템 콜로 인터럽트가 매핑되는 방식을 계측하고 특성화합니다.
- OpenSSH 및 sudo 인증 우회를 보여주는 엔드-투-엔드 악용 시나리오를 개발합니다.
- 관찰된 공격을 완화하기 위한 커널 패치와 방어 가이드라인을 제안합니다.
실험 결과
연구 질문
- RQ1SEV-SNP 및 TDX에서 하이퍼바이저가 CVM에 인터럽트를 주입하고 사용자 공간 애플리케이션에 명시적 효과를 야기할 수 있는가?
- RQ2일반적인 CVM-호스트 서비스(OpenSSH, sudo, SIGFPE가 활성화된 워크로드 등)에 존재하는 구체적 인터럽트 가젯은 무엇인가?
- RQ3이 가젯들을 어떻게 연결하여 기밀 VM 내의 데이터 및 제어 흐름을 변경할 수 있는가?
- RQ4악의적 인터럽트에 대해 어떤 방어가 효과적이며 현재 SEV-SNP/TDX 보호는 어디에서 미진한가?
- RQ5TEE 성능을 해치지 않으면서 Heckler를 실질적으로 완화할 수 있는 구체적 단계는 무엇인가?
주요 결과
- int 0x80과 같은 인터럽트가 CVM에 전달되어 게스트의 레지스터 상태를 변경하고 비인가된 시스템 호출을 가능하게 할 수 있습니다.
- 악성 인터럽트가 주요 루틴의 반환 값을 바꿔 OpenSSH 인증과 sudo를 우회할 수 있습니다.
- 명시적 효과 핸들러(SIGFPE 및 기타 시그널)가 Java, Julia, C 워크로드의 애플리케이션 상태와 데이터 흐름을 수정할 수 있습니다.
- 일반 서비스에서 Heckler 가젯이 존재하며, 예를 들어 int 0x80은 로그인 우회를 유발할 수 있고 SIGFPE 핸들러는 통계 및 텍스트 분석 결과에 편향을 줄 수 있습니다.
- AMD SEV-SNP 및 Intel TDX는 인터럽트 경로를 악용할 수 있어 현재 방어의 공백을 드러냅니다.
- 특정 가젯(예: SEV-SNP/TDX의 int 0x80)에 대한 커널 패치는 완화를 할 수 있지만 더 넓은 보호가 여전히 필요합니다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.