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

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

(Адаптированная контейнерная виртуализация)
 
(не показаны 3 промежуточные версии этого же участника)
;{{SpeakerInfo}}: {{Speaker|Алексей Старостин}}
<blockquote>
Мандатный контроль целостности (МКЦ) — ключевой механизм безопасности в ОС Astra Linux, защищающий от вирусов-шифровальщиков и атак с правами root. Однако его интеграция со стандартными средствами контейнеризации Linux (namespaces, cgroups) сложна и требует адаптации. Особую проблему представляют уязвимости контейнеров, описанные в NIST SP 800—190: побеги из контейнеров, неконтролируемый сетевой доступ и небезопасные конфигурации.

Разработана технология запуска контейнеров на специальных уровнях целостности МКЦ: 
* Промежуточные неиерархические уровни (например, 0x00000002 для «Виртуализации»); 
* Отрицательные линейные уровни (например, −128). Это позволяет изолировать недоверенное ПО (браузеры, офисные пакеты) в «песочницах», где даже при компрометации риск для системы минимален.

Технология обеспечивает:
* Защиту от межконтейнерных атак через разные линейные уровни (-10 и −128); 
* Блокировку шифровальщиков — контейнер на уровне 0x00000000:-128 не может записать в пользовательские данные (0x00000000:0); 
* Изоляцию критичных процессов (уровень «Высокий» 0x0000003F) от недоверенных контейнеров. МКЦ работает по умолчанию, в отличие от замкнутой программной среды.

Подход существенно усложняет эксплуатацию уязвимостей ядра при побеге из контейнера. Дополнительное преимущество — отсутствие ограничений на ПО, характерное для других механизмов безопасности. Перспективное направление — интеграция с методами машинного обучения для детектирования аномалий в изолированных контейнерах.
</blockquote>

{{VideoSection}}

{{vimeoembed|1096505340|800|450}}
<!-- 
{{youtubelink|}} -->|XjW7LaJFLto}}


== Thesis ==

'''Мандатный контроль целостности (МКЦ)'''  — фундамент безопасности ОС Astra Linux, сертифицированной по высшим классам защиты. МКЦ обеспечивает:
* Защиту привилегированных процессов
* Сохранение целостности исполняемых/конфигурационных файлов
* Защиту от вирусов (включая «шифровальщиков»)
* Противодействие эксплуатации уязвимостей (включая атаки с правами <code>root</code>)

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

== Адаптированная контейнерная виртуализация ==
Исследования безопасности контейнеризации <ref name="Wan2019">Wan Z., Lo D., Xia X., L. Cai. ''Practical and effective sandboxing for Linux containers''. Empir Software Eng, 2019, Vol. 24, pp. 4034-4070.</ref> предлагали изоляцию через:
* Пространства имён (''namespaces'')
* Группы управления ресурсами (''cgroups'')
* Механизм <code>seccomp</code> <ref name="Lopes2020">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.</ref>
* Мандатный контроль доступа SELinux <ref name="Kabbe2017">J.-A. Kabbe. ''Security analysis of Docker containers in a production environment''. Norwegian University of Science and Technology, 2017, 91 p.</ref>

Согласно <code>NIST SP 800-190</code> <ref name="NIST800-190">NIST Special Publication 800-190. ''Application Container Security Guide''. 2015. [https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf]</ref>, основные уязвимости контейнеров:
* Побег из контейнера (''container escape'')
* Неограниченный сетевой доступ
* Небезопасные конфигурации
* Уязвимости контейнеризованных приложений

'''Решение:''' Запуск контейнеров на:
* Промежуточных неиерархических уровнях целостности (например, <code>0x00000002</code>)
* Отрицательных линейных уровнях целостности (например, <code>-128</code>)

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

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

{{SlidesSection}}
[[File:Использование мандатного контроля целостности для изолированного запуска средств контейнеризации в ОС Astra Linux (Алексей Старостин, OSDAY-2025).pdf|left|page=-|300px]]

{{----}}
[[File:{{#setmainimage:Использование мандатного контроля целостности для изолированного запуска средств контейнеризации в ОС Astra Linux (Алексей Старостин, OSDAY-2025)!.jpg}}|center|640px]]
{{LinksSection}}

* 
<!-- <blockquote>[©]</blockquote> -->

<references/>

<!-- topub -->

[[Категория:OSDAY-2025]]
[[Категория:Операционные системы]]
[[Категория:Информационная безопасность]]
[[Категория:Draft]]

Текущая версия на 14:17, 21 июля 2025

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

Мандатный контроль целостности (МКЦ) — ключевой механизм безопасности в ОС Astra Linux, защищающий от вирусов-шифровальщиков и атак с правами root. Однако его интеграция со стандартными средствами контейнеризации Linux (namespaces, cgroups) сложна и требует адаптации. Особую проблему представляют уязвимости контейнеров, описанные в NIST SP 800—190: побеги из контейнеров, неконтролируемый сетевой доступ и небезопасные конфигурации.

Разработана технология запуска контейнеров на специальных уровнях целостности МКЦ:

  • Промежуточные неиерархические уровни (например, 0x00000002 для «Виртуализации»);
  • Отрицательные линейные уровни (например, −128). Это позволяет изолировать недоверенное ПО (браузеры, офисные пакеты) в «песочницах», где даже при компрометации риск для системы минимален.

Технология обеспечивает:

  • Защиту от межконтейнерных атак через разные линейные уровни (-10 и −128);
  • Блокировку шифровальщиков — контейнер на уровне 0x00000000:-128 не может записать в пользовательские данные (0x00000000:0);
  • Изоляцию критичных процессов (уровень «Высокий» 0x0000003F) от недоверенных контейнеров. МКЦ работает по умолчанию, в отличие от замкнутой программной среды.

Подход существенно усложняет эксплуатацию уязвимостей ядра при побеге из контейнера. Дополнительное преимущество — отсутствие ограничений на ПО, характерное для других механизмов безопасности. Перспективное направление — интеграция с методами машинного обучения для детектирования аномалий в изолированных контейнерах.

Видео

on youtube


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, в отличие от ЗПС или блокировки интерпретаторов.
  • Запуск контейнеров на отрицательных уровнях целостности усложняет эксплуатацию уязвимостей ядра.
  • Перспективное направление: интеграция МКЦ с методами машинного обучения для детектирования аномалий в контейнерах.

Презентация

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

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

  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]