공유 스토리지로 인한 격리 실패: 컨테이너 및 VM 간 페이지 캐시(Page-Cache) SCA 누출 특성 분석 및 악용
요약
컨테이너 및 VM 환경에서 공유 스토리지의 페이지 캐시(Page-Cache)를 통해 발생하는 사이드 채널 공격 취약성을 분석합니다. I/O 경로가 공유될 때 발생하는 타이밍 신호를 통해 격리 경계를 넘어 데이터 존재 여부를 파악할 수 있음을 입증했습니다.
핵심 포인트
- 공유 호스트 페이지 캐시를 통한 마이크로아키텍처 타이밍 사이드 채널 분석
- OverlayFS, virtio-fs 등 I/O 경로 공유 시 보안 격리 실패 가능성 확인
- 직접 I/O 및 전용 블록 장치 사용 시 공격 신호가 크게 감소함
- MySQL 기반 WordPress 활동을 복구하는 실제 공격 사례 입증
- 하드웨어, 가상화, OS 차원의 통합된 타이밍 격리 지원 필요성 제기
현대 클라우드 플랫폼은 성능과 자원 효율성을 향상시키기 위해 강력한 소프트웨어 격리 메커니즘과 공유 하드웨어 자원을 점점 더 많이 결합하고 있습니다. 기존의 컨테이너는 호스트 커널을 직접 공유함으로써 이를 수행하는 반면, 샌드박스 런타임(예: gVisor) 및 VM 기반 런타임(예: Kata, QEMU/KVM)은 점진적으로 더 강력한 격리를 제공합니다. 모든 경우에서 테넌트(tenant)가 호스트 기반 파일 시스템 상태에 접근할 때, 호스트 페이지 캐시(page cache)는 공유되고 관찰 가능한 상태로 남아 있을 수 있습니다. OS에 의해 관리됨에도 불구하고, 이 페이지 캐시 채널은 프로세서 마이크로아키텍처(microarchitecture), 메모리 및 스토리지 계층 구조, 그리고 가상화 메커니즘에 의해 신호가 형성되는 OS 매개 마이크로아키텍처 타이밍 사이드 채널(microarchitectural timing side channel)을 형성합니다. 따라서 우리는 권한이 없는 타이밍 측정(timing measurements)이 이러한 격리 경계 전반에 걸쳐 페이지 캐시 상주 여부를 드러낼 수 있는지 조사합니다. 우리의 평가는 Docker, systrap를 사용하는 gVisor 및 KVM, 공유 호스트 파일 시스템을 사용하는 QEMU 및 Cloud Hypervisor 기반의 Kata Containers, 블록 장치 기반 스토리지(block-device-backed storage)를 사용하는 QEMU, Cloud Hypervisor 및 Firecracker 기반의 Kata, 그리고 다양한 호스트 캐시 정책 하의 QEMU/KVM 가상 머신을 포함합니다. 연구 결과에 따르면, OverlayFS 레이어, virtio-fs 내보내기(exports), 루프백 블록 장치(loop-backed block devices)를 포함하여 I/O 경로가 공유되고 호스트 캐시가 가능한 파일 기반 객체를 노출할 때마다 타이밍 신호가 지속됨을 보여줍니다. 그러나 직접 I/O 및 전용 블록 장치는 신호를 상당히 감쇠시키거나 제거합니다. 따라서 가상화는 추가된 지연 시간(latency)과 알고리즘 노이즈를 통해 누출의 형태를 재구성하지만, 공유 하드웨어 및 캐시 상태에 대한 근본적인 의존성을 제거하지는 못합니다. 우리는 MySQL 기반의 WordPress 배포에서 거친 입도의 활동(coarse-grained activity)을 복구하는 사례 연구를 통해 이를 입증합니다. 이러한 결과는 페이지 캐시 공격을 OS 매개 마이크로아키텍처 타이밍 채널이라는 더 넓은 범주에 포함시키며, 타이밍 격리를 위한 하드웨어, 가상화 및 OS의 통합된 지원의 필요성을 시사합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기