Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Авторская метрика оценки близости программ: приложение для поиска уязвимостей с помощью генетической деэволюции
Аннотация:Актуальность темы статьи обусловлена наличием в сфере информационной безопасности задач, требующих сравнения программ в их различных представлениях, таких, как текстовый ассемблерный код (например, для поиска уязвимостей или подтверждения авторства). В работе представлена метрика близости двух текстов в виде списка строк из символов, являющаяся развитием ее предыдущей версии. Основным результатом текущего исследования (как части главного, направленного на генетическую деэволюцию программ) являются сама метрика, а также ее характеристики и особенности, выявленные с помощью проведенных экспериментов. Метрика представлена в аналитическом виде, программно реализована на языке Python, принимает на вход два списка символьных строк для сравнения и коэффициенты учета позиции ее элементов от начала списка и последовательности символов. Результатом ее вычисления является числовое значение в диапазоне от 0 до 1. Новизна метрики заключается в достаточно точной и чувствительной оценке близости двух текстов независимо от форматов представления данных; текущая версия метрики отличается от предыдущей учетом указанных коэффициентов. Теоретическая значимость заключается в развитии способов сравнения произвольных текстов, представляющих собой список символьных строк, содержащих информацию, последовательно излагаемую согласно определенной логике (что требует учета позиции). Помимо общего назначения сравнительных инструментов такого рода, практическая значимость метрики состоит в возможности определения близости двух программ, имеющих бинарное представление машинного кода, предварительно преобразованное в текстовое представление ассемблерного кода.
Abstract:The paper is relevant due to the tasks in the field of information security that require comparison of programs in their different representations, for example, in text assembly code (e.g., for vulnerability search or authorship verification). The paper presents a proximity metric for two texts in the form of a character string list, which is a development of its previous author's version. The main result of the current study (as a part of the main study aimed at genetic de-evolution of programs) is the metric itself, as well as its characteristics and peculiarities revealed through experiments. The paper presents the metric in analytical form implemented in Python. The metric takes at the input two lists of character lines for comparison, and the coefficients of taking into account the element position from the beginning of the list and the character sequence. The calculation result is a numeric value in the range from 0 to 1. Metric's novelty is in a sufficiently accurate and sensitive assessment of two texts' proximity regardless of data representation formats. The current metric version differs from the previous one by taking into account the mentioned coefficients. Theoretical significance lies in the development of comparing methods for arbitrary texts that are a list of character lines containing information, which appears sequentially according to a certain logic (requires position consideration). Besides the general purpose of comparative tools like this, the metric is practically relevant due to the possibility of determining the proximity of two programs. These programs have a binary representation of the machine code. It is pre-transformed into a textual representation of an assembly code.
Авторы: Буйневич М.В. (bmv1958@yandex.ru) - Санкт-Петербургский университет Государственной противопожарной службы МЧС России (профессор, профессор кафедры), Санкт-Петербург, Россия, доктор технических наук, Израилов К.Е. (konstantin.izrailov@mail.ru) - Санкт-Петербургский Федеральный исследовательский центр РАН (доцент, старший научный сотрудник), Санкт-Петербург, Россия, кандидат технических наук | |
Ключевые слова: информационная безопасность, метрика близости, программное обеспечение, поиск уязвимостей, базовый принцип, генетическая деэволюция |
|
Keywords: infosecurity, proximity metric, the software, vulnerabilities detection, basic principle, genetic de-evolution |
|
Благодарности: Работа выполнена при частичной финансовой поддержке бюджетной темы FFZF-2025-0016 | |
Количество просмотров: 2088 |
Статья в формате PDF |
Авторская метрика оценки близости программ: приложение для поиска уязвимостей с помощью генетической деэволюции
DOI: 10.15827/0236-235X.149.089-099
Дата подачи статьи: 10.06.2024
Дата после доработки: 25.06.2024
Дата принятия к публикации: 28.06.2024
УДК: 004.4
Группа специальностей ВАК: 2.3.6.
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 089-099 ]
Введение. Небезопасность ПО является существенной угрозой для сферы информационных технологий. Для ее минимизации (а в идеале ликвидации) требуется решение большого количества частных, но важных научно-практических задач. Одной из таких задач является необходимость сравнения двух программ по некоторой шкале – нахождение их близости (или степени подобия). Для этого требуется создание соответствующей метрики близости (далее – метрика) как некоторого расстояния в условном пространстве программного кода [1]. Актуальность задачи определяется способами применения и областями приложения ее решений. Во-первых, близость машинного кода используемой программы и содержащегося в базе вредоносного ПО позволяет оценивать небезопасность первой (например, с применением частотного распределения байтов или нечетких хэшей [2]). Однако у данного способа обнару- жения вредоносного ПО имеется ряд проблем, связанных с существенной зависимостью точной последовательности байтов инструкций от множества факторов, включая даже ключи компиляции исходного кода программ. Применение же злоумышленником техник обфускации [3], предназначенных для существенного изменения кода программы без потери ее функциональности, вообще сделает бесполезной попытку поиска машинного кода исследуемой программы по базе вредоносного ПО. Во-вторых, применение степени близости программ заключается в поиске дубликатов кода, содержащих и уязвимости [4]. Для этого, в частности, может применяться анализ последовательностей инструкций машинного кода с построением графа потока управления [5]. В-третьих, расширение способа поиска дубликатов путем учета более сложных синтаксических и семантических подобий даст возможность определения авторства программы как для всего исходного кода, так и для его частей [6]. Предполагаемым применением решения задачи является ее использование в исследованиях [7, 8], направленных на получение более ранних и высокоуровневых представлений программы (например, исходного кода, алгоритмов и архитектуры) по ее низкоуровневым представлениям (например, по машинному коду). Для этого предлагается применять так называемый генетический реверс-инжиниринг, состоящий из типовых генетических деэволюций ближайших представлений программы [7, 8]. Данный подход является развитием генетических алгоритмов, представляющих собой один из способов решения оптимизационной задачи в виде максимизации (или минимизации) некоторой функции путем итеративного подбора ее аргументов, которыми в данном случае определяют некоторый экземпляр исходного кода. Одно из центральных вычислений в генетическом алгоритме – функция приспособленности, которая заключается во взаимной близости двух программ в одном представлении (например, двух экземпляров машинного кода) – то есть метрику. Она и является искомым решением задачи и предметом настоящего научного исследования. Обзор исследований Приведем обзор научных публикаций, в которых предлагаются различные способы сравнения и оценки близости массивных символьных сущностей (данных), не ограничиваясь только выполняемыми программами, их исходным и машинным кодами. Классической мерой сходства двух множеств считается индекс Жаккара, вычисляемый как отношение мощностей (то есть размеров) пересечения множеств к их объединению [9]; впрочем, для формулы индекса есть и другие вариации. Так, для идентичных множеств индекс равен 1, а для содержащих абсолютно разные элементы – 0. Другим подходом к оценке близости элементов множеств является их кластеризация различными алгоритмами (например, k-сред- них, семейство FOREL и др.). Соответственно, элементы одного кластера считаются близкими по некоторым признакам [10]. Оценивание близости программ к случайным последовательностям байт позволяет иден- тифицировать данные как зашифрованные. Для этого, помимо вычисления энтропии дан- ных, предлагается применять вейвлет-преобразования. Близость машинного кода программ для процессорных платформ x86, ARM и MIPS в исследовании [11] оценивается через семантику машинных инструкций, обрабатываемых в процессе выполнения или эмуляции. В работе [12] оценивается близость текстов, представленных в виде структурированных документов, с применением смыслового анализатора. Для этого, в частности, выделяются основные понятия в тексте и их онтологические связи, задаются параметры анализа (сила и вес связи), проверяется совпадение терминологий сравниваемых документов, строится семантическая сеть документов и оценивается их соответствующая (семантическая) близость. Уже классикой считается оценка близости документов на основании их тематической сепарации с применением кластеризации. Описание различных представлений матриц близости на основе пространственной, теоретико-множественной и графовой моделей, а так- же их объединения дано в работе [13]. В качестве основного применения моделей указывается анализ социологических данных. Исследование [14] посвящено поиску дубликатов графов. Для этого предлагается оригинальный алгоритм, основанный на индексации графов, а также на различных мерах их схожести. Как показал краткий обзор опубликованных результатов научных исследований, все они или являются слишком общими и прогнозируемо имеющими низкую чувствительность для сравнения программ (например, применение индекса Жаккара или тематическая сепарация), или же, наоборот, учитывают частные аспекты данных и обладают слабой инвариантностью ко всему множеству процессоров выполнения машинного кода, языков программирования ис- ходного кода и т.п. (например, использование семантики машинных инструкций). Предлагается авторская метрика, гипотетически применимая практически для любых текстовых и бинарных представлений двух программ и при этом обладающая высокой чувствительностью к их различиям. Описание метрики Требования. Основное предназначение метрики, помимо применения для решения различных частных задач информационной безопас- ности, обусловлено необходимостью создания авторского способа генетической деэволюции представлений программ. При этом наиболее классической деэволюцией считается преобразование программы из машинного кода (из бинарного представления) в исходный (в текстовое представление). Последнее может быть проанализировано экспертом по информационной безопасности программы на предмет наличия уязвимостей. Процесс получения текстового представления инструкций машинного кода, то есть ассемблерного кода программы, является хорошо отработанным и реализуемым с помощью специальных утилит – дизассемблеров [15]. Таким образом, метрика может оперировать именно текстами ассемблерного кода. Принцип вычисления метрики для текстов (то есть списков из последовательностей символов) X и Y заключается в оценке близости между всеми строками из X и Y. Затем выбирается максимальное значение близости между каждой строкой из X и всеми строками из Y, которое корректируется с учетом расстояния между позициями этих строк в каждом тексте. Тем самым учитывается не только близость строк, но и их отдаление от одинаковых позиций. После этого производится средняя оценка близости всех строк из текстов. Аналогичным образом принцип вычисления метрики применяется и для двух строк только на основании совпадения и нахождения на одинаковых позициях пар символов. При этом близость дополнительно корректируется с учетом дальности расположения символов и строк от начала их последовательностей и текстов. Влияние дальности определяется соответствующими коэффициентами, учитываемыми метрикой. Отсутствие сравниваемой строки в одном из списков, как и отсутствие сравниваемого символа в одной из последовательностей, может трактоваться как их нахождение на большом расстоянии, равном максимальному размеру одного из списков и максимальной длине одной из строк соответственно. Для удобства интерпретации значения метрики целесообразно отнормировать его к диапазону [0,1], например, путем суммирования всех близостей пар строк из X и У и их деления на количество строк в списке. Естественно, близость строк должна нормироваться к такому же диапазону. В этом случае при полном несовпадении строк из X и Y вплоть до отсутствия общих символов их попарные оценки близостей будут равны 0, что при суммировании даст значение метрики, также равное 0. Для обратной ситуации, когда все строки в X и Y полностью совпадают и находятся на тождественных позициях, попарные близости дадут значение 1, а их сумма будет равна размеру списков, на который и необходимо будет поделить итоговый результат для его нормировки. Приведенный принцип может считаться базовым, поскольку он отражает суть вычисления метрики и может использоваться для ее качественного сравнения с аналогами. Аналитическая модель. Для формализации метрики предлагается аналитическая модель ее вычисления, соответствующая описанному принципу. Основная формула близости двух строк:
где Таким образом, метрика близости двух строк вычисляется как сумма частных метрик максимальных близостей символа 1-й строки и всех символов 2-й строки (такое усложнение расчета обусловлено тем, что некоторый символ в 1-й строке может присутствовать в нескольких позициях 2-й строки и необходимо выбрать наиболее близкий). Указанная частная метрика близости двух символов определяется следующим образом:
где Таким образом, если символы в i1-й позиции 1-й строки и i2-й позиции 2-й строки различны, то метрика будет минимальной – равной 0; а, например, если в одинаковых позициях (то есть i1 = i2) находится один и тот же символ, то расстояние между ними равно 0 (
где
где В случае строк единичной длины (length = 1) согласно формуле (4) было бы деление на 0, и во избежание такой ситуации добавлено дополнительное условие, определяющее для таких строк отсутствие влияния расстояния на метрику (pSymbolDist = 0). Если дополнительная коррек- тировка близости отсутствует (kString = 0), кор- ректировка расстояния между позициями символов также будет отсутствовать (pSymbolDist = 0). Аналогична формула близости двух текстов (вычисляемая через близость их символов):
где
где
где str1 и str2 – строки в текстах txt1 и txt2, расположенные на позициях i1 и i2. Согласно базовому принципу, формулы для вычисления метрики близости текстов практически полностью идентичны формулам метрики близости строк (1)–(7) с тем дополнением, что первые в своем расчете используют вторые через формулу (1) как дополнительный параметр, способный ослаблять основную метрику.
Согласно тепловой карте и значениям Эксперимент Для демонстрации работоспособности и применимости предлагаемой метрики был проведен соответствующий эксперимент. Ее первая версия (далее – метрика_1), не учитывающая удаленность символов и строк от начала последовательностей и списков, уже была базово протестирована. В данном исследовании основные тестируемые аспекты были расширены для оценивания именно ее новой версии (далее – метрика_2). Ранее значение метрики_1 сопоставлялось с индексом Жаккарда и показало ее преимущество над классическим инструментом сравнения множеств. Сравним метрику_2 с метрикой_1, что позволит увидеть ее новизну, особенности и преимущества. Все тесты были поделены на четыре группы. Поскольку алгоритмы вычисления близости строк алгоритмически подобны таким же алгоритмам для близости текстов, тесты будут приведены только для первых – они полностью соответствуют результатам тестирования вторых. Вводимый коэффициент дополнительной корректировки близости строк (kString) соответствовал незначительному влиянию позиции символов относительно начала строки (равнялся 0.1), а значение коэффициента дополнительной корректировки текстов (kText) не учитывалось (равнялось 0.0). Рассмотрим результаты, полученные при прохождении метриками всех четырех групп тестов. Группа 1. Отсутствие одного символа в строке (или строки в тексте). В данной группе тестов производится вычисление двух метрик – ранней базовой и текущей расширенной при сравнении строки «abcd» с набором строк, составленных из 1-й строки путем замены ее символов на «_». Количество всех таких комбинаций равно 16. Результаты тестирования представлены в таблице 2. Таблица 2 Результаты вычисления метрики_1 и метрики_2 для группы тестов 1 (при сравнении с «abcd») Table 2 Results of metrica_1 and metrica_2 calculation for test group 1 (when compared with “abcd”)
Анализ полученных результатов позволяет сделать следующие выводы. Во-первых, значения метрик достаточно кор- ректно отображают близость строк, поскольку тесты с бо́льшим номером (соответствующим, в том числе и степени изменения первоначальной строки) имеют существенные отличия от строки «abcd». Во-вторых, значения метрик идентичны, что вполне закономерно, поскольку в строках все символы или совпадают и находятся в оди- наковых позициях, или отсутствуют (то есть заменены на «_»), что не требует учета коэффициента корректировки kString. Группа 2. Присутствие одного символа в строке (или строки в тексте) в разных позициях. В данной группе тестов производится вычисление метрик при сравнении 1-й строки «abcd» с набором строк, составленных из одного символа 1-й строки на разных позициях при заполнении остальных позиций символом «_». Количество таких комбинаций равно 16. Результаты тестирования представлены в таблице 3. Таблица 3 Результаты вычисления метрики_1 и метрики_2 для группы тестов 2 (при сравнении с «abcd») Table 3 Results of metrica_1 and metrica_2 calculation for test group 2 (when compared with “abcd”)
Анализ полученных результатов позволяет сделать следующие выводы. Во-первых, значения метрик достаточно корректно отображают близость строк, поскольку перемещение символа из 1-й строки (то есть кроме заполнителя «_») от корректной позиции к удаленным приводит к существенному уменьшению близости строк, что для метрики_1 соответствует значениям 0.25, 0.1875, 0.1250 и 0.0625. Во-вторых, значения метрики_2 незначительно отличаются от метрики_1 именно из-за учета позиции символа 2-й строки от ее начала. Так, смещение символа «a» вправо на 1 позицию дает значение 0.1867 вместо 0.1875, аналогичное смещение «b» – 0.1852, а «c» – 0.1836. Группа 3. Комбинации символов строк (или строк текста). В данной группе тестов производится вычисление метрик при сравнении 1-й строки «abcd» с набором строк, составленных из всех комбинаций ее символов (то есть без их дублирования и использования заполнителя «_»). Количество таких комбинаций равно 24, а их порядок такой, что вначале перебирается 4-й символ, а затем 3-й, 2-й и 1-й. Результаты тестирования представлены в таблице 4.
Анализ полученных результатов позволяет сделать следующие выводы. Таблица 4 Результаты вычисления метрики_1 и метрики_2 для группы тестов 3 (при сравнении с «abcd») Table 4 Results of metrica_1 and metrica_2 calculation for test group 3 (when compared with “abcd”)
Во-первых, метрики достаточно адекватно учитывают близость строк, что индицируется постепенным уменьшением ее значения для последующих комбинаций символов во 2-й строке. Во-вторых, зависимость между значением метрик и комбинациями символов 2-й строки существенно сложнее, чем простой снижающийся тренд, что также закономерно. Так, 7-й тест («bacd») обладает большей близостью, чем 6-й («adcb»), имеющий совпадение 1-го символа «a» (с 1-й строкой «abcd»). Это можно обосновать интегральностью вычисления метрик, складывающейся из близости всех четырех символов строк. В-третьих, незначительное отличие значений метрики_2 от метрики_1, как и ранее, обосновано учетом позиции символов (точнее их середины). Так, например, перестановка двух ближайших символов во 2-й строке дает одинаковое значение метрики_1 – 0.8750, хотя метрика_2 учитывает их позицию, уменьшая свое значение для более отдаленных: «bacd» – 0.8734 (тест 7), «acbd» – 0.8703 (тест 3), «abdc» – 0.8672 (тест 2). Группа 4. Изменение количества символов строки (или строк текста). В данной группе тестов производится вычисление двух метрик при сравнении 1-й строки «12345» с набором строк, составленных последовательным увеличением ее длины сначала совпадающими символами из 1-й строки, то есть до 5, а затем, добавляя новые символы, до 20. Количество таких комбинаций равно 21, поскольку 1-й тест содержит пустую строку. Итоги тестирования представлены в таблице 5.
Анализ полученных результатов позволяет сделать следующие выводы: – по мере дополнения 2-й строки до 1-й (тесты с 1-го по 6-й) значение метрик линейно растет от 0 до 1 с шагом 0.2, что вполне корректно и точно отражает их близость; – по мере дополнения 2-й строки новыми символами (тесты с 7-го по 21-й) значение метрик снижается (с околологарифмической, но не являющейся таковой, закономерностью), что позволяет с достаточной точностью как отражать совпадение начальной части 2-й строки с 1-й, так и учитывать наличие в ней новых символов, отсутствующих в 1-й; – значения метрик идентичны, что вполне закономерно, поскольку 2-я строка содержит часть символов 1-й строки на корректных позициях, тождественна ей или же дополнена новыми символами. Таблица 5 Результаты вычисления метрики_1 и метрики_2 для группы тестов 4 (при сравнении с «12345») Table 5 Results of metrica_1 and metrica_2 calculation for test group 4 (when compared with “12345”)
Обсуждение результатов Укажем ряд особенностей текущей версии метрики, которые, хотя в ряде случаев и могут считаться недостатками, не являются критичными и позволяют применять ее в интересах генетической деэволюции. Во-первых, вводимые коэффициенты дополнительной корректировки близости (то есть kText и kString) при различных позициях символов (и строк) оказывают не такое существенное вли- яние, как предполагалось изначально (табл. 1). Следовательно, требуется дополнительное исследование. Впрочем, для генетической деэволюции даже незначительный учет дальности символов и строк может иметь существенное значение для решения задачи подбора исходного кода, поскольку оно качественно повлияет на время и успешность селекции. Во-вторых, несмотря на работоспособность метрики и ее применимость в алгоритмах гене- тической деэволюции, она не позволяет в полной мере учесть конкретный формальный синтаксис ассемблерного кода программы, описывая его как список строк. В-третьих, были рассмотрены лишь достаточно общие случаи сравнения текстов и строк, что не позволяет оценивать в полной мере работоспособность метрики для более сложных случаев. Тем не менее такая ситуация в принципе не имеет однозначного решения, что не позволяет требовать его и от метрики. Заключение Результатом исследования стала новая авторская версия метрики близости двух программ, представленных в виде текстов ассемблерного кода программы, которая отличается от предыдущей версии бо́льшей чувствительностью к различиям как в текстовых строках, так и в их символах (путем учета позиции конструкций относительно начала). Аналитическая запись метрики, а также ряд преимуществ (например, инвариантность к синтаксису текстов, оценочная шкала на отрезке [0 …1] и др.) позволяют применять ее как часть комплексных математических инструментов без дополнительных доработок. Проведенные над метрикой эксперименты говорят не только о ее работоспособности в интересах генетической деэволюции, но и об общей востребованности в сфере информационных технологий и их безопасности. Продолжением исследования должны стать устранение указанных недостатков метрики, а также синтез ее следующей версии, еще более инвариантной к сравниваемым представлениям данных за счет использования формальных синтаксисов этих представлений, передаваемых в метрику как один из параметров. Список литературы 1. Гусева Н.И. Пространства над алгебрами с евклидовой метрикой // Итоги науки и техники. Сер. Современная математика и ее приложения. Тематические обзоры. 2020. Т. 179. С. 10–15. doi: 10.36535/0233-6723-2020-179-10-15. 2. Израилов К.Е., Гололобов Н.В., Краскин Г.А. Метод анализа вредоносного программного обеспечения на базе Fuzzy Hash // Информатизация и связь. 2019. № 2. C. 36–44. 3. Luo L., Ming J., Wu D., Liu P., Zhu S. Semantics-based obfuscation-resilient binary code sim-ilarity comparison with applications to software and algorithm plagiarism detection. IEEE Transactions on Software Engineering, 2017, 4. Ашуров А.Я. Реализация переполнения стекового буфера программ и методы противодействия уязвимости // Системы синхронизации, формирования и обработки сигналов. 2023. Т. 14. № 1. C. 10–17. 5. Liu S., Yu C., Wang L., Wang C., Xu G. FF-BCSD: A Binary code similarity detection method based on feature fusion. Proc. ICCC, 2023, pp. 757–761. doi: 10.1109/ICCC59590.2023.10507703. 6. Ghosh K., Otero D. Discovering authorship of vulnerabilities in open source software. Proc. APSEC Workshops, 2021, pp. 41–46. doi: 10.1109/APSECW53869.2021.00018. 7. Израилов К.Е. Концепция генетической деэволюции представлений программы. Ч. 1 // Вопросы кибербезопасности. 2024. № 1. C. 61–66. doi: 10.21681/2311-3456-2024-1-61-66. 8. Израилов К.Е. Концепция генетической деэволюции представлений программы. Ч. 2 // Вопросы кибербезопасности. 2024. № 2. C. 81–86. doi: 10.21681/2311-3456-2024-2-81-86. 9. Fletcher S., Islam M.Z. Comparing sets of patterns with the Jaccard index. Australasian J. of Information Systems, 2018, vol. 22. doi: 10.3127/ajis.v22i0.1538. 10. Татарникова Т.М., Богданов П.Ю. Построение психологического портрета человека с применением технологий обработки естественного языка // Науч.-технич. вестн. информационных технологий, механики и оптики. 2021. Т. 21. № 1. С. 85–91. doi: 10.17586/2226-1494-2021-21-1-85-91. 11. Hu Y., Wang H., Zhang Y., Li B., Gu D. A semantics-based hybrid approach on binary code similarity comparison. IEEE Transactions on Software Engineering, 2021, vol. 47, no. 6, pp. 1241–1258. doi: 10.1109/TSE.2019.2918326. 12. Усачев Ю.Е. Вычисление степени семантической близости документов // XXI век: итоги прошлого и проблемы настоящего плюс. 2016. № 6. C. 96–103. 13. Ермолаев А.В. Методы анализа и визуализации структуры данных о близости // Социология: 4М. 2005. № 21. C. 150–171. 14. Naveena P., Rao P.K.S. Detection of near duplicates over graph datasets using pruning. Proc. INDISCON, 2020, pp. 309–313. doi: 10.1109/INDISCON50162.2020.00068. 15. Аникин И.В., Исяндавлетова Я.М. Реверсивный анализ вредоносного программного обеспечения Raccoon Stealer // Инженерный вестник Дона. 2023. № 4. C 238–251. References 1. Guseva, N.I. (2020) ‘Spaces over algebras with Euclidean metric’, Progress in Sci. and Tech. Ser. Contemporary Mathematics and Its Applications. Thematic Surveys, 179, pp. 10–15 (in Russ.). doi: 10.36535/0233-6723-2020-179-10-15. 2. Izrailov, K.E., Gololobov, N.V., Kraskin, G.A. (2019) ‘Method of malware analysis based on Fuzzy Hash’, Informatization and Communication, (2), pp. 36–44 (in Russ.). 3. Luo, L., Ming, J., Wu, D., Liu, P., Zhu, S. (2017) ‘Semantics-based obfuscation-resilient binary code similarity comparison with applications to software and algorithm plagiarism detection’, IEEE Transactions on Software Engineering, 43(12), pp. 1157–1177. doi: 10.1109/TSE.2017.2655046. 4. Ashurov, A.Ya. (2023) ‘Stack buffer overflow of programs implementation and methods of coun-teracting the vulnerability’, Systems of Signal Synchronization, Generating and Processing, 14(1), pp. 10–17 (in Russ.). 5. Liu, S., Yu, C., Wang, L., Wang, C., Xu, G. (2023) ‘FF-BCSD: A Binary code similarity detection method based on feature fusion’, Proc. ICCC, pp. 757–761. doi: 10.1109/ICCC59590.2023.10507703. 6. Ghosh, K., Otero, D. (2021) ‘Discovering authorship of vulnerabilities in open source software’, Proc. APSEC Workshops, pp. 41–46. doi: 10.1109/APSECW53869.2021.00018. 7. Izrailov, K.E. (2024) ‘The genetic de-evolution concept of program representations. Pt 1’, Cybersecurity Issues, (1), pp. 61–66 (in Russ.). doi: 10.21681/2311-3456-2024-1-61-66. 8. Izrailov, K.E. (2024) ‘The genetic de-evolution concept of program representations. Pt 2’, Cybersecurity Issues, (2), pp. 81–86 (in Russ.). doi: 10.21681/2311-3456-2024-2-81-86. 9. Fletcher, S., Islam, M.Z. (2018) ‘Comparing sets of patterns with the Jaccard index’, Australasian J. of Information Systems, 22. doi: 10.3127/ajis.v22i0.1538. 10. Tatarnikova, T.M., Bogdanov, P.Yu. (2021) ‘Human psyche creation by application of natural language processing technologies’, Sci.Tech. J. Inf. Technol. Mech. Opt., 21(1), pp. 85–91 (in Russ.). doi: 10.17586/2226-1494-2021-21-1-85-91. 11. Hu, Y., Wang, H., Zhang, Y., Li, B., Gu, D. (2021) ‘A semantics-based hybrid approach on binary code similarity comparison’, IEEE Transactions on Software Engineering, 47(6), pp. 1241–1258. doi: 10.1109/TSE.2019.2918326. 12. Usachev, Yu.E. (2016) ‘The calculation of the degree of semantic proximity of documents’, XXI Century: Resumes of the Past and Challenges of the Present Plus, (6), pp. 96–103 (in Russ.). 13. Ermolaev, A.V. (2005) ‘Methods for analyzing and visualizing the structure of proximity data’, Sociology: 4M, (21), pp. 150–171 (in Russ.). 14. Naveena, P., Rao, P.K.S. (2020) ‘Detection of near duplicates over graph datasets using pruning’, Proc. INDISCON, pp. 309–313. doi: 10.1109/INDISCON50162.2020.00068. 15. Anikin, I.V., Isyandavletova, Ya.M. (2023) ‘Reverse analysis of malware Raccoon Stealer’, Ing. J. of Don, (4), pp. 238–251 (in Russ.). |
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=5138&lang=&lang=&like=1 |
Версия для печати |
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 089-099 ] |
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 089-099 ]
Возможно, Вас заинтересуют следующие статьи схожих тематик:Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Комплекс программ для определения параметров электрических дуг трехфазного переменного тока, горящих на горизонтальную поверхность
- Сценарий атаки на автоматизированную систему управления технологическим процессом с учетом уязвимости протокола Modbus TCP
- Программная поддержка построения области реализуемости термодинамических систем
- Синтез систем защиты автоматизированных систем управления от разрушающих программных воздействий
- Программный комплекс для идентификации личности по характеристикам цикла шага
Назад, к списку статей