The OpenNET Project / Index page

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

Google развивает вариант системы изоляции приложений Capsicum для ядра Linux

11.10.2013 23:21

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

  1. Главная ссылка к новости (https://github.com/google/caps...)
  2. OpenNews: FreeBSD Foundation профинансирует улучшение системы изоляции приложений Capsicum
  3. OpenNews: FreeBSD Foundation профинансирует создание фреймворка для изоляции приложений средствами Capsicum
  4. OpenNews: Руководство по использованию Capsicum для изоляции выполнения программ и библиотек
  5. OpenNews: Релиз ядра Linux 3.5 c интеграция механизма seccomp filter
  6. OpenNews: Компания Google открыла код системы изолированных контейнеров Lmctfy
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38138-capsicum
Ключевые слова: capsicum, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Kolya (?), 23:27, 11/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    что-то по описанию это напоминает sandbox selinux'а
     
     
  • 2.3, Аноним (-), 00:03, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, там приложения ограничиваются внешними правилами.
    А тут, судя по описанию, все функции по ограничению ложатся на само приложение. Захочет - ограничится, не захочет - не ограничится.
     
     
  • 3.4, Kolya (?), 00:27, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    тогда скорее всего будет провал. И так capabilities почти никто не использует. Сомневаюсь, что с участием гугла что-то изменится.


     
     
  • 4.6, Аноним (-), 01:03, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > тогда скорее всего будет провал.

    Бсдшники это делали чисто из академического интереса, группа пиoнеров, работающих в гоогле, в свободное время спортировала это just4fun.
    Нужно ли это кому-то - подумать как-то забыли.

    > И так capabilities почти никто не использует.

    В федоре заставляют использоваться. Специально патчат демонов, чтобы они от рута не работали.

    > Сомневаюсь, что с участием гугла что-то изменится.

    Не факт, что эти пиoнеры действовали по корпоративной инициативе. Скорее - по личной.

     
     
  • 5.9, Аноним (-), 11:52, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > В федоре заставляют использоваться.

    Поэтому желающих пользоваться федорой не сильно много. Гемора с selinux много а результат не хуже можно достичь например простой резкой на контейнеры.

     
     
  • 6.13, ананим (?), 13:11, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Не поэтому.
    Селинух 100500-ый по списку. Просто сырое почти всё. Да ещё Похтеринги всякие, гномы3 (прибитые тееерь к системд и пульсу. На радость бсдишнегам и пр.)
     
     
  • 7.24, Аноним (-), 07:44, 13/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >  На радость бсдишнегам и пр.)

    Им с этого нифига не обломится - какая им с этого радость?

     
     
  • 8.27, ананим (?), 10:53, 13/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не догадался поставить тэг ирония Думал народ продвинутый, так поймёт ... текст свёрнут, показать
     
  • 7.30, Аноним (-), 16:53, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Селинух 100500-ый по списку. Просто сырое почти всё. Да ещё Похтеринги всякие, гномы3 (прибитые тееерь к системд и пульсу. На радость бсдишнегам и пр.)

    Ну же, расскажи нам, как хорошо и привольно в убунточке!

     
     
  • 8.39, ананим (?), 18:28, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вам Т е ты такой таббаки, а где-то там за тобой шерканчики толпой стоят D... текст свёрнут, показать
     
     
  • 9.40, Аноним (-), 00:39, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нам - это широкой общественности Не только мне интересно узнать, как гентушники... текст свёрнут, показать
     
  • 6.31, Аноним (-), 16:55, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Поэтому желающих пользоваться федорой не сильно много. Гемора с selinux много а
    > результат не хуже можно достичь например простой резкой на контейнеры.

    Типичный борец с федорой даже не знает о разнице между SELinux и POSIX capabilities.
    Шикрано :)

     
     
  • 7.36, тень_pavel_simple (?), 17:04, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Поэтому желающих пользоваться федорой не сильно много. Гемора с selinux много а
    >> результат не хуже можно достичь например простой резкой на контейнеры.
    > Типичный борец с федорой даже не знает о разнице между SELinux и
    > POSIX capabilities.
    > Шикрано :)

    сам бы читать научился -- где в словах "простой резкой на контейнеры" увидел POSIX capabilities

     
     
  • 8.37, Аноним (-), 17:42, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Где в словах И так capabilities почти никто не использует про простую резку н... текст свёрнут, показать
     
     
  • 9.38, тень_pavel_simple (?), 17:54, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    вон оно чё my bad... текст свёрнут, показать
     
     
  • 10.41, Аноним (-), 00:41, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, урезание контекста второго уровня цитирования немного запутывает ... текст свёрнут, показать
     
  • 5.21, Аноним (-), 20:11, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > группа пиoнеров, работающих в гоогле, в свободное время спортировала это just4fun.

    Многие упорно забывают, что сам Линукс появился потому, что один мальчик решил реализовать UNIX API тоже just for fun.
    Многим очень хочется это забыть, потому что у самих с их стремлением "only for profit" никак не получается сделать что-то лучше, что это некоторые делают "just for fun".

     
     
  • 6.33, Аноним (-), 16:58, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Многие упорно забывают, что сам Линукс появился потому, что один мальчик решил
    > реализовать UNIX API тоже just for fun.
    > Многим очень хочется это забыть, потому что у самих с их стремлением
    > "only for profit" никак не получается сделать что-то лучше, что это
    > некоторые делают "just for fun".

    Но только некоторые.
    Никто из них не задумывается, а нужно ли оно кому-то. Поэтому выстреливает только несколько проектов из тысячи.

     
  • 4.18, YetAnotherOnanym (ok), 15:17, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно - существуют программы, которые сами дропают рут-привилегии и сами чрутаются в свой рабочий каталог. Они по-Вашему тоже провальные?
     
     
  • 5.20, Аноним (-), 19:30, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Внезапно - существуют программы, которые сами дропают рут-привилегии и сами чрутаются в
    > свой рабочий каталог. Они по-Вашему тоже провальные?

    Внезапно - существуют программы, которые этого не делают. И чо?

     
     
  • 6.26, ананим (?), 10:50, 13/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А то.
    Не пользуйтесь такими программами.
    Любой уважающий себя демон так делает. Это уже давно стало правилом хорошего тона в разработке.
     
  • 6.28, YetAnotherOnanym (ok), 12:06, 13/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А то, что программа должна быть изначально написана с мыслью о безопасности. Субж - один из инструментов для этого.
     
  • 5.35, Аноним (-), 17:02, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Внезапно - существуют программы, которые сами дропают рут-привилегии и сами чрутаются в
    > свой рабочий каталог. Они по-Вашему тоже провальные?

    Нет. Провальна идея заставить разработчиков всех программ так делать.

     
  • 2.10, Аноним (-), 11:59, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    По описанию похоже на seccomp
    а selinux по другому работает.
     
     
  • 3.11, Аноним (-), 12:01, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > По описанию похоже на seccomp
    > а selinux по другому работает.

    и вообще лучше бы из linux выкинули лишние, а не тащили по 4 механизма защиты друг дружку дублирующих

     
     
  • 4.12, anonymous (??), 12:22, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >оформлен в виде LSM-модуля

    Во внутренностях одни и те же механизмы используются.

     
  • 4.16, all_glory_to_the_hypnotoad (ok), 14:13, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    не собирай ненужные механизмы, кто заставляет
     
  • 4.34, Аноним (-), 17:00, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > и вообще лучше бы из linux выкинули лишние, а не тащили по
    > 4 механизма защиты друг дружку дублирующих

    Зачем выкидиывать? Наоборот, лучше принимать новые!
    Вон пару лет назад apparmor приняли, хотя он дублировал уже имеющийся tomoyo и даже уступал ему по фичам.

     

  • 1.2, Аноним (-), 00:02, 12/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень мутно написано (хотя на офсайте capsicum еще мутнее).

    Речь идет только об ограничении операций с конкретными fd?

     
     
  • 2.19, ананим (?), 16:03, 12/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нет.
    Речь о разрешении только конкретных fd (сокетов и пр.) :D
     
     
  • 3.32, Аноним (-), 16:57, 14/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет.
    > Речь о разрешении только конкретных fd (сокетов и пр.) :D

    Фильтр на fopen syscall?

     
     
  • 4.42, Kibab (ok), 20:32, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нет, например, чтобы на сокете нельзя было сделать bind, а только connect, нельзя было сделать write(), а только read(). или, например, запретить fchmod на дескриптор.
     

  • 1.44, Аноним (-), 22:01, 30/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    seccomp filter https://www.opennet.ru/opennews/art.shtml?num=34387 уже есть и почти тоже самое.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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