Компания Google опубликовала свои наработки по портированию фреймворка Capsicum для ядра Linux. Работа основана на коде Capsicum из состава FreeBSD 9 и начальной реализации для Linux, развиваемой в прошлом году Маредидом Люффом (Meredydd Luff). Вариант Capsicum от Google базируется на ядре Linux 3.11, оформлен в виде LSM-модуля (Linux Security Module) и поддерживает работу на системах x86_64 или в user-mode Linux.
Capsicum представляет собой фреймворк для организации изолированного выполнения приложений и ограничения использования приложениями определённых функций. Capsicum расширяет POSIX API и предоставляет несколько новых системных примитивов, нацеленных на поддержку модели безопасности через управление возможностями объектов ("object-capability") для Unix-систем. Capsicum нацелен на дополнение традиционного централизованного мандатного контроля доступа средствами для защиты отдельных приложений и активируется на стороне самого приложения. Используя Capsicum, приложение можно запустить в режиме повышенной изоляции (sandbox), при котором программа сможет выполнять только заведомо разрешённые штатные действия.
Capsicum вводит в обиход новый класс файловых дескрипторов - capability, который предоставляет ограниченный набор прав, ассоциированных с ним. Попытки выполнить действия с дескриптором данного типа, не разрешённые заданными правами, отклоняются с выводом ошибки ENOTCAPABLE. Новые полномочия могут определяться только иерархически, как подмножество уже заданных прав, привязанных к существующему capability-дескриптору. Предоставляется также специальный режим "capability", блокирующий обращение ко всем системным вызовам из которых возможен доступ к глобальному пространству имён. Комбинируя эти две возможности, использующее Capsicum приложение может эффективно изолировать себя в sandbox, определив права доступа для необходимых в работе файлов и сокетов, закрыв все остальные файловые дескрипторы и активировав режим capability, который не позволит открыть не подпадающие под созданные правила новые файловые дескрипторы.
Capsicum представляет собой фреймворк для организации изолированного выполнения приложений и ограничения использования приложениями определённых функций. Capsicum расширяет POSIX API и предоставляет несколько новых системных примитивов, нацеленных на поддержку модели безопасности через управление возможностями объектов ("object-capability") для Unix-систем. Capsicum нацелен на дополнение традиционного централизованного мандатного контроля доступа средствами для защиты отдельных приложений и активируется на стороне самого приложения. Используя Capsicum, приложение можно запустить в режиме повышенной изоляции (sandbox), при котором программа сможет выполнять только заведомо разрешённые штатные действия.
Capsicum вводит в обиход новый класс файловых дескрипторов - capability, который предоставляет ограниченный набор прав, ассоциированных с ним. Попытки выполнить действия с дескриптором данного типа, не разрешённые заданными правами, отклоняются с выводом ошибки ENOTCAPABLE. Новые полномочия могут определяться только иерархически, как подмножество уже заданных прав, привязанных к существующему capability-дескриптору. Предоставляется также специальный режим "capability", блокирующий обращение ко всем системным вызовам из которых возможен доступ к глобальному пространству имён. Комбинируя эти две возможности, использующее Capsicum приложение может эффективно изолировать себя в sandbox, определив права доступа для необходимых в работе файлов и сокетов, закрыв все остальные файловые дескрипторы и активировав режим capability, который не позволит открыть не подпадающие под созданные правила новые файловые дескрипторы.