Для ядра Linux предложена система изоляции приложений Capsicum, изначально созданная для FreeBSD
Capsicum расширяет POSIX API и предоставляет несколько новых системных примитивов, нацеленных на поддержку модели безопасности через управление возможностями объектов ("object-capability") для Unix-систем. Capsicum нацелен на дополнение традиционного централизованного мандатного контроля доступа средствами для защиты отдельных приложений и активируется на стороне самого приложения. Используя Capsicum, приложение можно запустить в режиме повышенной изоляции (sandbox), при котором программа сможет выполнять только заведомо разрешённые штатные действия.
Capsicum вводит в обиход новый класс файловых дескрипторов - capability, который предоставляет ограниченный набор прав, ассоциированных с ним. Попытки выполнить действия с дескриптором данного типа, не разрешённые заданными правами, отклоняются с выводом ошибки ENOTCAPABLE. Новые полномочия могут определяться только иерархически, как подмножество уже заданных прав, привязанных к существующему capability-дескриптору. Предоставляется также специальный режим "capability", блокирующий обращение ко всем системным вызовам из которых возможен доступ к глобальному пространству имён.
Комбинируя эти две возможности, использующее Capsicum приложение может эффективно изолировать себя в sandbox, определив права доступа для необходимых в работе файлов и сокетов, закрыв все остальные файловые дескрипторы и активировав режим capability, который не позволит открыть не подпадающие под созданные правила новые файловые дескрипторы.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40110
|
0 | Tweet | Нравится |
|