🔐 Модели контроля доступа в информационной безопасности

Основные подходы к защите информации

8-9 классы • Подготовка к олимпиаде по кибербезопасности

🎯 Зачем нужен контроль доступа?

Контроль доступа — правила и механизмы, определяющие кто, к чему и как может получить доступ

👤 СУБЪЕКТ (кто) → 🔐 ПРАВИЛА → 💾 ОБЪЕКТ (к чему)

📊 Эволюция моделей доступа. От простого к сложному

1970s   1980s    1990s  2000s
↓         ↓       ↓        ↓
[DAC] → [MAC] → [RBAC] → [ABAC]
↓         ↓       ↓         ↓
Владелец Система Роли   Атрибуты
решает   решает  решают решают

🔓 DAC — Дискреционная модель

Владелец ресурса сам решает, кому дать доступ

💡 Ключевые особенности:

  • Гибкость: каждый пользователь управляет своими файлами
  • Простота: понятная модель (как ключи от квартиры)
  • Риск: пользователь может ошибиться с передачей доступа

🛠️ Техническая реализация:

# UNIX/Linux права доступа
-rwxr-xr--   # Владелец: чтение+запись+исполнение
             # Группа: чтение+исполнение  
             # Остальные: только чтение

⚠️ Проблемы:

Троянские программы могут действовать от имени пользователя

Транзитивность доступа: "друг друга" может передать доступ

🎯 Где используется DAC?

Персональные компьютеры (Windows, macOS, Linux)

Файловые системы (NTFS, ext4)

Малые организации с низкими требованиями безопасности

✅ Преимущества:

Простота понимания и использования

Гибкость управления

Широкая поддержка

❌ Недостатки:

Низкая безопасность для критических систем

Сложность администрирования в больших системах

🔐 MAC — Мандатная модель

Система решает по строгим правилам, пользователи не влияют

💡 Ключевые особенности:

Централизованное управление: правила задаются администратором

Строгость: даже владелец не может изменить права

Безопасность: защита от ошибок пользователей и вредоносного ПО

🧩 Основные модели: Модель Белла-ЛаПадула (конфиденциальность):

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,            # запрет доступа к паролям
}

✅ Преимущества:

Очень высокая безопасность

Защита от внутренних угроз

Контроль целостности системы

❌ Недостатки:

Сложность настройки и администрирования

Снижение удобства использования

👥 RBAC — Ролевая модель

Доступ определяется ролью, а не конкретным пользователем

💡 Ключевые особенности:

Роли вместо людей: "Учитель", "Ученик", "Администратор"

Масштабируемость: легко добавлять новых пользователей

Бизнес-ориентированность: отражает организационную структуру

🧮 Математическая модель:

ПОЛЬЗОВАТЕЛИ → РОЛИ → ПРАВА

    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 — Атрибутивная модель

Доступ определяется динамически по атрибутам и контексту

💡 Ключевые особенности:

Динамичность: решение принимается в момент запроса

Гранулярность: контроль до уровня отдельных полей данных

Контекстность: учет времени, местоположения, устройства

🧩 Компоненты ABAC: Атрибуты субъектов:

Должность, отдел, уровень доступа, сертификаты

Атрибуты объектов:

Уровень секретности, тип, владелец, категория

Атрибуты среды:

Время суток, местоположение, уровень угрозы

Атрибуты действий:

Тип операции (чтение/запись), параметры

🧠 Логика принятия решений:

Пример политики 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"

🏗️ Архитектура ABAC:

👤 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
Управление	        Владелец	Система	       Администратор	Политики
Гибкость	        Высокая	    Низкая	        Средняя	        Очень высокая
Безопасность	    Средняя	    Очень высокая	Высокая	        Высокая
Сложность	        Низкая	    Высокая	        Средняя	        Очень высокая
Масштабируемость	Низкая	    Средняя      	Высокая         Очень высокая
Контекстность	    Нет	        Ограниченная	Нет	            Полная

🎯 Ключевые выводы для олимпиады

  1. Эволюция → усложнение и повышение безопасности

    • От простого DAC к интеллектуальному ABAC

    • Учет все большего количества факторов

  1. Выбор модели зависит от требований:

    Личный компьютер → DAC

    Военные системы → MAC

    Корпоративная среда → RBAC

    Облачные системы → ABAC

  1. Современные системы используют гибридные подходы:

    Базовый уровень: DAC/RBAC

    Критические компоненты: MAC

    Сложные политики: ABAC

💡 Что важно запомнить для олимпиады? Основные принципы:

DAC: "Владелец решает"

MAC: "Система решает по строгим правилам"

RBAC: "Роль определяет доступ"

ABAC: "Контекст и атрибуты определяют доступ"

Математические основы:

DAC: матрица доступа

MAC: модели Белла-ЛаПадула и Биба

RBAC: теория множеств и графов

ABAC: логические выражения и предикаты

Практическое применение:

Знать, где какая модель применяется

Понимать сильные и слабые стороны каждой модели

Уметь обосновать выбор модели для конкретного сценария

🚀 Перспективные направления Интеграция с искусственным интеллектом:

Автоматическое обнаружение аномалий доступа

Генерация адаптивных политик безопасности

Квантовые вычисления:

Квантовая криптография для защиты атрибутов

Новые алгоритмы оценки сложных политик

Децентрализованные системы:

Блокчейн для хранения и верификации атрибутов

Смарт-контракты для автоматизации контроля доступа

Ключевые компетенции:

Понимать различия между моделями контроля доступа

Уметь применять модели к реальным сценариям

Анализировать преимущества и недостатки подходов

Понимать тенденции развития в области информационной безопасности