Файл: Классификация систем защиты программного обеспечения..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 16.05.2023

Просмотров: 62

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Существуют следующие виды защиты программного обеспечения:

  1. Локальная программная защита – требование ввода серийного номера (ключа) при установке/запуске программного обеспечения. История этого метода началась тогда, когда приложения распространялись только на физических носителях (компакт–дисках). На коробке с диском был напечатан серийный номер, подходящий только к данной копии программы.
  2. Сетевая программная защита делится на локальную – сканирование сети исключает одновременный запуск двух программ с одним регистрационным ключом на двух персональных компьютерах в пределах одной локальной сети и глобальную – если программа работает с каким–то централизованным сервером и без него бесполезна (например, серверы обновлений антивирусов, серверы обновления правовых программ, таких как Гарант, Консультант Плюс, антивирус Касперского).
  3. Защита при помощи компакт–дисков – программа может требовать оригинальный компакт–диск. Как правило, этот способ защиты применяется для защиты программ, записанных на этом же компакт–диске, являющимся одновременно ключевым;
  4. Защита при помощи электронных ключей – вставленный в один из портов компьютера (с интерфейсом USB, LPT или COM) носитель, содержащий ключевые данные, называемые также лицензией, записанные в него разработчиком;
  5. Привязка к параметрам компьютера и активация – привязка к информации о пользователе/серийным номерам компонентов его компьютера и последующая активация программного обеспечения в настоящий момент используется достаточно широко. В процессе установки программное обеспечение подсчитывает код активации – контрольное значение, однозначно соответствующее установленным комплектующим компьютера и параметрам установленной программы. Это значение передается разработчику программы.
  6. Защита программ от копирования путём переноса их в сеть Интернет – стремительно набирающий популярность метод защиты, который заключается в предоставление функционала программ (всего или части), как сервиса онлайн, в сети Интернет. При этом код программы расположен и исполняется на сервере, доступном в глобальной сети.
  7. Защита кода от анализа – средства защиты непосредственно кода приложения от анализа и использования в других программах. В частности, применяются обфускаторы – программы для запутывания кода с целью защиты от его анализа, модификации и несанкционированного использования.
  8. Защита программного обеспечения на мобильных платформах. Способы защиты программного обеспечения для мобильных платформ от копирования обычно основываются на невозможности рядового пользователя считывать/изменять хранящиеся в постоянном запоминающем устройстве (ПЗУ) аппарата данные [9].

Согласно ГК РФ, программы ЭВМ и базы данных приравнивается к литературным произведениям, и их защита регулируется авторским законодательством, однако, в контексте защиты программного обеспечения как объекта интеллектуальной собственности, к программам ЭВМ применима как лицензия, так и патент, так как зачастую программы ЭВМ имеют инновационный характер и сложный технологический процесс разработки, поэтому авторское законодательство, порой, не может с учётом всех аспектов обеспечить должный уровень правовой защиты данным результатам интеллектуальной деятельности [1].

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

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

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

С распространением персональных компьютеров в быту всё популярнее стало переводить данные из аналогового или физического вида (компакт–диски, трансляции по телевидению, и др.) в цифровой формат (так называемый риппинг). В совокупности с большим распространением Интернета и файлообменных сетей это привело к увеличению объёмов нелегального распространения результатов интеллектуальной деятельности до небывалых размеров, ситуация требовала внедрение новых мер по защите авторских прав [15].


2.2. Системы и механизмы защиты программного обеспечения

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

Простая проверка поврежденного носителя

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

Достоинства: простота и быстрота реализации.

Недостатки: требуется аппаратное участие со стороны завода–производителя, достаточно зыбка и в принципе легко взламываема.

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

Ограничение числа установок программы

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

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


Недостатки: требуется аппаратное участие со стороны завода–производителя; защита не может быть применена самостоятельно (без проверки носителя на предмет наличия дефекта поверхности) [7].

Ограничение числа запусков программы

Позволяет ограничить число запусков программы. При каждом запуске программы «вычитывается» значение количества оставшихся запусков.

Достоинства: обладает хорошим рекламным свойством.

Недостатки: для взлома достаточно определить место в системе (файл или системный реестр), куда заносится информация о количестве оставшихся запусков.

Контрольные вопросы

Защищает выполняемые модули программы от работы в несанкционированных условиях. Как правило, срабатывает по истечении определенного срока со дня применения. Пользователю задается контрольный вопрос (вопросы), требующий наличия у него лицензионной версии программного продукта, например о надписях на поверхности компакт–диска, или слова из прилагаемой к программному обеспечению инструкции. Таким образом, может быть обеспечена привязка к поверхности компакт–диска, коробке продукта или руководству пользователя. Основной смысл здесь состоит в следующем: предположим, что потенциальному взломщику удалось запустить программу несанкционированно, тираж пиратских копий им уже подготовлен и почти распродан, и тут оказывается, что программа требует ввода третьего слова с пятнадцатой строки на последней странице справочного руководства.

Достоинства: механизм замедленного срабатывания, при удачном рассредоточении запросов по выполняемому коду защита трудновзламываема.

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

Временные (умирающие) версии

Защищает выполняемые модули программы от работы в несанкционированных условиях. Срабатывает по дате или по количеству запусков. Программа попросту перестает работать начиная, например, с 2000 года. Применяется в основном для создания временных, демонстрационных, так называемых «умирающих» (trial) версий. Возможно применение другого варианта, например программа перестает работать под управлением операционных систем, чьи системные файлы обновлялись позднее 2000 года (например, system.ini, win.ini, control.ini ...).

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


Недостатки: первый вариант попросту можно обойти, изменив системную дату, хотя это и несколько неудобно для пользователя [16].

Версии, работающие с ограничениями

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

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

Недостатки: при переустановке программного обеспечения компьютера потребуется повторная перерегистрация копии программы. Кроме того, в случае с ограниченными функциями тем не менее программа в принципе работает, и это может устроить некоторых пользователей [13].

Анализ поверхности поврежденного носителя

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

Достоинства: защита достаточно надежна и обладает наименьшей степенью взламываемости.

Недостатки: защита сложна в реализации ввиду того, что различные устройства носителей (в частности, CD–ROM) ведут себя совершенно по–разному при попытке чтения поврежденной области. Например, подавляющее большинство устройств CD–ROM (приблизительно 85%) попросту возвращают ошибку чтения. Однако некоторые устройства зависают напрочь, что создает необходимость в реализации обходного варианта для этих случаев. Приходится искусственно отлавливать зависший процесс, например по таймеру, и «убивать» вручную, например программным открытием или закрытием лотка устройства (так как все другие методы, как правило, ни к чему не приводят) или перезагрузкой компьютера. В последнем случае, разумеется, следует позаботиться о механизме регистрации событий, фиксирующем реализацию обходного варианта и запускающем для таких устройств вспомогательную защиту, например «контрольные вопросы». Может создавать определенный дискомфорт при запуске программы (простои, перезагрузки, зависания) [13].