А. А. «Защита программного обеспечения с использованием водяных знаков»

Вид материалаДокументы
Подобный материал:
Рогожный А.А. «Защита программного обеспечения с использованием водяных знаков», студента гр. 951004 ФКСиС


Объём работы составляет 47 страниц, использовано 14 источников литературы.

Ключевые слова: ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, АВТОРСКОЕ ПРАВО, ОБРАТНОЕ ПРОЕКТИРОВАНИЕ, ВОДЯНЫЕ ЗНАКИ, АВТОКОРРЕЛЯЦИОННАЯ ХАРАКТЕРИСТИКА.

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

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

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

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

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

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

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

Выделяют три основных категории атак на современное программное обеспечение[1]: нарушение авторских прав на программное обеспечение, преднамеренное обратное проектирование и фальсификация программного обеспечения.

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

Компьютерное пиратство — воровство программного обеспечения либо путем незаконного копирования подлинных программ, либо с помощью подделки и распространения имитированных и неавторизованных версий программного обеспечения. Компьютерное пиратство также имеет место, когда кто-либо делает больше копий законно приобретенного программного обеспечения, чем предусмотрено условиями лицензии, или, например, одалживает свою копию программы кому-либо еще. Нелегальное использование или воровство программного обеспечения, незаконное копирование и перепродажа – индустрия с годовым оборотом в 12 миллионов долларов. Только в США результатами воровства программного обеспечения стали потери 130.000 рабочих мест,5.3 млрд. долларов в заработной плате и около 1 млрд. долларов в налогах. Количество нелегальных копий продуктов ведущих форм достигает от 30% до 98%[2] в зависимости от региона и страны. Такое положение дел – главная головная боль для всех, кто занимается продажей программного обеспечения.

Многие создатели программного обеспечения беспокоятся, что их продукты могут быть подвержены обратному проектированию, то есть из программного обеспечения могут извлекаться наиболее ценные модули или части исходного кода. Уже зафиксированы несколько судебных разбирательств, в ходе которых рассматривались случаи использования значительных участков программного кода продуктов, созданных конкурентами. Такого вида угрозы беспокоят всё больше и больше, учитывая, что множество программ распространяются не в бинарном виде, а в форматах, которые легко поддаются декомпиляции. Наиболее яркими примерами можно считать форматы классов Java и ANDF[1].

Родственной опасностью является фальсификация программного обеспечения. Многие мобильные клиенты и приложения электронной коммерции по своей структуре должны содержать ключи шифрования или другую секретную информацию. Злоумышленники, способные извлечь, изменить или как-то иным образом испортить её могут нанести колоссальные потери владельцу интеллектуальной собственности.

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

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

В ходе работы проведён анализ существующих методов защиты программного обеспечения. Проанализированы особенности применения систем водяных знаков для обеспечения авторского права на программные продукты.

Показано, что для внесения водяных знаков можно достаточно эффективно использовать статистические свойства исполняемого кода. Проведён анализ возможности применения различных статистических характеристик для внесения водяных знаков.

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

Разработано программное средство внесения водяных знаков в исполняемые файлы формата Portable Executable операционной системы Windows.

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