Руководство по использованию Capsicum для изоляции выполнения программ и библиотек

Бен Лори (Ben Laurie), известный своим вкладом в разработку OpenSSL и обеспечение поддержки SSL для http-сервера Apache, а также многим другим, представил практическое руководство по использованию интегрированной во FreeBSD подсистемы Capsicum для изоляции выполнения программ и библиотек. Использование Capsicum продемонстрировано на примере утилиты bzip2 и библиотеки libtiff, все действия разбиты на 13 этапов, для каждого из которых представлены для изучения соответствующие патчи.
Подсистема Capsicum опционально включена в состав FreeBSD 9 в качестве экспериментальной возможности и будет активирована по умолчанию начиная с FreeBSD 10. Capsicum представляет собой фреймворк для организации изолированного выполнения приложений и ограничения использования приложениями определённых функций. Capsicum расширяет POSIX API и предоставляет несколько новых системных примитивов, нацеленных на поддержку модели безопасности через управление возможностями объектов ("object-capability") для Unix-систем. Capsicum нацелен на дополнение традиционного централизованного мандатного контроля доступа средствами для защиты отдельных приложений и активируется на стороне самого приложения. Используя Capsicum приложение можно запустить в режиме повышенной изоляции (sandbox), при котором программа сможет выполнять только ранее специфицированные штатные действия.
Дополнительно можно отметить статью "Automatic binary hardening with Autoconf" в которой показано как автоматизировать проверку наличия дополнительных механизмов повышения безопасности в скриптах Autoconf и активировать сборку с задействованием всех доступных методов повышения безопасности на этапе сборки. В частности, рассматриваются такие возможности современных компиляторов, как рандомизация выделения памяти, дополнительные проверки корректности выполнения строковых операций и операций с памятью (-D_FORTIFY_SOURCE=2), защита от удаления компилятором "излишних" проверок на целочисленные переполнения (-fno-strict-overflow), защита от переполнения стек-фрейма (-fstack-protector-all) и т.п. Отмечается, что использовать данные возможности в своих программах стоит с осторожностью, предварительно протестировав возможное негативное влияние на производительность (некоторые наблюдают замедление до 30%).



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов