Details
| Title | Способ увеличения покрытия исполняемого кода при фаззинг-тестировании с использованием механизма обратной трассировки: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_05 «Безопасность компьютерных систем (Интеллектуальная защита от киберугроз)» = A method for increasing code coverage in fuzzing testing using a backtrace mechanism |
|---|---|
| Creators | Шевченко Сергей Владимирович |
| Scientific adviser | Павленко Евгений Юрьевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | фаззинг ; покрытие кода ; стек вызовов ; обратная трассировка ; AFL++ ; fuzzing ; code coverage ; call stack ; backtrace |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 10.03.01 |
| Speciality group (FGOS) | 100000 - Информационная безопасность |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3166 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42840 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
| Group | Anonymous |
|---|---|
| Network | Internet |
Объект исследования – процесс фаззинг-тестирования ПО. Предмет – алгоритмы покрытия кода с обратной трассировкой. Цель работы – разработка и экспериментальная оценка способа увеличения покрытия кода при фаззинге на основе механизма обратной трассировки. Проведён анализ методов фаззинга и критериев покрытия. Выполнено сравнение способов получения контекста. Выбран метод ручного обхода кадров стека. Разработана реализация контекстно-зависимого покрытия, интегрированная в AFL++. Эксперименты проведены на платформе Magma с библиотеками SQLite3, libpng, Lua и OpenSSL. Разработан способ увеличения покрытия с настраиваемой глубиной анализа стека. Предложенный метод показал результаты, сопоставимые с режимом CTX AFL++, а в ряде сценариев – более высокие. Установлено, что оптимальная глубина трассировки составляет 8 кадров. Результаты могут использоваться в системах динамического анализа ПО и фаззинг-инструментах для повышения эффективности поиска уязвимостей. Предложенный способ позволяет увеличить покрытие кода, избегая проблемы «взрыва путей», характерного для полного хеширования стека, и может быть интегрирован в современные фаззеры без их глубокой модификации.
The object of the study is the fuzzing testing process of software. The subject is code coverage algorithms with backtrace analysis. The aim of the work is to develop and experimentally evaluate a method for increasing code coverage during fuzzing based on a backtrace mechanism. An analysis of fuzzing methods and coverage metrics was conducted. A comparison of methods for obtaining context was performed. A manual stack frame traversal method was selected. An implementation of context-sensitive coverage integrated into AFL++ was developed. Experiments were conducted on the Magma platform using SQLite3, libpng, Lua, and OpenSSL libraries. A method for increasing coverage with adjustable stack analysis depth was developed. The proposed method showed results comparable to CTX AFL++, and in some scenarios even higher performance. It was found that the optimal tracing depth is 8 frames. The results can be used in dynamic software analysis systems and fuzzing tools to improve vulnerability discovery efficiency. The proposed method allows increasing code coverage while avoiding the “path explosion” problem typical of full stack hashing, and can be integrated into modern fuzzers without major modifications.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|