- •Реферат по информационной безопасности Методы защиты программных продуктов.
- •Введение
- •Правовые методы защиты программных продуктов и баз данных
- •Патентная защита.
- •Производственный секрет.
- •Лицензионные соглашения
- •Авторское право.
- •Правовое регулирование на информационном рынке
- •Программно-техническая защита программного продукта
- •Методы защиты программных продуктов
- •Выполнение на стороне сервера
- •Водяной знак (software watermark) и отпечаток пальца.
- •Установка подлинности кода (tamper-proofing).
- •Шифрование программного кода.
- •Обфускация, как один из методов защиты программ
- •Процесс обфускации
- •Оценка процесса обфускации
- •Алгоритмы процесса обфускации
- •Алгоритм Колберга ("Collberg`s algorithm").
- •Chenxi Wang`s алгоритм.
- •Виды обфускации
- •Лексическая обфускация
- •Обфускация данных
- •Обфускация управления
- •Превентивная (prevent) обфускация
- •Заключение
- •Список использованных источников
Методы защиты программных продуктов
Выполнение на стороне сервера
Данный метод защиты основан на технологии клиент-сервер, он позволяет предотвратить отсылку кода программы пользователям, которые будут с ней работать, так как сама программа храниться, и выполняется на сервере, а пользователи используя клиентскую часть этой программы, получают результаты ее выполнения (Рисунок 1).
Рисунок 1. Выполнение на стороне сервера.
Клиентскую часть можно распространять бесплатно, это позволит пользователям платить только за использование серверной части.
Часто данный метод защиты используется в различных программах-сценариях, которые располагаются на WEB серверах, и выполняют общие операции, например, контролируют работу других программ (front-end), а также передают им, какие либо данные для обработки.
Недостатком данного метода является то, что он устанавливает зависимость пропускной способности сети и тех данных, с которыми будет работать программа (соответственно работа с мультимедиа данными требует наиболее максимальной пропускной способности сети). Поэтому данный метод наиболее эффективен для простых программ (сценариев), потребность в которых очень большая среди пользователей.
Преимущество такого метода, заключается в том, что злоумышленнику в данном случае нужно будет для начала скомпрометировать сам сервер, только после чего он сможет получить копию требуемой программы.
Данный метод не позволяет защитить программу от нелегального копирования, поэтому после того как ее копия попадет к злоумышленнику, он сможет делать с ней что захочет.
Водяной знак (software watermark) и отпечаток пальца.
Использование водяных знаков, основывается на записи в код программы скрытой информации (кому принадлежат авторские права и т.д.), которая позволяет истинному автору программы доказать то, что она является именно его интеллектуальной собственностью (но обычно использование водяных знаков не ограничивается только этим).
Такая скрытая информация, обозначим ее "W" (которая и называется водяным знаком), должна быть записана в программу "Р", таким образом, чтобы:
"W" было надежно расположено (запрятано) в "Р", и могло быть впоследствии извлечено, без каких либо изменений (повреждений).
"W" не влияло на работу "Р".
"W" несло какую-то определенную информацию, которая позволит доказать, то что ее присутствие в "Р" неслучайное, то есть является результатом преднамеренных действий.
Также для увеличения эффективности водяного знака, его можно записать более чем один раз, в разных местах программы.
Отпечаток пальца (software fingerprint) эта иная технология, так как она кроме записи информации, позволяющей доказать интеллектуальное право собственности на программу, требует записи в каждую копию программы уникального идентификационного кода, присваиваемого каждому покупателю программы, что позволяет в последствии быстро отследить нарушителя авторского права, который, например, будет нелегально перепродавать программу
Недостаток этих методов состоит в том, что у злоумышленника может появиться возможность подвергнуть изменению водяной знак или отпечаток пальца.
