2026/2027





Системное программирование и кибербезопасность
Статус:
Маго-лего
Когда читается:
2, 3 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Стародубов Константин Владимирович
Язык:
русский
Кредиты:
6
Контактные часы:
48
Программа дисциплины
Аннотация
Курс посвящён системному программированию и обеспечению кибербезопасности программных систем на уровне, приближённом к аппаратуре и операционной системе, с акцентом на программное обеспечение, реализующее и использующее технологии искусственного интеллекта.
В ходе изучения дисциплины рассматриваются модель памяти и низкоуровневое программирование на C/C++, системные вызовы и подсистемы ядра Linux, управление процессами и памятью, механизмы изоляции и разграничения доступа, классы уязвимостей нарушения безопасности памяти и техники их эксплуатации, современные механизмы противодействия (ASLR, DEP/NX, stack canaries, CFI), а также инструменты анализа безопасности программ: санитайзеры, фаззинг, статический и динамический анализ, символьное исполнение, реверс-инжиниринг бинарных артефактов.
Отдельное внимание уделяется системной безопасности сред исполнения моделей искусственного интеллекта: движкам инференса и ускорителям вычислений, безопасности форматов моделей и их десериализации, изоляции ИИ-нагрузок средствами namespaces, seccomp и доверенных сред исполнения, а также контролю цепочек поставок программного обеспечения, библиотек машинного обучения и наборов данных.
Нормативно-методическую основу курса составляет комплекс стандартов по разработке безопасного программного обеспечения: ГОСТ Р 56939-2024 и проект национального стандарта «Защита информации. Разработка безопасного программного обеспечения, реализующего технологии искусственного интеллекта. Общие требования» (РБПО ИИ), устанавливающий требования к процессам разработки, включая управление наборами данных, безопасное обучение моделей, моделирование угроз и описание поверхности атаки, контроль цепочек поставок и формирование паспорта модели искусственного интеллекта.
Практическая часть курса ориентирована на разработку и анализ защищённых системных компонентов и среды исполнения моделей искусственного интеллекта; результаты могут использоваться в качестве основы выпускной квалификационной работы.
Цель освоения дисциплины
- Формирование у студентов компетенций по разработке, анализу и защите системного программного обеспечения и сред исполнения моделей искусственного интеллекта на основе современных методов системного программирования, анализа безопасности программ и требований национальных стандартов по разработке безопасного программного обеспечения.
- Основные задачи – изучение модели памяти, механизмов трансляции и низкоуровневого программирования на C/C++; – освоение системных вызовов, механизмов управления процессами, памятью и вводом-выводом в ОС Linux; – изучение классов уязвимостей нарушения безопасности памяти и техник их эксплуатации; – освоение механизмов противодействия эксплуатации и принципов защищённой компиляции; – освоение инструментов анализа безопасности программ: санитайзеров, фаззинга, статического и динамического анализа; – изучение методов реверс-инжиниринга и анализа бинарных артефактов, включая артефакты моделей ИИ; – изучение механизмов изоляции и разграничения доступа (namespaces, cgroups, seccomp, LSM, TEE); – освоение принципов системной безопасности сред исполнения и ускорителей вычислений для моделей ИИ; – изучение контроля цепочек поставок программного обеспечения, библиотек машинного обучения и наборов данных; – освоение требований ГОСТ Р 56939-2024 и проекта стандарта РБПО ИИ к процессам разработки безопасного ПО, реализующего технологии искусственного интеллекта.
Планируемые результаты обучения
- Описывает модель памяти процесса, механизмы работы компилятора, компоновщика и загрузчика
- Умеет разрабатывать системные программы с использованием системных вызовов и средств межпроцессного взаимодействия
- Выявляет и классифицирует уязвимости нарушения безопасности памяти и оценивает их эксплуатируемость
- Применяет санитайзеры, фаззинг, статический и динамический анализ для поиска недостатков в программном обеспечении
- Выполняет анализ бинарных артефактов и небезопасных форматов сериализации моделей ИИ
- Настраивает механизмы изоляции ИИ-нагрузок (namespaces, cgroups, seccomp, LSM) и обосновывает применение доверенных сред исполнения
- Проектирует защищённую среду исполнения модели ИИ и оценивает её поверхность атаки
- Реализовывает контроль цепочек поставок ПО, библиотек машинного обучения и наборов данных
- Применяет требования ГОСТ Р 56939-2024 и проекта стандарта РБПО ИИ к процессам разработки, включая управление наборами данных, безопасное обучение модели и формирование паспорта модели ИИ
Содержание учебной дисциплины
- Модуль 1. Введение в системное программирование и модель нарушителя
- Модуль 2. Низкоуровневое программирование на C/C++ и безопасность памяти
- Модуль 3. Операционная система Linux: процессы, память и системные вызовы
- Модуль 4. Уязвимости и эксплуатация бинарного кода
- Модуль 5. Анализ безопасности программного обеспечения: санитайзеры, фаззинг, статический анализ
- Модуль 6. Реверс-инжиниринг и анализ бинарных артефактов, включая артефакты моделей ИИ
- Модуль 7. Изоляция, разграничение доступа и защищённая среда исполнения моделей ИИ
- Модуль 8. Безопасность цепочек поставок программного обеспечения, библиотек ИИ и наборов данных
- Модуль 9. Безопасное обучение моделей ИИ и защита среды обучения
- Модуль 10. Процессы разработки безопасного ПО, реализующего технологии ИИ
- Модуль 11. Итоговый проект
Элементы контроля
- Лабораторные работыПри выполнении лабораторных работ и итогового проекта рекомендуется использование следующего программного обеспечения. – операционная система Linux (в том числе в виртуальной машине или контейнере); – компиляторы GCC и Clang/LLVM, отладчик GDB; – санитайзеры AddressSanitizer, UndefinedBehaviorSanitizer, MemorySanitizer, ThreadSanitizer; – средства фаззинга (AFL++, libFuzzer) и анализа покрытия; – средства статического анализа исходного кода и композиционного анализа (SCA), инструменты формирования SBOM; – средства динамического анализа и трассировки (strace, ltrace, Valgrind, perf); – средства реверс-инжиниринга (Ghidra, Radare2/Cutter); – Docker или Podman, средства настройки seccomp и контрольных групп; – Python 3.12 или выше; PyTorch, ONNX Runtime и иные среды исполнения моделей ИИ; – Git, Visual Studio Code или другая современная интегрированная среда разработки; – при необходимости допускается использование облачных сервисов и локальных виртуальных машин.
- Индивидуальное задание
- Контрольная работаКонтрольная работа по системному программированию и анализу безопасности программ.
- Итоговый проект по проектированию защищённого программного обеспеченияПри выполнении лабораторных работ и итогового проекта рекомендуется использование следующего программного обеспечения: – операционная система Linux (в том числе в виртуальной машине или контейнере); – компиляторы GCC и Clang/LLVM, отладчик GDB; – санитайзеры AddressSanitizer, UndefinedBehaviorSanitizer, MemorySanitizer, ThreadSanitizer; – средства фаззинга (AFL++, libFuzzer) и анализа покрытия; – средства статического анализа исходного кода и композиционного анализа (SCA), инструменты формирования SBOM; – средства динамического анализа и трассировки (strace, ltrace, Valgrind, perf); – средства реверс-инжиниринга (Ghidra, Radare2/Cutter); – Docker или Podman, средства настройки seccomp и контрольных групп; – Python 3.12 или выше; PyTorch, ONNX Runtime и иные среды исполнения моделей ИИ; – Git, Visual Studio Code или другая современная интегрированная среда разработки; – при необходимости допускается использование облачных сервисов и локальных виртуальных машин.
- Анализ и обсуждение архитектурных и технических решений
Промежуточная аттестация
- 2026/2027 3rd module0.3 * Итоговый проект по проектированию защищённого программного обеспечения + 0.2 * Индивидуальное задание + 0.4 * Лабораторные работы + 0.1 * Анализ и обсуждение архитектурных и технических решений
Список литературы
Рекомендуемая основная литература
- Linux. Системное программирование. 2-е изд. - 978-5-496-01684-1 - Лав Р. - 2018 - Санкт-Петербург: Питер - https://ibooks.ru/products/377147 - 377147 - iBOOKS
- Баланов, А. Н. Защита информационных систем. Кибербезопасность : учебное пособие для вузов / А. Н. Баланов. — 2-е изд., стер. — Санкт-Петербург : Лань, 2025. — 280 с. — ISBN 978-5-507-50467-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/438971 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Администрирование и кибербезопасность информационных систем : учебное пособие / В. П. Часовских, Г. А. Акчурина, В. Г. Лабунец [и др.]. — Екатеринбург : УрГЭУ, 2022. — 173 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/417746 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.