У FreeBSD розробляється механізм ізоляції, подібний до plegde

Було виявлено, що була запропонована реалізація по Механізм ізоляції програми для FreeBSD, що нагадує системні виклики fold and unveil, розроблені проектом OpenBSD.

Ізоляція в plegde здійснюється шляхом заборони доступу до системних викликів, які не використовуються програмою, і розкриття шляхом вибіркового відкриття доступу лише до певних шляхів до файлів, з якими програма може працювати. Для програми формується своєрідний білий список системних викликів і шляхів до файлів, а всі інші виклики і шляхи заборонені.

Різниця між складеним і відкритим, розроблений для FreeBSD, це зводиться до надання додаткового шару що дозволяє ізолювати програми без або з мінімальними змінами їх коду. Пам'ятайте, що в OpenBSD плегде і розблокування мають на меті тісну інтеграцію з базовим середовищем і реалізуються шляхом додавання спеціальних анотацій до коду кожної програми.

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

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

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

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

Процес може налаштувати власну ізоляцію, викликавши curtainctl або за допомогою функцій plegde() і unveil(), які надаються бібліотекою libcurtain, подібно до OpenBSD. 'security.curtain.log_level' sysctl надається для відстеження блокувань під час роботи програми.

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

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

В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете перевірити деталі У наступному посиланні.


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований.

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.