Во FreeBSD разрабатывается механизм изоляции, аналогичный plegde.

Стало известно, что была предложена реализация из механизм изоляции приложений для FreeBSD, что напоминает системные вызовы fold и раскрыть, разработанные в рамках проекта OpenBSD.

Изоляция в плегде осуществляется путем запрета доступа к системным вызовам, которые не используются приложением, и раскрытия путем выборочного открытия доступа только к определенным путям к файлам, с которыми приложение может работать. Для приложения формируется своего рода белый список системных вызовов и путей к файлам, а все остальные вызовы и пути запрещены.

Разница между сложенным и раскрытым, разработан для FreeBSD, это сводится к обеспечению дополнительного слоя что позволяет изолировать приложения без изменений кода или с минимальными изменениями. Помните, что в OpenBSD plegde и unlock нацелены на тесную интеграцию с базовой средой и реализуются путем добавления специальных аннотаций в код каждого приложения.

Для упрощения организации защиты фильтры позволяют избежать детализации на уровне отдельных системных вызовов и манипулировать классами системных вызовов (ввод/вывод, чтение файла, запись файла, сокеты, ioctl, sysctl, запуск процессов и т.д.) . Функции ограничения доступа могут вызываться в коде приложения по мере выполнения определенных действий, например, доступ к сокетам и файлам может быть закрыт после открытия нужных файлов и установления сетевого соединения.

Автор порта сгиба и раскрытия для FreeBSD. предназначен для предоставления возможности изолировать произвольные приложения, для чего предлагается утилита-шторка, позволяющая применять к приложениям правила, определенные в отдельном файле. Предлагаемая конфигурация включает в себя файл с базовыми настройками, определяющими классы системных вызовов и типовые пути к файлам, характерные для конкретных приложений (работа со звуком, сетями, логированием и т. д.), а также файл с правилами доступа для конкретных приложений.

Утилита занавеса может использоваться для изоляции большинства утилит, серверных процессов, графических приложений и даже целых сеансов рабочего стола, которые не были изменены. Поддерживается совместное использование занавеса с механизмами изоляции, предоставляемыми подсистемами Jail и Capsicum.

также можно организовать вложенную изоляцию, при запуске приложения наследуют правила, установленные родительским приложением, дополняя их отдельными ограничениями. Некоторые операции ядра (инструменты отладки, POSIX/SysV IPC, PTY) дополнительно защищены барьерным механизмом, который предотвращает доступ к объектам ядра, созданным процессами, отличными от текущего или родительского процесса.

Процесс может настроить свою собственную изоляцию, вызвав занавесctl или с помощью функций plegde() и раскрыть(), предоставляемых библиотекой libcurtain, аналогично OpenBSD. sysctl security.curtain.log_level предназначен для отслеживания блокировок во время работы приложения.

Доступ к протоколам X11 и Wayland включается отдельно указанием опций "-X"/"-Y" и "-W" при запуске шторки, но поддержка графических приложений еще недостаточно стабилизирована и имеет ряд нерешенных вопросов ( проблемы появляются в основном при использовании X11, да и поддержка Wayland гораздо лучше). Пользователи могут добавлять дополнительные ограничения, создавая локальные файлы правил (~/.curtain.conf). Например,

Реализация включает в себя модуль ядра mac_curtain для обязательного контроля доступа (MAC), набор патчей для ядра FreeBSD с реализацией необходимых драйверов и фильтров, библиотеку libcurtain для использования plegde и раскрытых функций в приложениях, служебную шторку, настройку шоу файлы, набор тестов и патчи для некоторых программ пользовательского пространства (например, чтобы использовать $TMPDIR для унификации работы с временными файлами). По возможности автор старается минимизировать количество изменений, требующих патчинга ядра и приложений.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.