Детальная информация

Название Выявление дубликатов программного кода в исполняемых файлах на базе интеллектуальной оценки семантической схожести: выпускная квалификационная работа бакалавра: направление 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.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Загрузить
Интернет Авторизованные пользователи СПбПУ
Загрузить
Интернет Анонимные пользователи
...