Использование мандатного контроля целостности для изолированного запуска средств контейнеризации в ОС Astra Linux (Алексей Старостин, OSDAY-2025)

Материал из 0x1.tv

Докладчик
Алексей Старостин.jpg
Алексей Старостин

Видео

Thesis

Мандатный контроль целостности (МКЦ) — фундамент безопасности ОС Astra Linux, сертифицированной по высшим классам защиты. МКЦ обеспечивает:

  • Защиту привилегированных процессов
  • Сохранение целостности исполняемых/конфигурационных файлов
  • Защиту от вирусов (включая «шифровальщиков»)
  • Противодействие эксплуатации уязвимостей (включая атаки с правами root)

Внедрение МКЦ поверх стандартного дискреционного управления доступом в Linux создаёт сложности, требующие адаптации системного ПО. Автор предлагает технологию контейнерной виртуализации, интегрированную с МКЦ, для изоляции недоверенного ПО (браузеры, офисные пакеты) в «песочницах».

Адаптированная контейнерная виртуализация

Исследования безопасности контейнеризации [1] предлагали изоляцию через:

  • Пространства имён (namespaces)
  • Группы управления ресурсами (cgroups)
  • Механизм seccomp [2]
  • Мандатный контроль доступа SELinux [3]

Согласно NIST SP 800-190 [4], основные уязвимости контейнеров:

  • Побег из контейнера (container escape)
  • Неограниченный сетевой доступ
  • Небезопасные конфигурации
  • Уязвимости контейнеризованных приложений

Решение: Запуск контейнеров на:

  • Промежуточных неиерархических уровнях целостности (например, 0x00000002)
  • Отрицательных линейных уровнях целостности (например, -128)

Примеры защиты

Иерархические уровни
  • Доверенное ПО: уровень «Высокий» (0x0000003F)
  • Недоверенное ПО: уровень «Виртуализация» (0x00000002)
Линейные уровни против межконтейнерных атак
  • Контейнер А: 0x00000002:-10
  • Контейнер Б: 0x00000002:-128
    • → МКЦ блокирует запись из Б в А
Защита от шифровальщиков
  • Данные пользователя: уровень «Низкий» (0x00000000:0)
  • Контейнер: уровень 0x00000000:-128
    • → МКЦ запрещает запись в пользовательские данные

Заключение

  • МКЦ обеспечивает многоуровневую защиту по умолчанию в Astra Linux, в отличие от ЗПС или блокировки интерпретаторов.
  • Запуск контейнеров на отрицательных уровнях целостности усложняет эксплуатацию уязвимостей ядра.
  • Перспективное направление: интеграция МКЦ с методами машинного обучения для детектирования аномалий в контейнерах.

Презентация

Примечания и ссылки

  1. Wan Z., Lo D., Xia X., L. Cai. Practical and effective sandboxing for Linux containers. Empir Software Eng, 2019, Vol. 24, pp. 4034–4070.
  2. N. Lopes, R. Martins, M.E. Correia, S. Serrano, F. Nunes. Container Hardening Through Automated Seccomp Profiling. In Proceedings of the 2020 6th International Workshop on Container Technologies and Container Clouds, 2020, pp. 31–36.
  3. J.-A. Kabbe. Security analysis of Docker containers in a production environment. Norwegian University of Science and Technology, 2017, 91 p.
  4. NIST Special Publication 800-190. Application Container Security Guide. 2015. [1]