Heckler

Heckler: Breaking Confidential VMs with Malicious Interrupts

Speaker: Aditya Rajan

ENG

Heckler: Breaking Confidential VMs with Malicious Interrupts

Speaker: Aditya Rajan

Key Summary: HECKLER - Attacking Confidential VMs

Overview

HECKLER is an attack where a hypervisor stealthily injects interrupts to hijack a program’s execution flow, thereby bypassing security authentication. (No mitigation techniques proposed in the talk.)

When an interrupt occurs, the hypervisor saves the current state of the VM before handling or forwarding the interrupt. During this state-saving/restoration process, the hypervisor gains an opportunity to manipulate register values.


Technical Techniques

1. Malicious Interrupt Injection

2. Attack Examples

3. Step-by-Step Attack Chain

4. Vulnerabilities


Key Contributions

1. Introduction of a New Attack

2. Development of an Attack Chain

3. Proof-of-Concept (PoC) Attack


Successful Attack Cases

  1. OpenSSH

    • Manipulated authentication logic to allow login even with an incorrect password.
  2. sudo

    • Escalated normal user privileges to root.
  3. Data Analysis Applications

    • Tampered with statistical analysis results, making the data unreliable and untrustworthy.

Implications


KOR

핵심 요약: HECKLER - Confidential VM 취약점 공격

개요

HECKLER는 하이퍼바이저가 인터럽트를 몰래 집어넣어 프로그램의 실행 흐름을 가로채고, 이를 통해 보안 인증을 우회하는 것입니다. (해결 방식 제시 X)

인터럽트 발생할 때, 하이퍼바이저는 현재 VM의 상태를 저장한 후, 인터럽트를 처리하거나 전달합니다. 하이퍼바이저는 이 상태 저장/복원 과정에서 레지스터 값을 조작할 수 있는 기회를 얻습니다.


기술적 기법

  1. 악성 인터럽트 주입:

    • 하이퍼바이저는 CVM의 레지스터와 글로벌 상태를 변경할 수 있는 인터럽트를 주입하여 프로그램의 데이터와 제어 흐름을 조작합니다.
    • 주로 int 0x80과 같은 시스템 콜 인터럽트를 활용하여 CVM 내 특정 응용 프로그램의 동작을 변조합니다.
  2. 공격 사례:

    • OpenSSH 및 sudo에서 인증을 우회하여 루트 접근 권한을 획득.
    • 통계 분석(C, Java, Julia)을 조작하여 계산 결과를 왜곡.
  3. 단계적 공격 체인:

    • 여러 인터럽트를 연속적으로 주입하여 프로그램 상태와 제어 흐름을 점진적으로 변형.
  4. 취약점:

    • AMD SEV-SNP와 Intel TDX는 일부 인터럽트를 CVM에 전달하며, 이로 인해 공격자가 인터럽트를 활용하여 CVM의 상태를 변경할 수 있습니다.

주요 기여