|
Computer system organization
О характеристиках символьного исполнения в задаче оценки качества обфусцирующих преобразований
П. Д. Борисов, Ю. В. Косолапов Южный Федеральный Университет, ул. Мильчакова, 8а, г. Ростов-на-Дону, 344090 Россия
Аннотация:
Обфускация применяется для защиты программ от анализа и обратного проектирования. Несмотря на то, что в настоящее время существуют теоретически стойкие методы обфускации, эти методы пока не могут применяться на практике. В основном это связано либо с затратностью по ресурсам на исполнение обфусцированного кода, либо с ограничением на применение только к конкретному классу программ. С другой стороны, разработано большое количество методов обфускации, которые применяются на практике. Существующие подходы к оценке таких обфусцирующих преобразований в большей степени основаны на статических характеристиках программ. Однако актуальна задача комплексного (учитывающего и динамические характеристики программ) обоснования их эффективности и стойкости. Представляется, что такое обоснование может быть выполнено с помощью методов машинного обучения на основе векторов признаков, описывающих как статические, так и динамические характеристики программ. В настоящей работе такой вектор предлагается строить на основе характеристик пар сравниваемых программ: исходной и обфусцированной, исходной и деобфусцированной, обфусцированной и деобфусцированной. Для получения динамических характеристик программы в работе построена схема, основанная на символьном исполнении. Выбор символьного исполнения обосновывается тем, что такие характеристики могут описать сложность понимания программы при динамическом анализе. В работе предлагается две реализации схемы: расширенная и упрощенная. Расширенная схема приближена к процессу анализа программы аналитиком, так как включает в себя этапы дизассемблирования и трансляции в промежуточный код, в то время как в упрощенной схеме эти этапы исключены. С разработанными схемами проведены эксперименты с целью выявления характеристик символьного исполнения, подходящих для оценки эффективности и стойкости обфускации на основе методов машинного обучения. На основе полученных результатов определен набор подходящих характеристик.
Ключевые слова:
обфускация, символьное исполнение, похожесть программ, понимание программ.
Поступила в редакцию: 20.02.2021 Исправленный вариант: 10.03.2021 Принята в печать: 12.03.2021
Образец цитирования:
П. Д. Борисов, Ю. В. Косолапов, “О характеристиках символьного исполнения в задаче оценки качества обфусцирующих преобразований”, Модел. и анализ информ. систем, 28:1 (2021), 38–51
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais734 https://www.mathnet.ru/rus/mais/v28/i1/p38
|
|