Исследовательская команда, сформированная совместно компанией Google и
Кэмбриджским университетом, представила новую среду безопасного выполнения
приложений Capsicum (лат. "стручковый перец"). Capsicum позволяет более
эффективным образом создавать "песочницы" (sandboxes) для изоляции приложений и
пользователей, а также улучшить механизм разделения полномочий.

Capsicum основан на модели компартментализации (compartmentalisation),
позволяющей запускать процессы в изолированных окружениях и тем самым заполнить
пробел между распространенными моделями контроля доступа DAC (дискретный
контроль доступа) и MAC (мандатный контроль доступа). Первая модель создавалась
с целью защитить пользователей друг от друга, а вторая – с целью обеспечить
централизованную политику в области безопасности. Однако современные приложения
– в том числе, веб-браузеры – сталкиваются с принципиально иными проблемами в
области безопасности, когда разделение доступа требуется на уровне разных
процессов одного приложения, запускаемого одним пользователем. Capsicum
расширяет стандартные интерфейсы POSIX, добавляя несколько новых примитивов UNIX,
специально предназначенных для изоляции пользователей и процеессов и разделения
полномочий.

Модель компартментализации уже широко используется в ряде приложений, таких
как OpenSSH и веб-браузер Chromium от Google. Однако поскольку в этих программах
"песочницы" создаются не на уровне операционной системы, а на уровне самого
приложения, это усложняет работу программиста и создает дополнительные риски для
безопасности. В будущем Capsicum позволит упростить работу создателей Chromium и
других аналогичных программ.

В настоящее время Capsicum уже работает в среде FreeBSD 8.x, существует также
специальная сборка веб-браузера Chromium с поддержкой Capsicum. В будущем
ожидается включение новой среды в состав дистрибутива FreeBSD 9.x, а также ее
портирование на ОС Linux. Основные результаты исследования изложены в
специальной

статье
, впервые представленной на конференции USENIX Security Symposium.



Оставить мнение