Метод и средства защиты исполняемого программного кода от динамического и статического анализа


СРЕДСТВА ЗАЩИТЫ ИСПОЛНЯЕМОГО КОДА ОТ ДИНАМИЧЕСКОГО АНАЛИЗА С ИСПОЛЬЗОВАНИЕМ ПЛАТФОРМЕННО ЗАВИСИМЫХ ПОДХОДОВ


Download 482 Kb.
bet13/20
Sana18.06.2023
Hajmi482 Kb.
#1555637
TuriРеферат
1   ...   9   10   11   12   13   14   15   16   ...   20
Bog'liq
Аранов, Владислав Юрьевич

СРЕДСТВА ЗАЩИТЫ ИСПОЛНЯЕМОГО КОДА ОТ ДИНАМИЧЕСКОГО АНАЛИЗА С ИСПОЛЬЗОВАНИЕМ ПЛАТФОРМЕННО ЗАВИСИМЫХ ПОДХОДОВ

  1. Средства противодействия статическому анализу исполняемого кода

Защита х86 ассемблерного кода осуществляется при генерации кода целевой платформы (х86) из кода в формате промежуточного представления LLVM.
Для генерации х86 кода используется кодогенератор, входящий в состав LLVM. Процесс кодогенерации представляет собой несколько проходов по графу потока управления (control flow graph, CFG) программы с заменой команд промежуточного представления на команды х86. Под проходом понимается выполнение основной процедуры экземпляра класса, являющегося наследником класса LLVM Pass. Запуском проходов управляет LLVM Pass Manager.
Для осуществления защиты х86 ассемблерного кода кодогенератор LLVM был дополнен тремя проходами. Первый проход вставляет мусорные инструкции, второй проход вставляет инструкции для метаморфирования кода и третий проход вносит в код полиморфизм. Далее в этой главе представлено подробное описание всех трёх проходов.

      1. Вставка мусорного х86 кода

При вставке мусорного х86 кода происходит запутывание кода, а именно, преобразование исходного текста или исполняемого кода программы в вид, сохраняющий ее функциональность, но затрудняющий анализ, понимание алгоритмов работы и модификацию при декомпиляции. Таким образом, данные инструкции «мусорного» кода позволяют решить следующие задачи:

  • Вывод из строя автоматов-детекторов.

  • Борьба со статистическими методами обнаружения: мусор состоит из последовательностей команд, которые встречаются в “легальных” программах.

  • Увеличивается сложность изучения кода при трассировке файла.

  • Увеличение элемента случайности в расшифровщике. С «мусором» появляются новые варианты компоновки кода. При этом вставка таких команд имеет так же огромное влияние на размер кода.

Рассмотрим группы «мусорных» инструкций х8б, используемые в нашем протекторе.
1) Зеркальные команды. Последовательное использование данных команд аннулирует изменения, вносимые ими.

Download 482 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   20




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling