Спецпроекты

Google и Кэмбриджский университет улучшают безопасность UNIX

Открытое ПО ПО Свободное ПО Софт

Исследовательская команда, сформированная совместно компанией 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.