Загрузка данных


Ниже представлен проект политики разграничения доступа для гипотетической системы обработки финансовой отчетности государственного учреждения, соответствующей требованиям класса B2 («Структурированная защита»).

### 1. Субъекты (Роли)
В системе выделяются следующие роли, обладающие различными правами доступа и уровнями доверия:
*   **Директор:** Высшее руководство, несет ответственность за итоговые показатели. Имеет доступ к сводным данным.
*   **Старший бухгалтер:** Отвечает за формирование и проверку сводной отчетности, распределение задач между бухгалтерами.
*   **Бухгалтер:** Сотрудник, осуществляющий первичный ввод данных и обработку первичной документации.
*   **Администратор БД (АБД):** Технический специалист, отвечающий за работоспособность СУБД, ее настройку и резервное копирование. Не имеет доступа к содержательной части финансовых данных.

### 2. Объекты (Категории данных)
Информационные ресурсы системы классифицируются по категориям:
*   **Первичная документация:** Счета, накладные, акты, кассовые ордера (вводимые бухгалтерами данные).
*   **Сводные отчеты:** Итоговые финансовые отчеты, балансы, аналитические записки.
*   **Настройки конфигурации СУБД:** Схемы таблиц, индексы, права доступа, параметры журналирования, системные скрипты.

### 3. Уровни секретности (метки)
В соответствии с моделью Белла-Лападулы и требованиями класса B2, в системе устанавливается следующая иерархия уровней доступа (от низшего к высшему):
1.  **Открыто (Open):** Данные, не содержащие коммерческой или государственной тайны.
2.  **Конфиденциально (Confidential):** Внутренняя финансовая информация, первичные документы.
3.  **Секретно (Secret):** Сводные отчеты, данные, содержащие государственную тайну или коммерческую тайну особой важности.

*Примечание: Каждый объект получает метку безопасности, соответствующую его грифу. Каждый субъект получает уровень допуска.*

### 4. Правила мандатного управления доступом (MAC)
На основе модели Белла-Лападулы (которая лежит в основе мандатного доступа в классе B2) реализуются два фундаментальных правила: **«Запрет чтения вверх» (No Read Up)** и **«Запрет записи вниз» (No Write Down)**.

**Примеры взаимодействия:**

*   **Правило «Запрет чтения вверх» (No Read Up):**
    *   *Бухгалтер* имеет уровень допуска **Конфиденциально**. Он пытается открыть *Сводный отчет*, который имеет гриф **Секретно**. Система блокирует доступ, так как уровень допуска субъекта ниже уровня секретности объекта. Это предотвращает утечку обобщенной секретной информации на более низкий уровень.
    *   *Администратор БД* имеет уровень допуска **Открыто**. Он пытается прочитать *Первичную документацию* (гриф **Конфиденциально**). Доступ запрещен.
*   **Правило «Запрет записи вниз» (No Write Down):**
    *   *Директор* имеет уровень допуска **Секретно**. Он пытается сохранить свои правки в *Первичную документацию* (гриф **Конфиденциально**). Система блокирует запись. Это предотвращает случайную или злонамеренную утечку секретных данных в менее защищенную среду.
    *   *Старший бухгалтер* (уровень **Конфиденциально**) пытается записать данные в *Настройки конфигурации СУБД* (гриф **Открыто**). Операция запрещена, чтобы избежать влияния конфиденциальных данных на общедоступные системные настройки.

**Сводная матрица доступа (с учетом мандатных правил):**

| Субъект / Объект | Первичная документация (Конфиденциально) | Сводные отчеты (Секретно) | Настройки СУБД (Открыто) |
| :--- | :--- | :--- | :--- |
| **Бухгалтер** (Конфиденциально) | **Чтение/Запись** | *Нет доступа (No Read Up)* | **Чтение/Запись** |
| **Старший бухгалтер** (Конфиденциально) | **Чтение/Запись** | *Нет доступа (No Read Up)* | **Чтение/Запись** |
| **Директор** (Секретно) | *Нет записи (No Write Down)*, **Чтение** | **Чтение/Запись** | **Чтение/Запись** |
| **Администратор БД** (Открыто) | *Нет доступа (No Read Up)* | *Нет доступа (No Read Up)* | **Чтение/Запись** |

### 5. Скрытые каналы утечки информации
Для класса B2 критически важно контролировать скрытые каналы. 

**Пример потенциального скрытого канала:**
*   **Временной канал через блокировку файла.** Злоумышленник с высоким уровнем доступа (например, *Директор* с грифом **Секретно**) может создать файл с высоким уровнем секретности. Затем он создает или блокирует ресурс (например, файл с грифом **Открыто**), к которому имеет доступ *Бухгалтер* с низким уровнем. Факт блокировки или задержки доступа к ресурсу для низкоуровневого субъекта может служить сигналом (1 бит информации) о том, что высокоуровневый субъект выполнил определенное действие. Таким образом, секретная информация кодируется в задержках времени.

**Способ минимизации для класса B2:**
В соответствии с требованиями класса B2, в системе должен быть реализован **контроль скрытых каналов утечки информации**. Для минимизации временного канала необходимо:
1.  **Введение временных квантов и рандомизации задержек:** Система должна искусственно вносить случайные задержки в обработку запросов к общим ресурсам, чтобы сгладить временные различия, вызванные действиями высокоуровневых субъектов.
2.  **Изоляция ресурсов:** Использование строгой изоляции (например, через механизмы виртуальных машин или контейнеров) для субъектов разных уровней доступа, чтобы исключить возможность влияния одного субъекта на производительность системы, видимую другому субъекту.
3.  **Аудит и мониторинг:** Постоянный анализ системных журналов на предмет аномальных задержек или паттернов доступа, которые могут указывать на попытки организации скрытого канала.