Details

Title Поиск уязвимостей в программном обеспечении методами статического анализа на уровне промежуточного представления кода: научный доклад: направление подготовки 10.06.01 «Информационная безопасность» ; направленность 10.06.01_01 «Методы и системы защиты информации, информационная безопасность»
Creators Кубрин Георгий Сергеевич
Scientific adviser Зегжда Дмитрий Петрович
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2025
Collection Научные работы аспирантов/докторантов ; Общая коллекция
Subjects Системное программное обеспечение ; Графов теория ; Информация — Защита ; цепочки уязвимостей ; логические уязвимости ; методы статического анализа кода ; vulnerability chains ; logical vulnerabilities ; static code analysis
UDC 004.45 ; 519.17 ; 004.056
Document type Scientific report
File type Other
Language Russian
Level of education Graduate student
Speciality code (FGOS) 10.06.01
Speciality group (FGOS) 100000 - Информационная безопасность
Rights Текст не доступен в соответствии с распоряжением СПбПУ от 11.04.2018 № 141
Additionally New arrival
Record key ru\spstu\vkr\39457
Record create date 11/17/2025

Научно-квалификационная работа посвящена исследованию методов выявления цепочек критических уязвимостей в многокомпонентном программного обеспечении. В работе предлагается использование набора графовых представлений программного кода с разным уровнем грануляции: граф зависимостей программы, граф зависимостей фрагментов кода по вызовам, универсальный граф представления программы. На базе предложенных графовых представлений построена формальная модель описания цепочек уязвимостей программного обеспечения. Выделены критерии существования цепочки уязвимостей: критерий связности цепочки, критерий достижимости элементов цепочки, критерий увеличения совокупной критичности. В работе предложен подход выявления цепочек уязвимостей на базе ансамбля алгоритмов анализа графовых представлений кода с различным уровнем грануляции. В работе приведены результаты тестирования прототипа системы анализа защищенности кода, реализующей предложенный подход, с использованием выборок синтетических программ.

This scientific and qualification paper explores methods for identifying critical vulnerability chains in multi-component software. The paper proposes using a set of graph representations of software code with varying levels of granularity: a program dependency graph, a graph of code fragment dependencies by calls, and a universal program representation graph. Based on the proposed graph representations, a formal model for describing software vulnerability chains is constructed. Criteria for the existence of a vulnerability chain are identified: a chain connectivity criterion, a chain element reachability criterion, and a criterion for increasing cumulative criticality. The paper proposes an approach for identifying vulnerability chains based on an ensemble of algorithms for analyzing graph representations of code with varying levels of granularity. The paper presents the results of testing a prototype code security analysis system implementing the proposed approach using samples of synthetic programs.