Научная статья на тему 'Защита программного обеспечения методом полиморфной генерации кода'

Защита программного обеспечения методом полиморфной генерации кода Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
186
20
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шудрак М.О., Лубкин И.А.

Рассматривается метод защиты программного кода от исследования и модификаций при помощи полиморфной генерации кода.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE METHOD OF POLYMORPHIC CODE GENERATION IN SOFTWARE PROTECTION

This article describes a method of code protection from reversing engine using polymorphic code generation.

Текст научной работы на тему «Защита программного обеспечения методом полиморфной генерации кода»

Решетневские чтения

A. V. Chernousov, A. D. Golovachev, A. V. Kusovnikov JSC «Academician M. F. Reshetnev «Information Satellite Systems», Russia, Zheleznogorsk

THE RESEARCH OF WALVET MODULATED SIGNALS BAND WIDTH DEPENDANCE ON THE FORMING FUNCTION PARAMETERS

The possibility of Shennon wavelet function usage for modulating of broadband signals is considered. Influence of Shannon wavelet function parameters on spectrum width of a transmittable signal is also researched.

© Черноусов А. В., Головачев А. Д., Кузовников А. В., 2010

УДК 004.056

М. О. Шудрак, И. А. Лубкин

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск

ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МЕТОДОМ ПОЛИМОРФНОЙ ГЕНЕРАЦИИ КОДА

Рассматривается метод защиты программного кода от исследования и модификаций при помощи полиморфной генерации кода.

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

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

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

Такой метод значительно затрудняет анализ кода и полностью исключает автоматизацию процесса взлома программы. Но у этого метода существует и ряд недостатков:

- число версий машинного кода существенно ограничено;

- описание правил преобразования инструкций требует огромных временных затрат разработчика полиморфного генератора.

Приведенные выше недостатки легко устранить, если использовать методы генетического программирования для генерации полиморфного кода. Для этого

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

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

Этап 2. Сравниваются выходные значения каждой инструкции, в случае совпадения осуществляется выход из алгоритма - необходимая инструкция найдена. Если этого не происходит, то переходим к этапу 3.

Этап 3. С помощью методов генетического программирования, таких как селекция, отберем новую популяцию потомков, в 2 раза меньше начальной.

Этап 4. С помощью методов генетического программирования, таких как рекомбинация и мутация, рекомбинируем и получим вторую часть популяции. Перейдем к этапу 2.

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

Библиографическая ссылка

1. Панов А. С. Защита программного обеспечения. Спб. : БХВ-Петербург, 2006.

Методы и средства защиты информации

M. O. Shudrak, I. A. Lubkin Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

THE METHOD OF POLYMORPHIC CODE GENERATION IN SOFTWARE PROTECTION

This article describes a method of code protection from reversing engine using polymorphic code generation.

© mygpaK M. O., ^y6EHH H. A., 2010

УДК 004.724

К. Е. Шудрова

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск

АЛГОРИТМ ВСТРАИВАНИЯ СКРЫТОЙ ИНФОРМАЦИИ В ВИДЕОПОТОК

Рассматривается алгоритм распределения нагрузки «Метка привилегий». Данный алгоритм позволяет встраивать скрытую информацию в поток видео. Выделяются методы обхода защиты данного способа защищенной передачи информации и способы противодействия.

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

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

Алгоритм для пользователя состоит из следующих шагов:

1. Предъявляется аутентификатор (электронный ключ).

2. При удачной аутентификации в программу вводится необходимая секретная информация.

3. Начинается видеоконференция (а в ходе нее отправляется секретная информация).

4. В ходе видеоконференции принимается и расшифровывается информация, полученная от другого участника обмена данными.

5. Конференция завершается.

Для того чтобы получить информацию, пользователю необходимо иметь установленную программу «Метка привилегий»; электронный ключ с аутенти-фикационными данными; веб-камеру и доступ в сеть для организации связи; секретную информацию, если планируется дуплексный сеанс связи, а не просто получение данных.

Безопасность обмена информацией обеспечивается следующими средствами:

- в конференции могут участвовать только пользователи, данные от которых приходят со специальными метками в служебных полях пакетов TCP;

- даже при самостоятельной установке клиента программы нарушителем участие в информационном обмене затруднено тем, что IP-адреса легитимных пользователей задаются администратором в серверной части приложения «Метка привилегий»;

- при попытке доступа в компьютер пользователя у нарушителя возникает проблема, связанная с необходимостью предъявления аппаратного ключа;

- при наличии аппаратного ключа и доступа к программе нарушитель сталкивается с последним рубежом - необходимостью введения пароля;

- если пользователи знают друг друга - видеоконференция позволяет осуществлять аутентификацию по биометрическим данным.

Иными словами, для того чтобы нарушитель перехватил информацию, необходимо:

1) знать о факте передачи скрытой информации в рамках данной конференции;

2) иметь доступ в сеть, в которой циркулирует данная информация (так как сеть может быть локальной без выхода в Интернет, то необходимо иметь физический доступ в организацию);

3) иметь IP-адрес из белого списка администратора;

4) установить клиентское приложение «Метка привилегий»;

5) получить аппаратный ключ для аутентификации;

6) знать пароль;

7) в случае обмена информации с заведомо известным лицом придется подделывать сходство внешности и голоса.

Конечно, возможен и другой вариант - пользователь пытается изменить настройки серверной части приложения. Для этого необходимо иметь аппарат -

i Надоели баннеры? Вы всегда можете отключить рекламу.