Details
| Title | Методы ручного и автоматизированного выявления уязвимостей программного обеспечения BMC: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_05 «Безопасность компьютерных систем (Интеллектуальная защита от киберугроз)» = Methods for manual and automated vulnerability detection in BMC software |
|---|---|
| Creators | Аргандейкина Софья Артуровна |
| Scientific adviser | Макаров Александр Сергеевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | фаззинг ; поиск уязвимостей ; bmc ; openbmc ; статический ; анализ ; сетевой стек ; аппаратная виртуализация ; afl++ ; clang static analyzer ; qemu ; fuzzing ; vulnerability scanning ; static analysis ; network stack ; hardware virtualization |
| 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-3167 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42841 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Целью работы является поиск программных дефектов в сетевом стеке ядра Linux на основе технологии фаззинга с сохранением состояния. Объектом исследования является сетевой стек ядра Linux. Задачи, решаемые в ходе исследования: 1. Исследовать архитектуру ПО BMC и основные векторы атак на него. 2. Проанализировать современные методы ручного и автоматизированного выявления уязвимостей в прошивках встраиваемых систем, включая статический анализ, динамический анализ и фаззинг. 3. Разработать гибридный метод обнаружения уязвимостей в прошивке BMC, объединяющий статический анализ и направленный фаззинг. 4. Выполнить программную реализацию разработанного метода. 5. Оценка скорости и точности работы созданного средства. В ходе работы исследована архитектура ПО BMC на примере компонента bmcweb прошивки OpenBMC. Проанализированы современные методы выявления уязвимостей встраиваемых систем. Разработано средство поиска дефектов в ПО BMC, продемонстрирована его эффективность. Сделан вывод, что безопасность сетевых сервисов BMC требует дальнейшего изучения. Полученные результаты могут быть использованы для проектирования систем динамического анализа ПО BMC. Для достижения данных результатов была разработана программа, использующая технологию аппаратной эмуляции QEMU, а также инструменты Clang Static Analyzer и AFL++ для мониторинга и выявления уязвимостей в сетевом стеке BMC.
The goal of this thesis is to develop a hybrid method for identifying vulnerabilities in BMC that combines statistical analysis and targeted fuzzing. The target is BMC software. The objectives of this research are: 1. To examine the BMC software architecture and the main attack vectors. 2. To analyze modern methods for manual and automated vulnerability detection in embedded system firmware, including static analysis, dynamic analysis, and fuzzing. 3. To develop a hybrid method for detecting vulnerabilities in BMC firmware that combines static analysis and targeted fuzzing. 4. To implement a software implementation of the developed method. 5. Evaluation of the speed and accuracy of the developed tool. This study examined the BMC software architecture using the bmcweb component of the OpenBMC firmware as an example. Modern methods for identifying vulnerabilities in embedded systems were analyzed. A tool for detecting defects in BMC software was developed and its effectiveness was demonstrated. It was concluded that the security of BMC network services requires further study. The obtained results can be used to design dynamic analysis systems for BMC software. To achieve these results, a program was developed using QEMU hardware emulation technology, as well as Clang Static Analyzer and AFL++ tools for monitoring and identifying vulnerabilities in the BMC network stack.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|
- РЕФЕРАТ
- ABSTRACT
- Содержание
- Определения, обозначения и сокращения
- введение
- 1 Методологии исследования и выявления уязвимостей в ПО BMC
- 1.1 Этапы анализа программного обеспечения BMC
- 1.2 Ручные методы анализа уязвимостей BMC
- 1.2.1 Дизассемблирование
- 1.2.2 Декомпиляция
- 1.2.3 Динамический анализ с помощью QEMU
- 1.2.4 Динамический анализ с помощью Unicorn Engine
- 1.2.5 Тестирование сетевых сервисов с помощью Nmap
- 1.2.6 Анализ безопасности с помощью Burp Suite
- 1.2.7 Фаззинг
- 1.2.8 Сравнительная таблица ручных методов анализа уязвимостей BMC
- Таблица 1.1 - Сравнительная таблица ручных методов анализа уязвимостей BMC
- Таблица 1.1 - Сравнительная таблица ручных методов анализа уязвимостей BMC (продолжение)
- Таблица 1.1 - Сравнительная таблица ручных методов анализа уязвимостей BMC (продолжение) (1)
- 1.3 Выводы
- 2 АВТОМАТИЗИРОВАННЫЕ МЕТОДЫ ВЫЯВЛЕНИЯ УЯЗВИМОСТЕЙ В ПО BMC
- 2.1 Автоматизированные методы и специализированные инструменты анализа уязвимостей
- 2.1.1 EMBA
- 2.1.2 FACT
- 2.1.3 FWAnalyzer
- 2.1.4 BinAbsInspector
- 2.1.5 AFL++
- 2.1.6 Clang-Tidy
- 2.1.7 Сравнительная таблица инструментов статического и динамического анализа ПО BMC
- 2.2 Выводы
- 2.1 Автоматизированные методы и специализированные инструменты анализа уязвимостей
- 3 Разработка ГИБРИДНОГО МЕТОДА ОБНАРУЖЕНИЯ УЯЗВИМОСТЕЙ В ПО BMC
- 3.1 Выбор компонента для анализа
- 3.2 Обоснование выбора инструментов и технологий
- 3.2.1 Инструмент статического анализа Clang Static Analyzer
- 3.2.2 Инструмент динамического анализа AFL++
- 3.2.3 Оркестрация
- 3.2.4 Сводная таблица выбранных инструментов
- 3.3 Архитектура гибридного метода
- 3.4 Эксперименты
- 3.4.1 Сравнение эффективности метода
- 3.4.2 Сравнение разных версий bmcweb
- 3.4.3 Оценка эффективности трансформации результатов SAST в данные для DAST
- 3.4.4 Оценка сложности команды для AFL++
- 3.4.5 Сравнение времени ручной и автоматической подготовки тестовых сценариев
- 3.5 Выводы
- Заключение
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