Использование мандатного контроля целостности для изолированного запуска средств контейнеризации в ОС Astra Linux (Алексей Старостин, OSDAY-2025) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Новая страница: «;{{SpeakerInfo}}: {{Speaker|Алексей Старостин}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} <!-- {{youtubelink|}} --> =…») |
StasFomin (обсуждение | вклад) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
;{{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
- Докладчик
- Алексей Старостин
Мандатный контроль целостности (МКЦ) — ключевой механизм безопасности в ОС Astra Linux, защищающий от вирусов-шифровальщиков и атак с правами root. Однако его интеграция со стандартными средствами контейнеризации Linux (namespaces, cgroups) сложна и требует адаптации. Особую проблему представляют уязвимости контейнеров, описанные в NIST SP 800—190: побеги из контейнеров, неконтролируемый сетевой доступ и небезопасные конфигурации.
Разработана технология запуска контейнеров на специальных уровнях целостности МКЦ:
- Промежуточные неиерархические уровни (например, 0x00000002 для «Виртуализации»);
- Отрицательные линейные уровни (например, −128). Это позволяет изолировать недоверенное ПО (браузеры, офисные пакеты) в «песочницах», где даже при компрометации риск для системы минимален.
Технология обеспечивает:
- Защиту от межконтейнерных атак через разные линейные уровни (-10 и −128);
- Блокировку шифровальщиков — контейнер на уровне 0x00000000:-128 не может записать в пользовательские данные (0x00000000:0);
- Изоляцию критичных процессов (уровень «Высокий» 0x0000003F) от недоверенных контейнеров. МКЦ работает по умолчанию, в отличие от замкнутой программной среды.
Подход существенно усложняет эксплуатацию уязвимостей ядра при побеге из контейнера. Дополнительное преимущество — отсутствие ограничений на ПО, характерное для других механизмов безопасности. Перспективное направление — интеграция с методами машинного обучения для детектирования аномалий в изолированных контейнерах.
Содержание
Видео
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, в отличие от ЗПС или блокировки интерпретаторов.
- Запуск контейнеров на отрицательных уровнях целостности усложняет эксплуатацию уязвимостей ядра.
- Перспективное направление: интеграция МКЦ с методами машинного обучения для детектирования аномалий в контейнерах.
Презентация
Примечания и ссылки
- ↑ Wan Z., Lo D., Xia X., L. Cai. Practical and effective sandboxing for Linux containers. Empir Software Eng, 2019, Vol. 24, pp. 4034-4070.
- ↑ 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.
- ↑ J.-A. Kabbe. Security analysis of Docker containers in a production environment. Norwegian University of Science and Technology, 2017, 91 p.
- ↑ NIST Special Publication 800—190. Application Container Security Guide. 2015. [1]
