Уязвимости AppArmor в дипломе по ИБ: практика анализа и защиты контейнеров

Введение: почему CrackArmor — готовая тема для ВКР

Qualys TRU обнаружила девять уязвимостей в AppArmor, которые позволяют непривилегированному пользователю получить root-права и выйти за пределы контейнера. Для студента это не просто новость из мира кибербеза, а полноценный кейс: реальные CVE, известный вектор атаки, конкретные меры митигирования. Такой инцидент можно разобрать в дипломе от постановки задачи до тестирования защитного механизма. В этой статье покажу, как превратить CrackArmor в структуру ВКР, какие метрики считать и как оформить результаты, чтобы работа прошла нормоконтроль и выглядела выигрышно на защите.

Основная часть: интегрируем CrackArmor в дипломный проект

Темы ВКР на основе инцидента

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

№Тема ВКРАктуальностьЦельЗадачиСтруктура
1 Разработка методики тестирования защищённости контейнеров на базе Linux Security Modules Уязвимости AppArmor показывают, что стандартная изоляция недостаточна; нужно проверять её до эксплуатации Создать методику пентеста контейнерной инфраструктуры с учётом LSM 1. Классифицировать уязвимости AppArmor; 2. Спроектировать тестовый стенд; 3. Разработать сценарии атак; 4. Предложить метрики защиты Гл.1 — анализ атак и существующих LSM; Гл.2 — архитектура стенда и методика; Гл.3 — результаты тестирования, сравнение до/после
2 Автоматизация аудита AppArmor-профилей в Kubernetes Ручная настройка профилей допускает ошибки, которые приводят к root-доступу; требуется автоматический контроль Разработать инструмент проверки профилей AppArmor на наличие слабых мест 1. Исследовать CVE CrackArmor; 2. Собрать требования к аудиту; 3. Написать парсер профилей и проверки; 4. Внедрить в CI/CD Гл.1 — AppArmor и Kubernetes security context; Гл.2 — проектирование аудитора; Гл.3 — внедрение, оценка покрытия
3 Оценка эффективности изоляции контейнеров при использовании AppArmor, SELinux и seccomp Инцидент — повод сравнить существующие механизмы защиты и выбрать оптимальный для корпоративной среды Провести экспериментальное сравнение устойчивости LSM к атакам типа CrackArmor 1. Определить критерии оценки; 2. Настроить три стенда; 3. Провести атаки и зафиксировать результаты; 4. Выработать рекомендации Гл.1 — теория изоляции; Гл.2 — экспериментальный стенд; Гл.3 — анализ результатов, показатели защищённости

Каждая тема позволяет использовать статью как первичный источник в главе «Анализ предметной области» — сошлитесь на Qualys TRU, перечислите CVE, разберите вектор атаки.

Что писать в главе 1, 2 и 3: привязка к статье

Глава 1 (теория). Начните с модели угроз: непривилегированный пользователь, контейнер в Docker или containerd, цель — root на хосте. Опишите архитектуру AppArmor: как работает LSM, что такое профили, почему недостаточно просто наложить ограничения. Разберите технику взлома, не углубляясь в спойлеры полного эксплойта — достаточно описать KeyKook: перехват управления task->cred в обход проверок AppArmor.

# Псевдокод атаки на основе CrackArmor (упрощённо)
if (setxattr + key_change) # использование механизма keyrings
    overwrite_cred_pointer() # перезапись указателя на credentials
    skip_apparmor_checks()   # обход LSM-хуков
    spawn_root_shell()

Глава 2 (практика). Постройте стенд: ядро с уязвимым AppArmor, контейнер с непривилегированным пользователем. Спроектируйте архитектуру атаки на UML или C4 — это сразу добавляет работе инженерный вид. Нарисуйте диаграмму последовательности: запрос от пользователя → обработка через keyring → перезапись cred → вызов setuid(0). Если тема — защита, то вместо атаки проектируйте профиль AppArmor, который блокирует потенциально опасные операции.

# Пример профиля AppArmor для контейнера
profile container-deny flags=(attach_disconnected) {
  /bin/{sh,bash} ix,
  denylist /proc/sys/kernel/core_pattern w,
  capable setuid,  # оставили только нужные capabilities
  deny /etc/passwd w,
}

Глава 3 (тестирование). Внедрите метрики. Для ВКР достаточно рассчитать:

