681.26K

презентация_исправленная

1.

Институт
кибербезопасности
и цифровых
технологий
МИРЭА
– Российский
технологический
университет
Кафедра информатики
Институт кибербезопасности и цифровых технологий
Кафедра информатики
Выпускная квалификационная работа
Разработка алгоритмов машинного обучения для решения
задач поиска уязвимостей в программном обеспечении
Фирсов Данил Максимович
БФБО-02-22
Научный руководитель: к.ф.-м.н., доцент Сарьян А.С.
Москва 2026 г.
Кафедра информатики ИКБ РТУ МИРЭА

2.

Актуальность
Рост сложности программных систем
Объём кода и архитектурные зависимости
растут, увеличивая число потенциальных
дефектов.
Ограничения классических SAST
Правило-ориентированные инструменты
создают много ложных срабатываний, не
видят контекста и требуют детальной
настройки.
Тематические вызовы
• Утечки данных и
компрометации
• Ошибки логики и контроля
доступа
• Неочевидные дефекты,
связанные с контекстом
Необходимость гибридных подходов
Сочетание структурного анализа и
машинного обучения позволяет снизить
шум и повысить полноту обнаружения.
Кафедра информатики ИКБ РТУ МИРЭА
2

3.

Цель и задачи
Цель
Повышение эффективности обнаружения уязвимостей путём объединения
AST-фрагментации, машинного обучения и сигнатурного анализа.
Задачи:
1. Проанализировать теоретические основы и
ограничения SAST.
2. Обосновать использование машинного обучения и
AST.
3. Разработать гибридный алгоритм поиска
уязвимостей.
4. Формализовать математическую модель и скоринг
риска.
5. Реализовать конвейер анализа на Python.
6. Провести экспериментальную проверку на открытых
данных.
Кафедра информатики ИКБ РТУ МИРЭА
3

4.

Объект, предмет и методология
Объект
Процессы
автоматизированного
выявления уязвимостей в
программном обеспечении.
Кафедра информатики ИКБ РТУ МИРЭА
Предмет
Алгоритмы машинного
обучения и методы структурной
фрагментации исходного кода.
Методологическая основа
Анализ публикаций, сравнение
SAST-инструментов,
синтаксический разбор,
математическое
моделирование и
эксперименты на открытых
датасетах.
4

5.

Категории уязвимостей и ограничения SAST
Категории уязвимостей
• Инъекции (SQL, OS, XSS, path traversal)
• Ошибки контроля доступа и логики
• Опасные вызовы и небезопасные функции
• Утечки секретов и конфиденциальных данных
Ограничения SAST
• Высокий уровень ложных срабатываний
• Отсутствие контекста исполнения и данных
• Неполное покрытие языков и библиотек
• Сложная настройка правил и зависимостей
Кафедра информатики ИКБ РТУ МИРЭА
5

6.

Архитектура алгоритма
Модули конвейера
• Сбор и фильтрация исходных файлов
• AST-фрагментация и сохранение контекста
• Извлечение интерпретируемых признаков
• Машинное обучение: логистическая регрессия
• Rule-based слой для явных дефектов
• Итоговый скоринг и отчёт
Кафедра информатики ИКБ РТУ МИРЭА
Преимущества
Сохраняет структурный контекст, снижает шум,
обеспечивает интерпретируемые результаты и
даёт ранжирование фрагментов по риску.
6

7.

Математическая модель
Вероятность уязвимости:
p̂ = σ(wᵀx + b) = 1/(1 + e^{−(wᵀx + b)})
Функция потерь:
L(w, b) = -Σᵢ₌₁ᵐ [yᵢ log p̂ᵢ + (1 - yᵢ) log(1 - p̂ᵢ)].
Регуляризация
Ω(w) = Σ wᵢ²
Итоговый скоринг:
S(bᵢ) = α·P_{ml}(bᵢ) + β·R_{rule}(bᵢ) +
γ·C_{struct}(bᵢ)
Метрики оценки:
Precision = TP/(TP+FP)
Recall = TP/(TP+FN)
F1 = 2·Precision·Recall/(Precision+Recall)
Accuracy = (TP+TN)/(TP+TN+FP+FN)
Кафедра информатики ИКБ РТУ МИРЭА
7

8.

AST-фрагментация и признаки
AST-фрагментация
Исходный код переводится в
абстрактное синтаксическое дерево.
Функции, классы, блоки условий и
циклов выделяются как логические
фрагменты, что сохраняет
семантический контекст.
Извлечение признаков
Для каждого фрагмента формируется
интерпретируемый вектор признаков:
наличие опасных вызовов, глубина
ветвлений, использование внешнего
ввода, файловый ввод-вывод,
защитные проверки, синхронизация и
библиотеки. Такие признаки описывают
риск небезопасного поведения.
Кафедра информатики ИКБ РТУ МИРЭА
8

9.

Экспериментальные результаты
Метрика
Baseline
Гибрид
Accuracy
0,69
0,78
Precision
0,84
0,76
Recall
0,51
0,73
F1-score
0,63
0,74
Общий вывод:
Гибридный алгоритм значительно повышает полноту
(Recall) и F1-score по сравнению с baseline.
Хотя точность (Precision) снижается незначительно,
улучшение полноты обеспечивает обнаружение
большего числа уязвимостей.
Совокупность модулей обеспечивает лучшее
ранжирование фрагментов и снижение ложных
пропусков.
Кафедра информатики ИКБ РТУ МИРЭА
9

10.

Скоринг и пользовательский интерфейс
Формула скоринга
S(bᵢ) = α·P_{ml}(bᵢ) + β·R_{rule}(bᵢ)
+ γ·C_{struct}(bᵢ)
α + β + γ = 1; α, β, γ ≥ 0
Ранжирование рисков
Low: S < 0,4
Medium: 0,4 ≤ S < 0,7
High: S ≥ 0,7
Интерфейс
Система выделяет файлы, функции и классы с оценкой риска. Пользователь видит кодовый контекст и
может быстро перейти к подозрительным фрагментам для ручной проверки. Оценка упрощает
приоритизацию исправлений.
Кафедра информатики ИКБ РТУ МИРЭА
1
0

11.

Выводы
Основные результаты
• Разработан гибридный алгоритм, объединяющий AST-фрагментацию, ML и rule-based анализ.
• Сформулирована математическая модель классификации и введён скоринг риска.
• Реализован прототип на Python; проведён эксперимент на открытом датасете.
• Получено повышение Recall и F1-score по сравнению с baseline.
Перспективы развития
• Расширение признакового пространства и использование более сложных моделей (деревья решений,
графовые нейронные сети).
• Разработка более крупных размеченных датасетов и поддержка других языков программирования.
• Интеграция решения в CI/CD и DevSecOps-процессы.
• Настройка весовых коэффициентов скоринга и исследование адаптивных схем.
Кафедра информатики ИКБ РТУ МИРЭА
1
1

12.

МИРЭА – Российский технологический университет
Спасибо за внимание!
Кафедра информатики ИКБ РТУ МИРЭА
12
English     Русский Правила