Детальная информация
| Название | Выявление дубликатов программного кода в исполняемых файлах на базе интеллектуальной оценки семантической схожести: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_05 «Безопасность компьютерных систем (Интеллектуальная защита от киберугроз)» = Detecting Duplicate Software Code in Executable Files Based on Intelligent Semantic Similarity Assessment |
|---|---|
| Авторы | Пузырев Григорий Александрович |
| Научный руководитель | Завадский Евгений Владимирович |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | схожесть бинарных файлов ; программные клоны ; бинарные файлы ; граф потока управления ; нейронные сети ; binary file similarity ; software clones ; binary files ; control flow graph ; neural networks |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 10.03.01 |
| Группа специальностей ФГОС | 100000 - Информационная безопасность |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3157 |
| Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42831 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет возможно после подготовки администраторами необходимых файлов
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Целью работы является разработка и экспериментальная проверка метода выявления дубликатов программного кода в исполняемых файлах, основанного на анализе семантической схожести. Объектом исследования являются фрагменты исполняемых файлов программного обеспечения. Задачи, решаемые в ходе исследования: 1. Анализ методов выявления дубликатов кода в исполняемых файлах и обзор решений. 2. Разработка метода сравнения фрагментов бинарного кода на основе семантической оценки. 3. Формирование выборки для обучения и тестирования модели искусственного интеллекта. 4. Тестирование разработанного решения. В ходе работы были проанализированы основные методы обнаружения клонов кода. Разработан собственный подход к оценке схожести фрагментов бинарного кода, который позволяет выявлять все виды клонов с использованием графовой нейронной сети. Результаты тестирования на различном программном обеспечении показывают, что метод показывает более точные результаты относительно сравниваемых решений. В процессе выполнения работы использовались следующие информационные технологии и программные средства: язык программирования Python 3 в качестве основного инструмента разработки; фреймворк глубокого обучения PyTorch и библиотека PyTorch Geometric для реализации и обучения графовых нейронных сетей; библиотеки scikit-learn и NumPy для вычисления метрик качества и обработки данных; инструмент статического анализа бинарного кода radare2 совместно с библиотекой r2pipe для автоматического дизассемблирования и извлечения графов потока управления из исполняемых файлов форматов ELF и PE.
The aim of this work is to develop and experimentally validate a method for detecting duplicate software code in executable files based on semantic similarity analysis. The object of this study is fragments of executable software files. Problems addressed in this study: 1. Analysis of methods for detecting duplicate code in executable files and a review of solutions. 2. Development of a method for comparing binary code fragments based on semantic assessment. 3. Generating a sample for training and testing the artificial intelligence model. 4. Testing the developed solution. During the course of this work, the main methods for detecting code clones were analyzed. A proprietary approach to assessing the similarity of binary code fragments was developed, which enables the detection of all types of clones using a graph neural network. Testing results on various software demonstrate that this method yields more accurate results than the compared solutions. The following information technologies and software tools were used: Python 3 as the primary development tool; the PyTorch deep learning framework and the PyTorch Geometric library for implementing and training graph neural networks; the scikit-learn and NumPy libraries for calculating quality metrics and processing data; and the radare2 static binary code analysis tool in conjunction with the r2pipe library for automatic disassembly and extraction of control flow graphs from ELF and PE executable files.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|