• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
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 module
    0.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). — Режим доступа: для авториз. пользователей.

Авторы

  • Иванов Федор Ильич
  • Стародубов Константин Владимирович