Details
Title | Применение промежуточного представления кода LLVM при поиске уязвимостей на основе анализа указателей: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_03 «Безопасность компьютерных систем» |
---|---|
Creators | Юдин Андрей Николаевич |
Scientific adviser | Жуковский Евгений Владимирович |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Imprint | Санкт-Петербург, 2025 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | статический анализ ; поиск уязвимостей ; промежуточное представление ; анализ указателей ; static analysis ; vulnerability scanning ; intermediate representation ; pointer analysis |
Document type | Bachelor graduation qualification work |
File type | |
Language | Russian |
Level of education | Bachelor |
Speciality code (FGOS) | 10.03.01 |
Speciality group (FGOS) | 100000 - Информационная безопасность |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1372 |
Rights | Доступ по паролю из сети Интернет (чтение) |
Additionally | New arrival |
Record key | ru\spstu\vkr\35689 |
Record create date | 7/30/2025 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Целью работы является выявление уязвимостей в исходном коде программного обеспечения на языке C/C++ на основе промежуточного представления LLVM с применением анализа указателей. Предметом исследования является применимость алгоритмов анализа указателей для выявления уязвимостей. Задачи, решаемые в ходе исследования: 1. Анализ типов уязвимостей, связанных с ошибками работы с памятью, и способов их выявления. 2. Исследование алгоритмов анализа указателей и возможности их применения при поиске уязвимостей. 3. Разработка способа выявления уязвимостей на основе анализа указателей в LLVM-представлении кода программы. 4. Разработка и проведение тестирования средства выявления уязвимостей, основанного на предложенном способе анализа. В ходе работы были исследованы методы обнаружения уязвимостей программного обеспечения. Были проанализированы современные исследования в области статического анализа программного обеспечения. В результате работы было разработано средство поиска уязвимостей, связанных с доступом к памяти, была продемонстрирована эффективность средства. Полученные результаты могут быть использованы для проектирования систем статического анализа программного обеспечения.
The purpose of the study is vulnerability detection in C/C++ software source code based on LLVM intermediate representation using pointer analysis. The subject of the work is the applicability of pointer analysis algorithms for vulnerability detection. The research set the following goals: 1. Analysis of the types of memory safety vulnerabilities and the ways to identify them. 2. Research of pointer analysis algorithms and their potential application in vulnerability search. 3. Development of a method of vulnerability detection based on pointer analysis in LLVM IR. 4. Development and testing of a vulnerability detection tool based on the proposed analysis method. During the work methods for detecting software vulnerabilities were studied. Modern studies in static software analysis areas were analyzed. The work resulted in development of a tool to find memory safety vulnerabilities; the effectiveness of the tool was demonstrated. The results could be used as a base for designing static software analysis systems.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
Access count: 2
Last 30 days: 2