Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Запись некопируемых меток на жесткий диск

Поиск

Некоторые старые программы для DOS создавали некопируемые метки на жёстком диске. Например, файл длиной 1 байт занимает на диске один кластер (не менее 512 байт), и в оставшиеся 511 байт можно записать некоторую информацию. Эта практика практически не используется, так как велик риск потери данных.

Привязка к некоторому физическому объекту

Лицензия программы может привязываться к некоторому физическому объекту, к примеру

  • к руководству пользователя. Например, программа выводит: «Введите 5-е слово на 12-й сверху строке 26-й страницы». Более изощрённый способ защиты — в руководстве находится важная информация, без которой невозможно пройти игру, этим известна серия Space Quest. Распространение сканеров и многозадачныхоперационных систем положило конец этой практике.
  • к некоторому механическому устройству. Игра Another World поставлялась с «кодовым колесом». В системе защиты от копирования Lenslok, применявшейся в играх для ZX Spectrum, надо было, посмотрев на картинку через систему призм, увидеть двухбуквенный код.

Юридические средства защиты

Согласно законодательству, программный код приравнивается к литературным произведениям, и к нему применяются все соответствующие нормативные акты. В контексте защиты ПО используется следующая терминология:

  • Лицензия
  • Патент

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

Организационные средства защиты

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

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

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

Уязвимости современных методов защиты ПО

Уязвимости современных методов защиты можно достаточно строго классифицировать в зависимости от использованного метода защиты.

  • Проверка оригинального носителя. Можно обойти при помощи копирования / эмуляции диска (специальная программа полностью копирует диск, затем создается драйвер виртуального дисковода, в который помещается образ, который программа принимает за лицензионный диск. Во многих играх применяется вариант этого метода под названием «Mini Image», когда подставной диск имеет маленький размер (несколько мегабайт, содержащие только лицензионную информацию), программа признаёт его лицензионным
  • Ввод серийного номера. Основной уязвимостью является возможность беспрепятственного копирования и распространения дистрибутива вместе с серийным номером. Поэтому в настоящее время практически не используется (либо используется в совокупности с другими методами).
  • Активация программного обеспечения. В отличие от предыдущего метода, активационный код генерируется с использованием уникальной информации (S/N оборудования, информации о пользователе) и является уникальным. В этом случае, в момент генерации кода активации в процессе установки программы есть риск эмуляции «универсального» аппаратного окружения (как то перехват обращений программы при считывании соответствующей информации, либо запуск программы изначально в виртуальной среде). Также, при неиспользовании запутывания кода защищенного приложения (или использовании слабых методов), злоумышленник может найти код генерации кода активации и вынести его в отдельную утилиту (т. н. «генератор ключей aka keygen»), ровно как и вырезать всю процедуру активации (что, однако, сложнее, так как он может вызываться в разных частях приложения)
  • Использование электронных ключей. Часто встречается мнение о возможности эмуляции электронного ключа или библиотек интерфейса API, использеумого при обращении к электронному ключу. Это действительно можно сделать при неграмотной реализации защиты на электронном ключе(к примеру, программа только проверяет наличие ключа и читает/пишет в него что-либо). Однако встренные в программу защитные механизмы собственной разработки, основанные на вызове симметричных и асимметричных алгоритмов электронного ключа практически исключают возможность его эмуляции, так как обращения к ключу происходят каждый раз разные и накопить достаточное количество статистики для создания полного статистического аналога невозможно. Таким образом, стойкость защиты сильно зависит от реализации (в том числе от наличия уникальных защитных механизмов, реализованных разработчиком защиты). Тем не менее потенциально стойкость такой защиты может быть очень высока.
  • «Отключение» защиты путем модификации программного кода (к примеру, удаления проверок лицензии). Может быть реализовано при неиспользовании (или использовании слабых) инструментов запутывания кода. В результате программа дизассемблируется (или даже декомпилируется, в худшем случае), код исследуется на наличие защитных механихмов, найденные проверки удаляются.

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

Использование автоматических средств защиты

Существует проблема, связанная с недостатком ресурсов (в том числе временных) у разработчиков ПО. Им может не хватать времени, финансов или квалификации на реализацию собственной стойкой защиты. Они вынуждены пользоваться сторонними автоматическими средствами защиты ПО. Эти средства пристыковывают к скомпилированной программе защитный модуль. Преимущество такой защиты в том, что её можно установить на любую программу (даже без доступа к исходному коду программы). Недостаток в самом подходе — «шаблонности» метода. Стандартные защиты имеют большую вероятность быть взломанными, так как устанавливаются на несколько программ и тем самым обеспечивают спрос на рынке взлома.

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

Вопросы:

1. Что такое защита программного обеспечения?

2. Что такое защита от несанкционированного использования программ?

3. Что такое защита от копирования?

4. Что такое локальная программная защита?

5. Что такое сетевая программная защита?

6. Как производится защита при помощи компакт-дисков?

7. Как производится защита при помощи электронных ключей?

8. Привязка к параметрам компьютера и активация

9. Защита программ от копирования путём переноса их в онлайн

10. Защита кода от анализа

11. Защита программного обеспечения на мобильных платформах

12. Устаревшие технические средства защиты

13. Запись некопируемых меток на жесткий диск

14. Привязка к некоторому физическому объекту

15. Юридические средства защиты

16. Организационные средства защиты

17. Уязвимости современных методов защиты ПО

18. Использование автоматических средств защиты

 

 



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 1000; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.8.126 (0.008 с.)