Основные подходы к защите информации
8-9 классы • Подготовка к олимпиаде по кибербезопасности
Контроль доступа — правила и механизмы, определяющие кто, к чему и как может получить доступ
👤 СУБЪЕКТ (кто) → 🔐 ПРАВИЛА → 💾 ОБЪЕКТ (к чему)
1970s 1980s 1990s 2000s
↓ ↓ ↓ ↓
[DAC] → [MAC] → [RBAC] → [ABAC]
↓ ↓ ↓ ↓
Владелец Система Роли Атрибуты
решает решает решают решают
Владелец ресурса сам решает, кому дать доступ
# UNIX/Linux права доступа
-rwxr-xr-- # Владелец: чтение+запись+исполнение
# Группа: чтение+исполнение
# Остальные: только чтение
⚠️ Проблемы:
Троянские программы могут действовать от имени пользователя
Транзитивность доступа: "друг друга" может передать доступ
🎯 Где используется DAC?
Персональные компьютеры (Windows, macOS, Linux)
Файловые системы (NTFS, ext4)
Малые организации с низкими требованиями безопасности
✅ Преимущества:
Простота понимания и использования
Гибкость управления
Широкая поддержка
❌ Недостатки:
Низкая безопасность для критических систем
Сложность администрирования в больших системах
Система решает по строгим правилам, пользователи не влияют
💡 Ключевые особенности:
Централизованное управление: правила задаются администратором
Строгость: даже владелец не может изменить права
Безопасность: защита от ошибок пользователей и вредоносного ПО
🧩 Основные модели: Модель Белла-ЛаПадула (конфиденциальность):
No read up: нельзя читать выше своего уровня
No write down: нельзя записывать ниже своего уровня
Модель Биба (целостность):
No read down: нельзя читать ниже своего уровня
No write up: нельзя записывать выше своего уровня
🛠️ Техническая реализация MAC: SELinux (Security-Enhanced Linux):
# Процесс Apache может читать только файлы с
# меткой httpd_sys_content_t
allow httpd_t httpd_sys_content_t:file { read getattr };
AppArmor (упрощенная альтернатива):
/usr/bin/firefox {
owner @{HOME}/.mozilla/** rw, # доступ к профилю
network inet stream, # доступ к сети
deny /etc/shadow r, # запрет доступа к паролям
}
✅ Преимущества:
Очень высокая безопасность
Защита от внутренних угроз
Контроль целостности системы
❌ Недостатки:
Сложность настройки и администрирования
Снижение удобства использования
Доступ определяется ролью, а не конкретным пользователем
💡 Ключевые особенности:
Роли вместо людей: "Учитель", "Ученик", "Администратор"
Масштабируемость: легко добавлять новых пользователей
Бизнес-ориентированность: отражает организационную структуру
🧮 Математическая модель:
ПОЛЬЗОВАТЕЛИ → РОЛИ → ПРАВА
U R P
Доступ разрешен если: ∃ роль r: (пользователь, r) ∈ UA ∧ (право, r) ∈ PA
🏗️ Иерархия ролей:
Директор школы
├── Завуч
│ ├── Методист
│ └── Классный руководитель
│ └── Учитель-предметник
└── Библиотекарь
🛠️ Практическая реализация: Active Directory (Microsoft):
DOMAIN\IT
├── DOMAIN\IT-Administrators
├── DOMAIN\IT-Developers
└── DOMAIN\IT-Support
Kubernetes:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list"] # Можно только читать поды
✅ Преимущества:
Упрощение администрирования
Масштабируемость для больших организаций
Соответствие бизнес-процессам
❌ Недостатки:
"Взрыв ролей" при большом количестве исключений
Ограниченная гибкость для сложных сценариев
Доступ определяется динамически по атрибутам и контексту
💡 Ключевые особенности:
Динамичность: решение принимается в момент запроса
Гранулярность: контроль до уровня отдельных полей данных
Контекстность: учет времени, местоположения, устройства
🧩 Компоненты ABAC: Атрибуты субъектов:
Должность, отдел, уровень доступа, сертификаты
Атрибуты объектов:
Уровень секретности, тип, владелец, категория
Атрибуты среды:
Время суток, местоположение, уровень угрозы
Атрибуты действий:
Тип операции (чтение/запись), параметры
🧠 Логика принятия решений:
def authorize_access(user, resource, action, environment):
if (user.department == resource.department and
user.security_level >= resource.classification and
environment.time in ["09:00-18:00"] and
action == "read"):
return "PERMIT"
else:
return "DENY"
👤 PEP → 🧠 PDP → 📊 PIP → 📋 PAP │ │ │ │ Запрос → Решение → Атрибуты → Политики
🌐 Пример из AWS IAM:
{
"Condition": {
"IpAddress": {"aws:SourceIp": "192.0.2.0/24"},
"DateGreaterThan": {"aws:CurrentTime": "2023-01-01T00:00:00Z"}
}
}
✅ Преимущества ABAC:
Беспрецедентная гибкость и точность контроля
Естественная масштабируемость (без "взрыва ролей")
Учет реального контекста доступа
Ориентация на бизнес-правила
❌ Недостатки ABAC:
Высокая вычислительная сложность
Сложность проектирования и отладки политик
Зависимость от качества и доступности атрибутов
📊 Сравнительная таблица моделей
Характеристика DAC MAC RBAC ABAC
Управление Владелец Система Администратор Политики
Гибкость Высокая Низкая Средняя Очень высокая
Безопасность Средняя Очень высокая Высокая Высокая
Сложность Низкая Высокая Средняя Очень высокая
Масштабируемость Низкая Средняя Высокая Очень высокая
Контекстность Нет Ограниченная Нет Полная
Эволюция → усложнение и повышение безопасности
От простого DAC к интеллектуальному ABAC
Учет все большего количества факторов
Выбор модели зависит от требований:
Личный компьютер → DAC
Военные системы → MAC
Корпоративная среда → RBAC
Облачные системы → ABAC
Современные системы используют гибридные подходы:
Базовый уровень: DAC/RBAC
Критические компоненты: MAC
Сложные политики: ABAC
💡 Что важно запомнить для олимпиады? Основные принципы:
DAC: "Владелец решает"
MAC: "Система решает по строгим правилам"
RBAC: "Роль определяет доступ"
ABAC: "Контекст и атрибуты определяют доступ"
Математические основы:
DAC: матрица доступа
MAC: модели Белла-ЛаПадула и Биба
RBAC: теория множеств и графов
ABAC: логические выражения и предикаты
Практическое применение:
Знать, где какая модель применяется
Понимать сильные и слабые стороны каждой модели
Уметь обосновать выбор модели для конкретного сценария
🚀 Перспективные направления Интеграция с искусственным интеллектом:
Автоматическое обнаружение аномалий доступа
Генерация адаптивных политик безопасности
Квантовые вычисления:
Квантовая криптография для защиты атрибутов
Новые алгоритмы оценки сложных политик
Децентрализованные системы:
Блокчейн для хранения и верификации атрибутов
Смарт-контракты для автоматизации контроля доступа
Ключевые компетенции:
Понимать различия между моделями контроля доступа
Уметь применять модели к реальным сценариям
Анализировать преимущества и недостатки подходов
Понимать тенденции развития в области информационной безопасности