Суть проекта Kage
Инженеры Google разрабатывают подсистему Kage — механизм изоляции драйверов устройств непосредственно в пространстве ядра Linux. В основе подхода лежит технология Lightweight Fault Isolation (LFI) от LLVM, изначально разработанная Стэнфордским университетом при поддержке Google. LFI обеспечивает изоляцию нативного кода на уровне процесса с меньшими накладными расходами по сравнению с традиционными песочницами.
Ключевая особенность Kage заключается в том, что драйверы сохраняют тот же уровень привилегий и адресное пространство, что и остальная часть ядра Linux. Однако благодаря компиляторной поддержке LFI их выполнение строго ограничивается подмножеством виртуального адресного пространства, что предотвращает доступ к критически важным участкам памяти при сбое или атаке.
Технические детали и поддержка архитектур
Технология LLVM LFI уже полностью интегрирована для архитектуры AArch64. Поддержка для x86/x86_64 находится в стадии завершения и ожидается в релизе LLVM 24. Это позволяет Google тестировать решение на широком спектре аппаратных платформ, от мобильных устройств до серверов.
Прототип VKage и производительность
Google продемонстрировала прототип под названием VKage — инвертированное использование VirtIO для работы в изолированной среде. Уже реализована работающая модель для драйверов NVMe, сетевых интерфейсов и Wi-Fi. Однако проект находится на стадии активного тестирования производительности, а также исследуется возможность изоляции драйверов GPU.
| Компонент | Статус/Характеристика | Примечание |
|---|---|---|
| Технология изоляции | LLVM LFI (Lightweight Fault Isolation) | Программная изоляция с низкими накладными расходами |
| Поддержка AArch64 | Полная (fully upstream) | Готово к использованию |
| Поддержка x86/x86_64 | В разработке | Ожидается в LLVM 24 |
| Прототип VKage | Рабочие драйверы | NVMe, сеть, Wi-Fi |
| Перспективное применение | Android | Изоляция драйверов устройств в мобильных ОС |
Значение для экосистемы
Успешная реализация Kage может стать прорывом в безопасности Linux, особенно для Android-устройств, где драйверы часто становятся целью атак. Представление проекта на конференции LPC 2026 и публикация статьи в ACM.org свидетельствуют о серьезном интересе сообщества к этому направлению. Google продолжает исследовать, как сделать ядро Linux более устойчивым к уязвимостям драйверов, не жертвуя производительностью.
Источник: Phoronix ↗
