Microsoft представила Rust-проект безопасности LiteBox

Инженеры Microsoft совместно с проектом Linux Virtualization Based Security (LVBS) представили LiteBox — новый проект с открытым исходным кодом, который сокращает поверхность атаки операционной системы за счёт ограничения лишнего доступа приложений к системным ресурсам. В описании LiteBox называется «ориентированной на безопасность библиотечной ОС», которая минимизирует количество открытых интерфейсов и при этом сохраняет гибкую совместимость с различными платформами и средами выполнения.

LiteBox предназначен для разработчиков и не устанавливается пользователями напрямую. Его планируют встраивать в приложения Windows, среды выполнения и компоненты платформы.

Проект находится на стадии активной разработки и пока не имеет стабильного релиза. В официальной документации отмечается, что API и интерфейсы ещё могут меняться по мере развития дизайна.

В основе LiteBox лежит песочница, которая резко сокращает канал взаимодействия между приложениями и хост-системой. Вместо широкого доступа к системным вызовам LiteBox предоставляет узкий слой исполнения, открывая приложению только те ресурсы, которые ему действительно нужны. Такой подход помогает уменьшить последствия уязвимостей ядра и атак на повышение привилегий.

LiteBox следует модели библиотечной ОС: ключевые сервисы операционной системы встраиваются рядом с приложением или ядром. Запросы от приложений проходят через минимальный платформенный слой, который уже обращается к полным внешним интерфейсам, вместо того чтобы раскрывать эти интерфейсы напрямую. Таким образом снижается число точек потенциальной атаки.

Для разработки LiteBox Microsoft использует язык Rust, так как он известен безопасной работой с памятью, устойчивостью и высокой производительностью для системного и защитного программного обеспечения. Проект распространяется по лицензии MIT, что позволяет любому желающему свободно использовать его и вносить вклад.

Согласно официальному репозиторию LiteBox, проект «предоставляет интерфейс North в стиле Rust и nix/rustix, если на стороне South ему передан интерфейс Platform». Такой модульный подход позволяет соединять разные части с минимальной поверхностью взаимодействия и собирать различные комбинации пар North–South под конкретные сценарии.

Некоторые разработчики отмечают, что такая архитектура даёт возможность запускать «недоверенные нагрузки внутри конфиденциальных виртуальных машин, где гипервизор не может просматривать память гостевой системы». Это делает LiteBox особенно полезным для Azure Confidential Computing и других сценариев с повышенными требованиями к безопасности, а открытый исходный код на Rust помогает укрепить доверие к среде выполнения.

Этот подход позволяет LiteBox работать в широком диапазоне сценариев: от потенциального запуска неизменённых Linux-приложений в Windows 11 до выполнения защищённых задач на оборудовании AMD SEV-SNP.

Кроме того, рассматриваются варианты использования LiteBox для запуска доверенных приложений OP-TEE в Linux и работы внутри сред Linux Virtualization Based Security (LVBS).

Цель проекта — обновить подход к изоляции приложений с помощью модели библиотечной ОС, отказавшись от классических виртуальных машин и контейнеров с общим ядром. В сочетании с LVBS LiteBox может защищать критически важные операции ядра и изолировать чувствительные активы даже при компрометации гостевого ядра.

Репозиторий LiteBox на GitHub уже открыт (на него обратило внимание издание Phoronix), однако использовать проект в продуктивных средах пока рано. Microsoft подчёркивает, что LiteBox всё ещё находится в активной разработке и его API будут меняться по мере доработки архитектуры.

Источник: репозиторий LiteBox, Phoronix.

Оцените статью
Gimal-Ai