Расширенные средства
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Так как любые программы (процессы, потоки), запущенные в системе, чаще всего изначально являются файлами файловой системы, наибольшее внимание в вопросах безопасности операционных систем, как и функционирующих под их управлением сервисов, необходимо уделять защите файловой системы [10, с. 99].
Расширенные средства (SELinux), как и использование Capability, позволяет более тонко настроить права доступа к ресурсам сети. Пользователям системы назначаются роли, таким образом, что они не смогут доступ к файлам или процессам, если не установлена специальная метка. Метки расширенных средств, позволят обозначить только те файлы и процессы к котором процесс будет иметь доступ, что сузит круг возможностей злоумышленника.
Основной особенностью системы расширенной безопасности – это использования концепции наименьших привилегий, которые требуются пользователю или процессу для осуществления запрошенных действий. На рисунке 9 представлен алгоритм проверки права доступа.
Рис. 9 Схема работы системы расширенной безопасности
Система расширенной безопасности состоит из пяти основных компонентов:
модуль взаимодействия с файловой системой;
перехватчик событий (Linux Security Modules);
модуль организации контроля доступа (Policy Enforcement Server);
база данных политик;
модуль быстрого доступ к политикам (Access Vector Cache).
Механизм работы организован следующим образом [20, с. 660]:
Субъект ОС (процесс) пытается совершить определенное действие над объектом (файлом, каталогом, сокетом), которое разрешила базовая система защиты. Это приведёт к созданию потока обращений к объекту.
Каждое обращение на выполнения действий с объектом перехватывает модуль Linux Security Modules (LSM) и вместе с контекстами безопасности субъекта и объекта предается подсистеме Abstraction & Hook Logic, отвечающая за взаимодействие с LSM.
Рассмотрим подробнее. Подсистема LSM - это интерфейс, на основе которого могут быть реализованы разнообразные модули безопасности. В дистрибутиве ОС Linux может присутствовать несколько модулей LSM, и при конфигурировании системы администратор выбирает какой (или какие) из модулей следует использовать [8]
Зарегистрируйся, чтобы продолжить изучение работы
. Так, в базовой версии ядра v4.14 представлены системы мандатного контроля доступа SELinux, Smack, Tomoyo, AppArmor.
Интерфейс LSM разрабатывался так, чтобы предоставлять все необходимое для реализации на его основе мандатной системы управления доступом. Следует понимать, что механизм LSM – это прежде всего инструмент для дополнительного ограничения доступа, для реализации дополнительных проверок поверх основных (дискреционного управления доступом – DAC).
LSM не может быть использован для того, чтобы заменять собой стандартные проверки прав доступа ядра Linux. LSM не предназначен для реализации каких-либо действий кроме проверок, например, затирания файлов на жестком диске при их удалении (secure_delete). Это является его архитектурными ограничениями. Начиная с версии ядра v4.2 вводится поддержка стековой модели работы модулей безопасности. На рисунке 10 представлен уровень интеграции LSM в ядро ОС Linux.
Рис. 10 Уровень интеграции LSM в ядро ОС Linux
Интерфейс LSM состоит из набора указателей на функции. Модуль безопасности должен реализовывать в себе соответствующие функции, зарегистрировать их в ядре при инициализации своей работы. Далее ядро вызывает функции интерфейса в тех участках своего кода, где требуется проверка прав доступа (например, при обработке системного вызова) или происходит выделение соответствующего ресурса (рисунок 10 выше).
Интерфейс LSM содержит в себе большое количество функций (более двух сотен). Модулю безопасности не обязательно реализовывать их все, если модуль безопасности не реализует какую-то оповещательную функцию, то он не будет знать о наступлении какого-то события в ядре, если контрольную, то ядром будет считаться, что доступ разрешен LSM модулем [8].
Сам модуль безопасности может вызывать код подсистем ядра (рисунок 11), запрашивая какие-то данные через функции (и в процессе работы этих функций управление опять может вернуться в LSM модуль, пройдя таким образом цикл по графу вызовов функций), вызывать какие-то библиотечные функции.
Рис
50% курсовой работы недоступно для прочтения
Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!