Средства разработки приложений


Методология анализа маскирующих преобразований программ - часть 2


Чем больше метрика усложнения программы, тем сложнее для понимания становится замаскированная программа в силу увеличения числа информационных и управляющих связей.

Для оценки сложности самого маскирующего преобразования вводится оценка OC сложности маскирующего преобразования, которая определяется как требуемая для выполнения данного маскирующего преобразования глубина анализа программы согласно таблице 1.

Требуемая глубина анализа Значение OC
Лексический анализ 0
Синтаксический анализ 1
Семантический анализ 2
Анализ потока управления 3
Консервативный анализ потока данных 4
Полустатический анализ 5
Точный анализ потока данных 6

Таблица 1. Шкала оценки сложности маскирующих преобразований

Для оценки степени различия текстов программ вводится расстояние ?(p1,p2) между текстами программ p1 и p2, которое используется для оценки устойчивости маскирующего преобразования. Введём расстояние ?C между графами потока управления двух процедур, равное минимальному количеству операций удаления и добавления рёбер и дуг, переводящих один граф в граф, изоморфный другому. Аналогично введём расстояние ?D между графами зависимостей по данным двух процедур. Обозначим через ?CD(f1,f2) сумму ?C(f1,f2)+?D(f1,f2). Тогда расстояние ?(p1,p2) вычисляется по формуле

Здесь минимум берётся по всевозможным множествам M, состоящим из пар (f1,f2), где f1 - процедура из программы p1, f2 - процедура из программы p2. Все процедуры f1 и f2 встречаются в M не более одного раза. Через M1 обозначено множество процедур программы p1, отсутствующих в M, а через M2 - множество процедур программы p2, отсутствующих в M. E - это пустой граф.

Такие подготовительные определения позволяют нам определить понятие устойчивости метода маскировки программ по отношению к заданному набору алгоритмов их анализа и основанным на них методам демаскировки программ следующим образом.

Пусть

- это множество маскирующих преобразований и необходимых для их выполнения алгоритмов анализа программ.


Начало  Назад  Вперед



Книжный магазин