Применение расширений архитектуры x86 в защите программного кода

Предложен новый подход к защите программного кода от таких инструментов обратной разработки, как декомпиляторы и инструменты символьного исполнения программ. В рамках данного подхода разработан метод запутывания констант, основанный на использовании набора расширений AES-NI процессорной архитектуры...

Full description

Bibliographic Details
Published in:Прикладная дискретная математика. Приложение № 14. С. 138-140
Main Author: Лебедев, Роман Константинович
Other Authors: Корякин, Илья Алексеевич
Format: Article
Language:Russian
Subjects:
Online Access:http://vital.lib.tsu.ru/vital/access/manager/Repository/koha:000719743
LEADER 02988nab a2200325 c 4500
001 koha000719743
005 20241001164303.0
007 cr |
008 211013|2021 ru s c rus d
024 7 |a 10.17223/2226308X/14/30  |2 doi 
035 |a koha000719743 
040 |a RU-ToGU  |b rus  |c RU-ToGU 
100 1 |a Лебедев, Роман Константинович 
245 1 0 |a Применение расширений архитектуры x86 в защите программного кода  |c Р. К. Лебедев, И. А. Корякин 
336 |a Текст 
337 |a электронный 
504 |a Библиогр.: 10 назв. 
520 3 |a Предложен новый подход к защите программного кода от таких инструментов обратной разработки, как декомпиляторы и инструменты символьного исполнения программ. В рамках данного подхода разработан метод запутывания констант, основанный на использовании набора расширений AES-NI процессорной архитектуры x86. Метод реализован для компилятора Clang при помощи инфраструктуры LLVM и протестирован на таких инструментах обратной разработки, как IDA, Ghidra и angr. A new approach is proposed to protect the program code against reverse engineering tools, such as decompilers and symbolic execution tools. The approach is based on the usage of uncommon x86 processor instructions that could be implemented incorrectly in the aforementioned tools. Existing approaches to this problem are also considered, and the relative performance advantage of the proposed approach is noted. A method for numeric constants obfuscation, following this approach, is developed with the usage of AES-NI extension for the x86 architecture and its AESENC instruction in particular. This method is implemented for Clang compiler with the help of LLVM Intermediate Representation and tested against reverse engineering tools, such as IDA and Ghidra decompilers and angr symbolic execution tool. 
653 |a защита программного кода 
653 |a обратная разработка 
653 |a декомпиляция 
653 |a символьное исполнение 
653 |a архитектура процессора 
655 4 |a статьи в журналах 
700 1 |a Корякин, Илья Алексеевич 
773 0 |t Прикладная дискретная математика. Приложение  |d 2021  |g  № 14. С. 138-140  |x 2226-308X  |w to000620992 
852 4 |a RU-ToGU 
856 4 |u http://vital.lib.tsu.ru/vital/access/manager/Repository/koha:000719743 
908 |a статья 
999 |c 719743  |d 719743