Исследование и разработка методов поиска уязвимостей в программах на C и C++ на основе статического анализа помеченных данных

Специальность 2.3.5 — «Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей» Диссертация на соискание учёной степени кандидата технических наук 

Автор
Шимчик Никита Владимирович
Год
2024
  • 99 000 UZS

Оглавление диссертации

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Глава 1. Обзор существующих методов поиска уязвимостей . . . 10
1.1 Основные термины анализа помеченных данных . . . . . . . . . . 10
1.1.1 Основные термины задачи IFDS . . . . . . . . . . . . . . . 13
1.2 Общая классификация методов анализа . . . . . . . . . . . . . . . 17
1.2.1 Методы, основанные на тестировании . . . . . . . . . . . . 18
1.2.2 Методы на основе статического и динамического
символьного выполнения . . . . . . . . . . . . . . . . . . . 20
1.3 Анализ помеченных данных . . . . . . . . . . . . . . . . . . . . . 23
1.3.1 Анализ помеченных данных в форме IFDS задачи . . . . . 25
1.3.2 Инструменты анализа помеченных данных . . . . . . . . . 27
1.4 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Глава 2. Методы повышения точности статического анализа
помеченных данных . . . . . . . . . . . . . . . . . . . . . . . 32
2.1 Проблема отсутствия чувствительности к путям . . . . . . . . . . 36
2.1.1 Двухэтапный анализ со статическим символьным
выполнением . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.2 Двухэтапный анализ с обходом расширенного суперграфа 41
2.2 Санитизация помеченных данных . . . . . . . . . . . . . . . . . . 44
2.3 Известные причины ложных срабатываний . . . . . . . . . . . . . 47
Глава 3. Методы повышения полноты статического анализа
помеченных данных . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 Анализ косвенных вызовов . . . . . . . . . . . . . . . . . . . . . . 51
3.2 Спецификации для внешних функций . . . . . . . . . . . . . . . . 56
3.2.1 Формат спецификаций для описания истоков, стоков и
пропагаторов . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Эвристический поиск новых истоков . . . . . . . . . . . . 63
Глава 4. Методы повышения масштабируемости статического
анализа помеченных данных . . . . . . . . . . . . . . . . . 68
3
Стр.
4.1 Направленное распространение глобальных переменных . . . . . 70
4.2 Практические изменения в использовании IFDS решателя . . . . 77
Глава 5. Особенности реализации и тестирование инструмента
Irbis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1 Общая схема работы . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Реализованные детекторы . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.1 Теги предупреждений . . . . . . . . . . . . . . . . . . . . . 86
5.3 Особенности реализации . . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Анализ псевдонимов . . . . . . . . . . . . . . . . . . . . . . 89
5.4 Оценка результатов работы . . . . . . . . . . . . . . . . . . . . . . 92
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Рекомендуем вам товары

99 000 UZS
Автор
Яволовская Яна Олеговна
Количество страниц
157
Год
2024
99 000 UZS
Автор
Юшина Кристина Станиславовна
Количество страниц
168
Год
2024
99 000 UZS
Автор
ЮСУПОВ АЛЕКСАНДР РАШИДОВИЧ
Количество страниц
143
Год
2024
99 000 UZS
Автор
Юрицин Александр Андреевич
Количество страниц
211
Год
2024
99 000 UZS
Автор
ХАРАПУДЬКО ЮРИЙ ВЛАДИМИРОВИЧ
Количество страниц
151
Год
2024
Модули для Opencart 2, Опенкарт 3