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
...