[연구] [이호준교수연구실] ACM CCS 2024 학술대회 논문 게재 승인 소식
- 소프트웨어융합대학
- 조회수2407
- 2024-07-08
시스템보안 연구실 (지도교수 이호준, https://sslab.skku.edu)의 임하정(박사과정), 김재윤(석박통합과정) 학생 참여 논문 "uMMU: Securing Data Confidentiality with Unobservable Memory Subsystem"이 논문이 보안분야 4대 학회 중 하나인 ACM CCS 2024에 게재 승인되어 10월에 발표될 예정입니다.
다음은 논문의 개요입니다:
현대 컴퓨팅 시스템의 메모리 계층 구조는 여러 종류의 보안 위협에 노출되어 있어 데이터 기밀성 보장이 계속해서 어려움을 겪고 있습니다. 공격자들은 다양한 강력한 공격 기법을 통해 중요 데이터를 직간접적으로 유출해왔으며, 새로운 공격들이 지속적으로 발견되고 있습니다. 안전하지 않은 언어로 작성된 프로그램에서의 메모리 안전 (Memory Safety)는 달성하기가 매우 어려워 공격으로 인한 비정상적인 메모리 접근이 직접적인 공격 경로로 사용되고 있습니다. HeartBleed와 같은 보안 사고가 이러한 공격의 대표적인 예시입니다. 최근에는 마이크로아키텍처 부채널 공격이 일반 프로그램뿐만 아니라 TEE(Trusted Execution Environment) 같은 기술로 보호된 프로그램의 데이터조차 유출 가능함을 증명하고 있습니다.
이 논문에서는 uMMU라는 새로운 프로세스 내 데이터 보호를 위한 메모리 서브시스템을 제시합니다. uMMU는 프로세서 레지스터를 관측할 수 없는 저장소로 사용하는 기법을 메모리 암호화 및 Oblivious RAM과 같은 데이터 기밀 보호 기술과 유기적으로 통합합니다. uMMU는 프로세서 아키텍처의 확장 레지스터(예: Intel x86의 AVX512)를 관측할 수 없고 주소 지정 가능한 물리 메모리로 추상화합니다. 가상 메모리 원칙을 완성하는 것은 암호화 또는 ORAM과 같은 메모리 기밀성 정책이 적용된 안전한 스왑 공간을 유지하는 메모리 관리입니다. uMMU는 민감한 데이터에 대한 데이터 기밀성 정책을 호스팅할 수 있는 범용적이고 강력한 데이터 보안 프레임워크입니다. 실험 결과에 따르면, uMMU는 민감한 데이터 보호를 위한 암호화 및 ORAM 스킴을 사용한 프로그램의 성능을 크게 향상시킵니다. MbedTLS의 민감 데이터 암호화 기반 보호에서 평균 69.93%의 성능 향상, 그리고 Memcached의 해시 테이블에서의 액세스 패턴을 숨기는 ORAM 기반 보호에서 497.84%의 성능 향상을 보였습니다.
영문 Abstract:
Ensuring data confidentiality in a computing system's memory hierarchy proved to be a formidable challenge with the large attack surface. Diverse and powerful attacks threaten data confidentiality. Memory safety is notoriously hard to achieve with unsafe languages, thereby empowering adversaries with unauthorized memory accesses, as represented by the HeartBleed incident. More recently, microarchitectural side channel attacks reign as a prevalent threat against data confidentiality that affects program execution including the safeguarded ones inside TEEs.
In this paper, we introduce an in-process memory subsystem called uMMU. uMMU coherently consolidates the notion of employing processor registers as unobservable storage with data confidentiality protection techniques such as memory encryption and Oblivious RAM. uMMU creates a new address space called uVirtual address space that is unobservable to adversaries. Under the abstraction created by uMMU, the processor's spacious extended registers, such as Intel x86's AVX512, are transformed into unobservable and addressable physical memory backing. Completing the principles of virtual memory abstraction is the memory management that maintains a secure swap space applied with memory confidentiality policies such as encryption or ORAM. uMMU is a versatile and powerful framework that can host data confidentiality policies on sensitive data. Our real-world evaluation indicates that uMMU significantly improves the performance of programs with encryption and ORAM schemes for sensitive data protection: an average of 69.93% improvement in encryption-based protection of sensitive data in MbedTLS, and 497.84% for ORAM-based elimination of access patterns on Memcached's hashtable.
현대 컴퓨팅 시스템의 메모리 계층 구조는 여러 종류의 보안 위협에 노출되어 있어 데이터 기밀성 보장이 계속해서 어려움을 겪고 있습니다. 공격자들은 다양한 강력한 공격 기법을 통해 중요 데이터를 직간접적으로 유출해왔으며, 새로운 공격들이 지속적으로 발견되고 있습니다. 안전하지 않은 언어로 작성된 프로그램에서의 메모리 안전 (Memory Safety)는 달성하기가 매우 어려워 공격으로 인한 비정상적인 메모리 접근이 직접적인 공격 경로로 사용되고 있습니다. HeartBleed와 같은 보안 사고가 이러한 공격의 대표적인 예시입니다. 최근에는 마이크로아키텍처 부채널 공격이 일반 프로그램뿐만 아니라 TEE(Trusted Execution Environment) 같은 기술로 보호된 프로그램의 데이터조차 유출 가능함을 증명하고 있습니다.
이 논문에서는 uMMU라는 새로운 프로세스 내 데이터 보호를 위한 메모리 서브시스템을 제시합니다. uMMU는 프로세서 레지스터를 관측할 수 없는 저장소로 사용하는 기법을 메모리 암호화 및 Oblivious RAM과 같은 데이터 기밀 보호 기술과 유기적으로 통합합니다. uMMU는 프로세서 아키텍처의 확장 레지스터(예: Intel x86의 AVX512)를 관측할 수 없고 주소 지정 가능한 물리 메모리로 추상화합니다. 가상 메모리 원칙을 완성하는 것은 암호화 또는 ORAM과 같은 메모리 기밀성 정책이 적용된 안전한 스왑 공간을 유지하는 메모리 관리입니다. uMMU는 민감한 데이터에 대한 데이터 기밀성 정책을 호스팅할 수 있는 범용적이고 강력한 데이터 보안 프레임워크입니다. 실험 결과에 따르면, uMMU는 민감한 데이터 보호를 위한 암호화 및 ORAM 스킴을 사용한 프로그램의 성능을 크게 향상시킵니다. MbedTLS의 민감 데이터 암호화 기반 보호에서 평균 69.93%의 성능 향상, 그리고 Memcached의 해시 테이블에서의 액세스 패턴을 숨기는 ORAM 기반 보호에서 497.84%의 성능 향상을 보였습니다.
영문 Abstract:
Ensuring data confidentiality in a computing system's memory hierarchy proved to be a formidable challenge with the large attack surface. Diverse and powerful attacks threaten data confidentiality. Memory safety is notoriously hard to achieve with unsafe languages, thereby empowering adversaries with unauthorized memory accesses, as represented by the HeartBleed incident. More recently, microarchitectural side channel attacks reign as a prevalent threat against data confidentiality that affects program execution including the safeguarded ones inside TEEs.
In this paper, we introduce an in-process memory subsystem called uMMU. uMMU coherently consolidates the notion of employing processor registers as unobservable storage with data confidentiality protection techniques such as memory encryption and Oblivious RAM. uMMU creates a new address space called uVirtual address space that is unobservable to adversaries. Under the abstraction created by uMMU, the processor's spacious extended registers, such as Intel x86's AVX512, are transformed into unobservable and addressable physical memory backing. Completing the principles of virtual memory abstraction is the memory management that maintains a secure swap space applied with memory confidentiality policies such as encryption or ORAM. uMMU is a versatile and powerful framework that can host data confidentiality policies on sensitive data. Our real-world evaluation indicates that uMMU significantly improves the performance of programs with encryption and ORAM schemes for sensitive data protection: an average of 69.93% improvement in encryption-based protection of sensitive data in MbedTLS, and 497.84% for ORAM-based elimination of access patterns on Memcached's hashtable.