The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

15.05.2012 21:25  Руководство по использованию 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%). .

  1. Главная ссылка к новости (http://www.openwall.com/lists/...)
  2. OpenNews: Официально представлен релиз FreeBSD 9.0. Обзор новшеств
Лицензия: CC-BY
Тип: английский / Практикум
Ключевые слова: capsicum, freebsd, security, cutoconf, hardening
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 21:56, 15/05/2012 [ответить] [показать ветку] [···]    [к модератору]
  • –4 +/
    Тяжело им без SELinux.
     
     
  • 2.2, Аноним (-), 22:04, 15/05/2012 [^] [ответить]    [к модератору]
  • +/
    Толсто.
    у них есть свой мандатный контроль доступа. К тому же 1, а не 4 разных
     
     
  • 3.4, Аноним (-), 22:38, 15/05/2012 [^] [ответить]     [к модератору]
  • +3 +/
    Но редхата своего у них нет, так что правила писать некому Значит, повод для за... весь текст скрыт [показать]
     
     
  • 4.23, Аноним (-), 21:06, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > MACа нужно как минимум два: привязанный к меткам и привязанный к именам.

    ради самообразования(не ради bsd vs linux), зачем нужен делали МАС по именам, вместо "по меткам"? Только простоты ради?

     
     
  • 5.28, Аноним (-), 00:33, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    * зачем сделали МАС по именам, а не по меткам?
     
  • 5.33, Аноним (-), 02:28, 17/05/2012 [^] [ответить]     [к модератору]  
  • +/
    Не только ради простоты Пара примеров Далеко не все ФС поддерживают метки безо... весь текст скрыт [показать]
     
  • 3.6, Аноним (-), 22:56, 15/05/2012 [^] [ответить]     [к модератору]  
  • +/
    А что, MAC в рамках TrustedBSD так довели до рабочего состояния Afaik, история ... весь текст скрыт [показать]
     
     
  • 4.7, Аноним (-), 06:49, 16/05/2012 [^] [ответить]    [к модератору]  
  • +1 +/
    Afaik оно работает, даже в OS X, не говоря уже о FreeBSD, где начиная с 5 версии. Есть ещё SEBSD, порт SELinux для FreeBSD, вот с ним не понятно, в каком он состоянии.
     
     
  • 5.12, Аноним (-), 14:39, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    В OS X запросто, там все-таки Apple. А вот насчет Фри - не могли бы вы пруфы представить? Хаутушки какие-нибудь, например.
     
     
  • 6.14, Аноним2 (?), 15:18, 16/05/2012 [^] [ответить]    [к модератору]  
  • +1 +/
    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html
     
  • 6.40, Аноним (-), 15:19, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    Брат аноним уже дал ссылку на оффициальный guide, там даже есть некий набор готовых политик.
     
  • 2.5, Аноним (-), 22:40, 15/05/2012 [^] [ответить]    [к модератору]  
  • +3 +/
    > Тяжело им без SELinux.

    MAC и фильтр сисколов - это совершенно разные технологии. Capsicum - это аналог линуксового seccomp.

     
     
  • 3.8, user (??), 08:11, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    Ну откуда ж ему знать то? Его цель - просто пёрнуть в лужу, а не вникнуть в суть новости
     
     
  • 4.15, Аноним (-), 16:05, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Ну откуда ж ему знать то? Его цель - просто пёрнуть в лужу, а не вникнуть в суть новости

    Но по сути он все же прав. На фре без SELinux тяжело.

     
     
  • 5.41, Аноним (-), 15:21, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    По сути во Фре есть свой MAC, да и порт SELinux тоже делали, SEBSD, незнаю, правда, что с ним сейчас.
     
  • 3.38, Аноним (-), 12:32, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Capsicum - это аналог линуксового seccomp.

    Какой-то очень приблизительный аналог то - фильтр сисколов vs довески на права.

     
  • 2.9, Куяврик (?), 10:24, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    Это такая хреновинка, которую 90% не знают и 9% отключают если включено?
     
     
  • 3.13, Аноним (-), 14:41, 16/05/2012 [^] [ответить]    [к модератору]  
  • +1 +/
    > Это такая хреновинка, которую 90% не знают и 9% отключают если включено?

    Да. Практически все продвинутые технологии безопасности на десктопах и гoвносерверах разделяют эту судьбу. Включая сабж.

     
     
  • 4.16, Аноним (-), 16:06, 16/05/2012 [^] [ответить]     [к модератору]  
  • +2 +/
    и уже через годик почти любой подробный мануал по настройке чего-нибудь буде... весь текст скрыт [показать]
     
  • 4.26, Аноним (-), 21:46, 16/05/2012 [^] [ответить]     [к модератору]  
  • +1 +/
    Потому что что виндозные ACL что вот это вот - такая хрень что проще застрелитьс... весь текст скрыт [показать]
     
  • 2.17, Kibab (ok), 18:44, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    Разобрались бы для начала в разнице между SELinux и Capsicum, потом бы писали бред. Это фундаментально разные технологии и подходы.
     
  • 2.22, NoMan (?), 19:45, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    Вообще-то если прочесть про капсикум, то Google планирует интегрировать его в ядро Linux. Тяжело всем.
     
     
  • 3.29, Аноним (-), 02:11, 17/05/2012 [^] [ответить]     [к модератору]  
  • +/
    В результате его интегрируют только в ядро ChromeOS А в мейнстиме среагируют та... весь текст скрыт [показать]
     
  • 3.39, Аноним (-), 12:36, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Вообще-то если прочесть про капсикум, то Google планирует интегрировать

    Почему-то вспоминается анекдот:
    Анонс в аэропорту: "планировал совершить посадку самолет номер 13..."

     
  • 1.3, Аноним (-), 22:36, 15/05/2012 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Мне capsicum показался излишне усложнённым, seccomp filter в Linux гораздо проще в понимании и использовании.
     
     
  • 2.18, Kibab (ok), 18:45, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Мне capsicum показался излишне усложнённым, seccomp filter в Linux гораздо проще в
    > понимании и использовании.

    А можно поподробнее? Было бы интересно послушать.

     
     
  • 3.20, Аноним (-), 19:02, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    http://outflux.net/teach-seccomp/
     
     
  • 4.21, Kibab (ok), 19:31, 16/05/2012 [^] [ответить]     [к модератору]  
  • +1 +/
    Посмотрел, спасибо Что вывел для себя 1 В примере разрешаются вызовы read, wr... весь текст скрыт [показать]
     
     
  • 5.25, Аноним (-), 21:42, 16/05/2012 [^] [ответить]     [к модератору]  
  • –1 +/
    Я конечно понимаю что бсдшники - перфекционисты Но вот как раз именно поэтому и... весь текст скрыт [показать]
     
     
  • 6.27, Kibab (ok), 21:48, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    >> Посмотрел, спасибо. Что вывел для себя:
    >> 1. В примере разрешаются вызовы read, write. Это всё здорово, однако для
    >> stdin мне нужен только read, а для stdout только write.
    > Я конечно понимаю что бсдшники - перфекционисты. Но вот как раз именно
    > поэтому и рулят более другие системы. Да никому в этом мире
    > не уперлось максимальное решение со всеми наворотами. Надо реально работающее и
    > простое в использовани. Так, в общем случае.

    Проблема именно в том, что seccomp filters -- это не "простое в использовании". Даже тупой хелловорлд содержит уйму boilerplate-кода, доказательство тому -- просто чтение этого самого мануала по ссылке... И я бы поспорил, что оно "реально работает" -- когда у вас появляются ещё файлы, кроме stdin и stdout, и вы хотите из них читать и при этом что-то плевать на консоль -- вы автоматически вынуждены разрешить write(). Теперь вопрос -- на какие дескрипторы будет разрешён write() ? Я допускаю, правда, что в seccomp filter существует не менее хитрый способ ещё и отфильтровать аргументы у системных вызовов. Иначе бы этим вообще было бы невозможно пользоваться. Но он вряд ли будет менее кривым, чем способ инициализации этого фреймворка :-)

     
     
  • 7.30, Аноним (-), 02:17, 17/05/2012 [^] [ответить]     [к модератору]  
  • +/
    А вон ту инструкциб из 13 действий мы назовем простой и удобной, ну конечно В р... весь текст скрыт [показать]
     
     
  • 8.35, Kibab (ok), 02:38, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > А вон ту инструкциб из 13 действий мы назовем простой и удобной,
    > ну конечно. В результате закончится все тем что 99% прикладников на
    > это положат большой румяный ..., а вы переделывайте за ними по
    > феншую, если пупок не развяжется.

    Ну вы сравнили bzip2 и хелловорлд :-))) Вообще пора включить мозг -- 99% современного софта написано без особой оглядки на безопасность, поэтому переделывать в любом случае придётся много.
    Конечно, всё сразу переделать не удаться никому :-) Однако всё и не нужно. Критические системные сервисы и сетевые службы -- в первую очередь. И здесь мы вспоминаем про недавние новости про поддержку seccomp filters в vsftpd и OpenSSH, например. Далее, один из основных разрабочиков OpenSSH сидит от меня через два кабинета, и он в кулуарных разговорах высказывал заинтересованность в поддержке Capsicum.

    А на тех поделкописателей, которые будут упорно орать, что безопасность не важна -- в конце концов и положат большой и румяный :-)

     
     
  • 9.37, Аноним (-), 12:28, 17/05/2012 [^] [ответить]     [к модератору]  
  • –1 +/
    Ну все замечательно, конечно, но это аж 2 программы При том далеко не самые про... весь текст скрыт [показать]
     
     
  • 10.44, Kibab (ok), 20:55, 18/05/2012 [^] [ответить]     [к модератору]  
  • +/
    Знаете, сейчас один из самых реальных и действенных способов ломануть юзера пом... весь текст скрыт [показать]
     
  • 6.31, Аноним (-), 02:17, 17/05/2012 [^] [ответить]     [к модератору]  
  • +/
    Нет, тут просто решалась вполне конкретная задача докопаться к чему-нибудь И о... весь текст скрыт [показать]
     
     
  • 7.32, Аноним (-), 02:18, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > А конструктивной критикой тут и не пахнет.

    Собственно, поэтому не вижу смысла вступать в диалог. И другим не советую.

     
  • 7.36, Аноним (-), 12:00, 17/05/2012 [^] [ответить]     [к модератору]  
  • +/
    Ну так в случае идеальной софтины докопаться не получится Хотя наезды макофага ... весь текст скрыт [показать]
     
  • 7.45, Kibab (ok), 20:58, 18/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Нет, тут просто решалась вполне конкретная задача: докопаться к чему-нибудь.
    > И она более-менее решена, в прямом и топорном стиле.
    > А конструктивной критикой тут и не пахнет.

    А слабо теперь аргументировать, что вы тут понаписали? :-)

     
  • 1.10, _yurkis_ (?), 10:24, 16/05/2012 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Как раз искал! Шикарно! Спасибо огромное.
     
     
  • 2.19, Kibab (ok), 18:46, 16/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > Как раз искал! Шикарно! Спасибо огромное.

    Если искались, подпишитесь на cl-capsicum-discuss, откроете для себя ещё много интересного :-)

     
  • 1.11, Аноним (-), 14:29, 16/05/2012 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    На BSDCan говорили, что уже в 9 1 будет в GENERIC ... весь текст скрыт [показать]
     
     
  • 2.42, oops (ok), 17:17, 17/05/2012 [^] [ответить]    [к модератору]  
  • +/
    а там не говорили когда 9.1 зарелизится?
     
     
  • 3.43, Alexander Motin (?), 19:17, 18/05/2012 [^] [ответить]    [к модератору]  
  • +/
    > а там не говорили когда 9.1 зарелизится?

    Планируется начать release cycle в конце мая и закончить в июле-августе.

     
  • 1.24, Аноним (-), 21:39, 16/05/2012 [ответить] [показать ветку] [···]     [к модератору]  
  • +2 +/
    Ну ать-ать-ать, кто ж так новости постит, а Это п Все бы замечательно конеч... весь текст скрыт [показать]
     
  • 1.34, Аноним (-), 02:38, 17/05/2012 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Ну, кто там сомневался что x86 с его куцыми регистрами - не рулит ... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor