Найти
Результаты поиска
-
О ФУНКЦИИ ПОХОЖЕСТИ ГРАФИЧЕСКИХ ПРЕДСТАВЛЕНИЙ ИСПОЛНЯЕМЫХ ФАЙЛОВ В МОДЕЛИ ОЦЕНКИ ОБФУСЦИРУЮЩИХ ПРЕОБРАЗОВАНИЙ
П.Д. Борисов , Ю.В. Косолапов264-2732025-07-24Аннотация ▼Обфускация программного кода используется с целью затруднения его анализа в модели, когда аналитик имеет полный доступ к программе. Обычно обфускация делится на криптографически стойкую и эвристически стойкую. В первом случае сложность анализа сопоставима с трудностью решения некоторой известной математической задачи. Во втором случае стойкость обосновывается, как правило, отсутствием известных на момент создания метода обфускации эффективных техник ее анализа. Криптографически стойкая обфускация пока не нашла применения на практике, в то время как эвристически стойкая широко применяется. Ранее авторами была предложена модель оценки эффективности и стойкости эвристических обфусцирующих преобразований, в основе которой лежит применение функции похожести. В настоящей работе с помощью методов машинного обучения строится такая функция похожести на основе сравнения графического представления исполняемых файлов программ. В частности, сравнение выполняется с помощью сверточной сети с четырьмя сверточными слоями, оптимизатором RMSprop, функцией потерь NLLLoss и двумя выходами полносвязного слоя. Предложенная функция применяется в рамках реализации модели оценки эффективности и стойкости обфусцирующих преобразований. Кроме функции похожести, реализация модели также включает: базовый набор обфусцирующих преобразований, предоставляемых обфускатором Hikari; набор последовательностей обфусцирующих преобразований на основе базового набора; тестовое множество программ для обучения моделей, построенное на основе наборов CoreUtils, PolyBench и HashCat; аппроксимацию самой "понятной" версии программы с помощью наименьшей по размеру версии программы (ищется среди версий, полученных с помощью различных опций оптимизации компиляторов GCC, Clang и AOCC); схему деобфускации программ на основе оптимизирующего компилятора из состава LLVM. Результаты экспериментального исследования с реализованной моделью показали, что построенную функцию похожести применять в рамках модели оценки нецелесообразно из-за ее невысокой точности, но возможно ее применение при построении более сложных функций








