В современном мире информационные системы играют ключевую роль практически во всех сферах деятельности — от бизнеса и науки до государственного управления. Одним из важнейших аспектов их функционирования является безопасность, которая обеспечивает защиту данных, ресурсов и сервисов от несанкционированного доступа, изменения и других угроз. Подсистема безопасности в информационных системах включает в себя ряд взаимосвязанных компонентов: модель безопасности, права доступа, а также механизмы аутентификации и авторизации. Рассмотрим их более подробно.
1. Модель безопасности
Модель безопасности — это формальное представление принципов и правил, которые обеспечивают защиту информационной системы. Модели описывают, как должны управляться права доступа и каким образом система должна реагировать на попытки нарушения безопасности.
Основные модели безопасности
- Дискреционная модель безопасности (Discretionary Access Control, DAC)
В DAC владелец ресурса самостоятельно устанавливает, кто и какие операции может выполнять с его ресурсом. Это самая распространённая модель, применяемая в большинстве операционных систем, например, в UNIX/Linux.
Пример: Файл принадлежит пользователю Ивану, который даёт права на чтение и запись для группы «программисты», но для остальных пользователей доступ закрыт.
- Мандатная модель безопасности (Mandatory Access Control, MAC)
В MAC права доступа контролируются системой безопасности, а не пользователями. Каждый объект и субъект имеет определённый уровень конфиденциальности (например, «секретно», «совершенно секретно»), и доступ разрешается на основе этих уровней. Эта модель используется в военных и правительственных системах.
Пример: Пользователь с уровнем «секретно» не может получить доступ к файлу, маркированному, как «совершенно секретно».
- Ролевая модель безопасности (Role-Based Access Control, RBAC)
В RBAC права доступа назначаются не пользователям напрямую, а ролям, которые эти пользователи выполняют. Это упрощает управление доступом в больших организациях.
Пример: Роль «администратор» имеет права на изменение настроек системы, а роль «пользователь» — только доступ к чтению данных.
- Модель Белл-Лападулы (Bell-LaPadula Model)
Основной акцент модели — конфиденциальность. Запрещает субъекта с более низким уровнем доступа читать объекты с более высоким уровнем конфиденциальности (правило «не читать вверх») и запрещает писать вниз — чтобы предотвратить утечку информации.
Пример: Пользователь с уровнем «секретно» не может читать объекты, доступные только на уровне «совершенно секретно».
- Модель Бибера-Маккелви (Biba Model)
Обращает внимание на целостность информации. Запрещает писать объекты с более высоким уровнем целостности субъектам с более низким уровнем.
Пример: Пользователь с низкой степенью доверия не может изменять критические системные файлы.
2. Права доступа
Права доступа — это набор разрешений, определяющих, какие действия субъект (пользователь или процесс) может выполнять над объектом (файлом, базой данных, устройством и др.).
Основные типы прав доступа:
- Чтение (Read, R) — право просматривать содержимое объекта.
- Запись (Write, W) — право изменять содержимое объекта.
- Исполнение (Execute, X) — право запускать объект как программу.
- Удаление (Delete) — право удалять объект.
- Изменение прав (Change permissions) — право менять права доступа к объекту.
Пример таблицы прав доступа для файла с помимо пользователя, группы и других:
Как реализуются права доступа?
- Списки контроля доступа (Access Control Lists, ACLs) — для каждого объекта хранится список пользователей/групп и их прав.
- Матрица доступа — теоретическое представление, где строки — субъекты, столбцы — объекты, а ячейки — права доступа.
- Capability tokens — субъекты получают специальные «токены», которые дают право на доступ к объектам.
3. Механизм аутентификации
Аутентификация — процесс проверки подлинности субъекта, т.е. установление, что субъект действительно тот, за кого себя выдаёт.
Виды аутентификации
- По знанию (что пользователь знает)
- Пароли
- PIN-коды
- Ответы на секретные вопросы
- По обладанию (что пользователь имеет)
- Токены (например, аппаратные ключи)
- Смарт-карты
- По характеристикам (биометрия)
- Отпечатки пальцев
- Распознавание лица
- Голос
- Многофакторная аутентификация (MFA)
Комбинация двух или более факторов для повышения безопасности. Например, пароль + SMS-код.
Пример
Пользователь вводит логин и пароль. Система сравнивает с хранящимися хэшами паролей в базе. Если совпадает — пользователь аутентифицирован.
4. Механизм авторизации
Авторизация — процесс определения прав субъекта после успешной аутентификации, то есть проверка, какие действия разрешены этому субъекту.
Как работает авторизация?
1. Пользователь аутентифицируется.
2. Система определяет его роль, группу или другие атрибуты.
3. На основе модели безопасности и зарегистрированных правил определяются допустимые операции для данного пользователя или роли.
4. Разрешается или запрещается доступ.
Пример
Пользователь успешно вошёл в систему (аутентифицирован). Его роль — «менеджер». Согласно правилам, менеджеры имеют права на просмотр и изменение заказов, но не на изменение системных настроек.
Взаимодействие компонентов подсистемы безопасности
- Модель безопасности задаёт общую структуру и правила управления доступом.
- Права доступа определяют конкретные возможности субъектов над объектами в системе.
- Аутентификация отвечает за проверку личности субъекта.
- Авторизация определяет, какие действия разрешены субъекту после аутентификации.
Итог
Подсистема безопасности — это комплекс механизмов, направленных на защиту информации и ресурсов. Правильно спроектированная и реализованная модель безопасности, комбинированная с грамотно настроенными правами доступа и современными методами аутентификации и авторизации, обеспечивает надёжную защиту информационной системы от внутренних и внешних угроз.