МетрикаЧто показываетКак считать
Время до получения root (TTRO)Скорость эксплуатации уязвимостиОт запуска атаки до получения euid=0
Покрытие профиля (%)Какой объём системных вызовов ограничен(разрешённые вызовы / все используемые) * 100
Количество CVE-точекЧисло векторов, которые переживают защитуРезультат тестов до и после митигирования

Vulnerability lifecycle и ГОСТ

Опишите жизненный цикл уязвимости: обнаружение → раскрытие → патч. Ссылайтесь на OWASP для классификации рисков (A1: Broken Access Control). Для текстовой части работы подойдёт требование ГОСТ 19.102 (стадии разработки), для оценки качества — ISO/IEC 25010. Не выдумывайте стандарты — именно эти применимы к ПО.

Чему вы научитесь в процессе работы

FAQ: частые вопросы студентов по теме

Можно ли использовать готовый эксплойт из статьи? Это не будет плагиатом?

Использовать код — можно, но нужно оформлять его как цитату с указанием источника, а в главе «Реализация» показать, как вы адаптируете или запускаете его. Лучше не копировать полностью, а воспроизвести ключевую идею — например, написать POC, который демонстрирует обход только одного ограничения AppArmor.

Какие инструменты нужны для практической части?

Linux с ядром >=5.15 (где есть уязвимые версии AppArmor), Docker или Podman, gcc для сборки эксплойта, strace для трассировки системных вызовов, bpftrace для динамического анализа. Всё это ставится на виртуальную машину — не обязательно иметь отдельный стенд.

Как оформить схемы и диаграммы по ГОСТ?

Используйте UML (диаграмма вариантов использования, последовательностей) и C4 (контейнеры и развёртывание). Не рисуйте скриншоты из MS Visio — используйте PlantUML или Draw.io, но с подписями по ЕСПД: «Рисунок 1 — Сценарий атаки». Под каждым рисунком обязательна ссылка в тексте.

Что делать, если тема диплома не связана с безопасностью напрямую?

Возьмите аспект, который пересекается: например, тема про DevOps — добавьте главу о безопасности CI/CD, где продемонстрируете уязвимость рантайма и предложите автоматизацию защиты. В теме «Разработка ПО» — обоснуйте требования к безопасности приложения. Свяжите CrackArmor с вашим основным направлением через контейнерную доставку.

Типичные ошибки студентов

Ошибка 1: Подробное описание эксплойта без анализа защиты. В ВКР не нужно выкладывать полный код атаки — это допустимо для курсовой, но для диплома важнее показать, как вы предотвращаете атаку. Опишите патчи и конфигурации.

Ошибка 2: Метрики без повторяемости. Студенты пишут «после внедрения стало лучше» — но не приводят протокол тестирования. Зафиксируйте условия: версия ядра, количество запусков, доверительный интервал. Это снижает вопросы на защите.

Ошибка 3: Отсутствие связи с нормативными документами. Один упомянутый ГОСТ в разделе «Актуальность» — это формальность. Сравните требования стандарта с тем, что вы делаете в каждой главе. Пример: ГОСТ 19.102 — стадии «Техническое задание» и «Рабочий проект» у вас должны быть отражены в структуре.

Чек-лист перед сдачей

  • ✅ Ссылка на Qualys TRU и список CVE есть во введении и главе 1
  • ✅ Все схемы атак подписаны и пронумерованы (Рисунок 1, Рисунок 2…)
  • ✅ Коды имеют комментарии и ссылку на исходный материал
  • ✅ Метрики посчитаны по протоколу, приложены выходные данные
  • ✅ Сделаны выводы: что уязвимость — это не проблема только AppArmor, а комплексная задача
  • ✅ Проверены ссылки и генерация списка литературы по вузу
  • ✅ Текст проверен на уникальность (низкая уникальность будет, если копировать статью)

Помощь с дипломом от экспертов

Вы работаете над ВКР и хотите сэкономить 120 часов своего времени? Наша команда помогает с любой темой: от обзора литературы до готового диплома, который пройдёт нормоконтроль и оставит приятное впечатление. Бесплатная консультация — просто напишите нам. Если нужно заказать диплом или частичную помощь с дипломом — обсудим объём и сроки.

Материал подготовлен экспертами компании «СтудЭксперт». Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы — наши специалисты готовы подсказать.

Последнее обновление: 2026-08-11

Источник: Уязвимости CrackArmor в Linux AppArmor позволяют получить root-права и обойти изоляцию контейнеров (опубликовано 2026-03-18)