«Проблема классических моделей многоуровневой безопасности (МБ) — они формализуют правила и неформализуют саму структуру опасности. Теоретико-решеточный анализ не даёт готовых ответов, но превращает эту структуру в объект исследования, позволяя увидеть скрытые уязвимости и неизбежные компромиссы системы.»
Теоретико-решеточный анализ моделей многоуровневой безопасности
Основные принципы многоуровневой безопасности — классификация информации и её субъектов, а также строгие правила, запрещающие поток данных от более высоких уровней к более низким. Однако, даже при идеальной реализации этих правил, система может содержать структурные риски, невидимые на уровне политик доступа. Теоретико-решеточный подход предлагает инструмент для анализа именно этой структуры.
Что такое решётка в контексте безопасности
Решётка, это частично упорядоченное множество, где для любых двух элементов можно определить их наименьшую верхнюю границу (объединение) и наибольшую нижнюю границу (пересечение). В МБ такая структура естественно возникает из уровней классификации.
Уровни безопасности не просто линейны (например, «общедоступный» → «конфиденциальный» → «секретный»). Они образуют дерево или сеть, где:
- Каждый документ или пользователь имеет набор атрибутов (проект, отдел, географическая принадлежность).
- Сравнение уровней происходит по каждому атрибуту.
- Элемент A считается выше элемента B, если он доминирует по всем значимым атрибутам.
Таким образом, множество уровней с отношением порядка «≥» образует математическую решётку. Это не абстракция, а формальное представление реальной политики классификации организации.
Как решётка раскрывает системные риски
Линейное представление уровней скрывает два типа проблем: избыточные разрешения и структурные уязвимости.
Избыточные разрешения
Если уровни образуют простую цепь (линейный порядок), то любой субъект, имеющий доступ к уровню N, автоматически получает доступ ко всем уровням ниже N. В реальных системах это часто нежелательно. Решётчатая структура позволяет создавать «боковые» уровни, не сравнимые между собой. Субъект с доступом к «ПроектА-Конфиденциальный» не будет автоматически иметь доступ к «ПроектБ-Конфиденциальный», даже если формальный «вес» уровня одинаков. Это повышает изоляцию.
Структурные уязвимости и неизбежные компромиссы
Решётка делает видимыми точки, где безопасность неизбежно ослабляется по дизайну системы — например, уровни общего управления или аудита. Они часто являются наименьшей верхней границей для множества специализированных высоких уровней. Администратор, имеющий доступ к этому уровню управления, формально получает возможность видеть информацию из всех подчинённых специализированных уровней, так как он находится «над» ними в решётке. Это не ошибка реализации, а следствие математической структуры модели.
Теоретико-решеточный анализ позволяет заранее выявить такие точки и либо:
- Принять этот компромисс как необходимый, усилив контроль вокруг данного субъекта.
- Пересмотреть структуру решётки, возможно, разделив функции управления на несколько несравнимых уровней.
От формальной модели к практической реализации
Построение решётки для конкретной организации — процесс, обратный привычному. Вместо того чтобы сначала устанавливать правила, можно начать с анализа бизнес-процессов и естественных потоков информации.
- Выделите ключевые атрибуты классификации (например, «проект», «география», «тип данных»).
- Определите, как эти атрибуты комбинируются для создания уровней. Какие комбинации возможны, какие — запрещены?
- На основе этого построите граф порядка между уровнями. Убедитесь, что он удовлетворяет свойствам решётки (наличие объединения и пересечения для любой пары).
- На этой формальной структуре после этого накладывайте классические правила МБ (например, правило «no-read-up»).
Такой подход гарантирует, что правила доступа работают с корректно определённой структурой опасности, а не с её упрощённой аппроксимацией.
Пример: система с двумя независимыми атрибутами
Рассмотрим модель, где информация классифицируется по атрибутам Проект (значения: А, Б) и Критичность (значения: Низкая, Высокая). Уровни безопасности будут комбинациями: (Проект=А, Критичность=Низкая), (Проект=А, Критичность=Высокая) и т.д.
Порядок определяется так: уровень X ≥ уровня Y, если X имеет тот же или более специфичный проект и ту же или более высокую критичность. В этой модели уровень (Проект=А, Критичность=Высокая) выше, чем (Проект=А, Критичность=Низкая). Однако, (Проект=А, Критичность=Высокая) и (Проект=Б, Критичность=Высокая) несравнимы — ни один не выше другого. Это отражает желание изолировать данные высокой критичности между проектами.
Таблица ниже показывает возможные операции над уровнями в такой решётке:
| Операция | Пример | Результат (Наименьшая верхняя граница) | Комментарий |
|---|---|---|---|
| Объединение | (А, Низкая) ∪ (А, Высокая) |
(А, Высокая) |
Для одного проекта берётся максимальная критичность. |
| Объединение | (А, Высокая) ∪ (Б, Высокая) |
Не существует в базовой решётке | Потребуется создать новый уровень «Общее-Высокая», что создаёт структурную уязвимость. |
Второй пример демонстрирует, как бизнес-потребность (например, необходимость сравнить высококритичные данные двух проектов) может потребовать создания нового, более высокого уровня в решётке, что автоматически создаёт потенциальную точку концентрации риска.
Применение в контексте российских требований
Теоретико-решеточный анализ непосредственно применим к работе с системами, попадающими под требования ФСТЭК России и 152-ФЗ. Ключевые аспекты:
- Категорирование информационных систем (ИС). Требования ФСТЭК предполагают присвоение ИС класса защищённости, который, по сути, является элементом решётки, учитывающим несколько атрибутов (конфиденциальность, целостность, доступность данных, масштаб системы).
- Определение уровней допуска пользователей. Вместо линейной модели («3-й уровень допуска»), которая может быть избыточной, можно строить решётку, где уровень допуска определяется комбинацией разрешений на работу с определёнными типами данных (персональные данные, коммерческая тайна, государственная тайна) в определённых проектах. Это позволяет точнее соответствовать принципу минимально необходимых прав.
- Анализ межсистемного взаимодействия. При интеграции двух систем, каждая с своей внутренней моделью классификации, возникает задача согласования уровней. Теоретико-решеточный анализ помогает формально определить, как уровни одной системы соотносятся с уровнями другой, и выявить возможные «щели» в безопасности при трансляции прав доступа.
Этот метод не заменяет требования стандартов, но даёт формальный инструмент для их более глубокой и точной реализации, особенно в сложных организационных структурах.
Ограничения и дальнейшее развитие
Основное ограничение — сложность построения и верификации решётки для реальных, динамично изменяющихся организаций. Автоматизация этого процесса — отдельная задача.
Дальнейшее развитие связано с анализом динамических решёток, где уровни безопасности могут изменяться со временем (например, в процессе обработки данных), и с интеграцией этой модели в системы автоматического контроля потоков информации (Information Flow Control, IFC).
Теоретико-решеточный анализ переводит интуитивное понимание «уровней опасности» в объект, который можно изучать, измерять и оптимизировать. Он не даёт простых ответов, но показывает, где эти ответы нужно искать.