Главная страница

Антонов. Функциональное сравнение исполняемых файлов


Скачать 76.5 Kb.
НазваниеФункциональное сравнение исполняемых файлов
Дата07.09.2019
Размер76.5 Kb.
Формат файлаdoc
Имя файлаАнтонов.doc
ТипОбзор
#86205
страница4 из 5
1   2   3   4   5
h(z) ≡ −z log2 z, Ai — i-ая API функция, Pc — число объектов класса c в выборке, из них pc объектов содержат Ai функцию, p = p1 + · · · + pM, l — общее количество объектов.

Кроме информативности каждой API функции стоит также учитывать зависимость между появлением API функций. Действительно, существует ряд функций, встречающихся в комбинации с другими: например, «CreateFile» и «CloseFile». К этой категории стоит также относить функции инициализации приложения, вставляемых компилятором. Вес каждой функции из группы должен быть уменьшен пропорционально размеру группы.

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

,

где Ai, Aji и j API функции, Ci, Cj — классы в которых встречаются функции Ai, Aj соответственно.

Расстояние между файлами может быть определено с учетом количества вызовов API функций следующим образом:

,

(5)

где сi1, сi2 количество вызовов API функции Ai с весом vi, при выполнении первого и второго файла соответственно, vi рассчитывается исходя из выражения:

.

Отдельную сложность составляет получение обучающей выборки для настройки весов API функций. Для этого, например, можно использовать метки антивирусных продуктов для вредоносных объектов.
    1. 1   2   3   4   5


написать администратору сайта