2019
DOI: 10.18255/1818-1015-2019-3-317-331
|View full text |Cite
|
Sign up to set email alerts
|

On the Automatic Analysis of the Practical Resistance of Obfusting Transformations

Abstract: A method is developed for assessing the practical persistence of obfuscating transformations of programs based on the calculation of the similarity index for the original, obfuscated and deobfuscated programs. Candidates are proposed for similarity indices, which are based on such program characteristics as the control flow graph, symbolic execution time and degree of coverage for symbolic execution. The control flow graph is considered as the basis for building other candidates for program similarity indicato… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
0
0
8

Year Published

2020
2020
2021
2021

Publication Types

Select...
2
1

Relationship

2
1

Authors

Journals

citations
Cited by 3 publications
(8 citation statements)
references
References 24 publications
0
0
0
8
Order By: Relevance
“…В [11] предложена схема нахождения характеристик символьного исполнения, которые предполагается использовать для оценки эффективности обфусцирующих преобразований. В этом разделе кратко описывается эта схема, отмечаются некоторые особенности, связанные с шагами трансляции машинного кода в биткод LLVM, а также описывается упрощенная схема.…”
Section: схемы получения характеристикunclassified
See 4 more Smart Citations
“…В [11] предложена схема нахождения характеристик символьного исполнения, которые предполагается использовать для оценки эффективности обфусцирующих преобразований. В этом разделе кратко описывается эта схема, отмечаются некоторые особенности, связанные с шагами трансляции машинного кода в биткод LLVM, а также описывается упрощенная схема.…”
Section: схемы получения характеристикunclassified
“…В соответствии с моделью [11], программа проходит следующие шаги: 1) компиляция с помощью обфусцирующего компилятора Hikari [16] с различными опциями обфусцирующих преобразований (выбраны 10 различных обфусцирующих преобразований), а также компиляция без применения преобразований; 2) построение графа потока выполнения скомпилированной программы с помощью инструмента mcsema-disass [17]; 3) трансляция полученного на предыдущем шаге представления в биткод LLVM c помощью инструмента mcsema-lift [17]; 4) оптимизация полученного биткода с помощью оптимизатора opt из состава LLVM; 5) символьное исполнение полученных версий биткода с помощью символьного интерпретатора KLEE [18]; 6) обработка полученных характеристик символьного исполнения. Последовательность шагов показана на рис.…”
Section: расширенная схемаunclassified
See 3 more Smart Citations