Информатика и автоматизация
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Информатика и автоматизация:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Информатика и автоматизация, 2024, выпуск 23, том 3, страницы 684–726
DOI: https://doi.org/10.15622/ia.23.3.3
(Mi trspy1301)
 

Эта публикация цитируется в 1 научной статье (всего в 1 статье)

Информационная безопасность

Способ количественного сравнения обфусцирующих преобразований

П. Д. Борисовa, Ю. В. Косолаповb

a ФГАНУ НИИ "Спецвузавтоматика"
b Институт математики, механики и компьютерных наук им. И.И. Воровича Южного федерального университета (ЮФУ)
Аннотация: В работе рассматривается задача количественного сравнения эффективности и стойкости практически применяемых обфусцирующих преобразований программного кода. Предлагается способ нахождения эффективности и стойкости преобразований путем вычисления «понятности» соответственно обфусцированной и деобфусцированной версий программы. В качестве меры понятности программы предлагается использовать похожесть этой программы на аппроксимацию ее «самой понятной» версии. На основе предложенного способа построена модель оценки эффективности и стойкости, основными элементами которой являются: набор исследуемых обфусцирующих преобразований, функция похожести, способ аппроксимации самой понятной версии программы и деобфускатор. Для реализации этой модели 1) выбраны обфусцирующие преобразования, предоставляемые обфускатором Hikari; 2) методами машинного обучения по статическим характеристикам программ из наборов CoreUtils, PolyBench и HashCat построено 8 функций похожести; 3) в качестве аппроксимации самой понятной версии программы выбрана наименьшая по размеру версия программы, найденная среди версий, полученных с помощью опций оптимизации компиляторов GCC, Clang и AOCC; 4) построена и реализована схема деобфускации программ на основе оптимизирующего компилятора из состава LLVM. В работе экспериментально получены результаты оценки эффективности и стойкости для последовательностей преобразований длины один, два и три. Эти результаты показали согласованность с результатами независимых оценок эффективности и стойкости, полученных другими способами. В частности, получено, что наибольшую эффективность и стойкость демонстрируют последовательности преобразований, начинающиеся с преобразований графа потока управления, а наименьшей стойкостью и эффективностью – как правило, последовательности, не содержащие таких преобразований.
Ключевые слова: обфускация, исполняемый код, эффективность, стойкость, похожесть.
Поступила в редакцию: 26.12.2023
Тип публикации: Статья
УДК: 004.056
Образец цитирования: П. Д. Борисов, Ю. В. Косолапов, “Способ количественного сравнения обфусцирующих преобразований”, Информатика и автоматизация, 23:3 (2024), 684–726
Цитирование в формате AMSBIB
\RBibitem{BorKos24}
\by П.~Д.~Борисов, Ю.~В.~Косолапов
\paper Способ количественного сравнения обфусцирующих преобразований
\jour Информатика и автоматизация
\yr 2024
\vol 23
\issue 3
\pages 684--726
\mathnet{http://mi.mathnet.ru/trspy1301}
\crossref{https://doi.org/10.15622/ia.23.3.3}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/trspy1301
  • https://www.mathnet.ru/rus/trspy/v23/i3/p684
  • Эта публикация цитируется в следующих 1 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Информатика и автоматизация
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2025