Kage: 구글, 인-커널 LFI 샌드박스를 이용한 리눅스 드라이버 격리 실험
요약
구글은 LLVM의 Lightweight Fault Isolation(LFI) 기술을 활용하여 인-커널 샌드박스 커널 서브시스템인 Kage를 개발했습니다. Kage는 리눅스 드라이버가 시스템 나머지 부분과 동일한 권한 수준을 가지면서도 가상 메모리 공간에 국한되어 격리를 제공합니다. 이를 통해 안정성과 보안성을 높일 수 있습니다.
핵심 포인트
- Kage는 LLVM LFI 기반의 인-커널 샌드박스 기술입니다.
- 드라이버가 시스템과 동일 권한을 가지나, 가상 메모리 공간에 국한됩니다.
- Kage와 VirtIO를 결합한 'VKage'로 NVMe, 네트워크 드라이버 프로토타입이 구현되었습니다.
Kage: 구글, 인-커널 LFI 샌드박스를 이용한 리눅스 드라이버 격리 실험

구글 엔지니어들은 LLVM의 새로운 Lightweight Fault Isolation 기술을 기반으로 하는 인-커널 샌드박스를 제공하는 커널 서브시스템인 Kage 개발을 주도해 왔습니다. Lightweight Fault Isolation은 원래 스탠퍼드에서 개발되었으며 구글이 지원하여, 네이티브 코드의 프로세스 내 격리(in-process isolation)를 제공하고 기존 샌드박스보다 오버헤드가 낮은 소프트웨어 기반의 결함 격리 기술입니다. LLVM LFI는 AArch64에 대해 완전하게 업스트림화되었으며, x86/x86_64 LFI 지원은 LLVM 24까지 완료하는 것을 목표로 하고 있습니다.
Kage가 적용된 드라이버들은 리눅스 커널의 나머지 부분과 동일한 하드웨어 권한 수준 및 주소 공간을 가지지만, 컴파일러 기반의 LFI를 통해 가상 메모리 공간의 일부에 국한됩니다.
전통적인 VirtIO 사용 방식과는 반대로 Kage와 VirtIO를 결합하는 'VKage'는 이미 드라이버 샌드박스 환경에서 작동하는 NVMe, 네트워크 및 WiFi 프로토타입을 구현하는 데 사용되었습니다. 하지만 성능 측면에서의 추가 테스트가 필요하며, GPU 드라이버의 샌드박싱이 실현 가능한지 탐색하는 것도 남아 있습니다. 구글은 향후 Android 장치 드라이버를 위해 (V)Kage를 고려하고 있을 수 있습니다.
구글의 리눅스 장치 드라이버 격리용 Kage에 대해 궁금한 분들은 LPC 2026 발표 자료를 통해 더 많은 것을 배울 수 있습니다. 또한 여름 동안 작성된 이 ACM.org 논문에도 Kage에 대한 내용이 개괄되어 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기