No Image

Как защитить программу от копирования

СОДЕРЖАНИЕ
491 просмотров
16 декабря 2019

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

StarForce ProActive создан для защиты прикладных программ, компьютерных игр, образовательного и развлекательного программного обеспечения, а также загружаемого контента (DLC). Работает с двумя видами привязки: к компьютеру пользователя и USB-флеш накопителю.

Решение помогает нейтрализовать ряд угроз

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

Объекты привязки

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

Принцип работы StarForce ProActive

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

Наличие лицензии и соблюдение
её ограничений
Подтверждение подлинности лицензии, сводящейся к проверке серийного номера/цифрового ключа и параметров компьютера,
на котором установлена защищенная программа,
или USB-накопителя

Привязка к компьютеру

Наличие лицензии проверяется по серийному номеру – уникальной строке символов, идентифицирующей конкретную лицензию. Ограничения лицензии для каждого серийного номера могут редактироваться с помощью сервера управления лицензиями StarForce, что позволяет оперативно управлять лицензиями: продлевать, запрещать, менять ограничения по функционалу.

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

Привязка к USB-накопителю

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

Клиент может комбинировать привязки в рамках одного проекта.

Версии StarForce ProActive

В зависимости от уровня защиты и доступных возможностей продукт делится на несколько версий.

Pro Elite
Для защиты любых приложений с полностью настраиваемым уровнем защиты. Для защиты любых программных продуктов с максимально высоким уровнем защиты.

Возможности Pro
настраиваемый
Elite
максимальный
Автоматическая активация серийных номеров через интернет, смс, сайт
Базовая защита с поддержкой модели лицензирования Buy Only
Поддержка моделей лицензирования Demo / Trial / Try&Die и др.
Возможность выбрать функции для усиления защиты
Защита внутренних переменных приложений
Защита файлов данных
Защита нескольких исполняемых файлов в одну сессию защиты
Использование StarForce SDK
Деактивация приложения
Автоматическое добавление лицензий Редактирование серийных номеров Гарантия на защиту в течение определенного времени

Модели распространения защищенных программ (привязка к компьютеру)

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

Demo Trial Try&Die Buy Only
Приложение запускается с ограниченной функциональностью, но без ограничения периода использования. Использование продукта конечными пользователями без приобретения лицензии в течение срока, определенного клиентом. По истечении этого срока с приложением можно будет продолжать работать только при условии приобретения лицензии конечным пользователем. Использование продукта конечным пользователем без приобретения лицензии в течение срока, определенного клиентом. Приложение не может быть запущено по истечении этого срока. «Полноценное» использование продукта конечным пользователем.

Наши клиенты

Высокая степень взломостойкости благодаря трансформации кода в команды для виртуальной машины.
Автоматическая активация серийных номеров. Серверы StarForce располагаются по всему миру, в том числе в России, Китае и Германии, что позволяет обеспечить гарантированную автоматическую активацию конечных пользователей через интернет, смс и сайт (в случае если ПК, на котором стоит защищенное ПО, не имеет подключения к интернету).
Интеграция с игровой интернет-платформой Steam. Защита осуществляется без необхобимости вносить изменения в исходный код.
Быстрое внедрение защиты через интернет (с рабочего места или из дома).
Широкий выбор моделей лицензирования и их гибкая настройка.
Возможность распространения защищенных программных продуктов на любых носителях и через интернет.
Надежная и гибкая привязка к конфигурации компьютера.
Возможность привязки защищенного продукта к любым USB-flash накопителям.
Встраивание защиты в сборку программного обеспечения в автоматическом режиме.
Защита промо- и бета-версий, а также DLC (загружаемого контента) для компьютерных игр.
Периодическое подтверждение лицензии.
Сбор статистики использования ПО для маркетингового анализа и прогнозирования продаж.
Поддержка более 16 языков интерфейса пользователя.
Компания StarForce осуществляет постоянное обновление продукта StarForce ProActive и добавление нового функционала.

StarForce ProActive используется сотнями компаний по всему миру для защиты приложений от копирования и несанкционированного распространения. Представляем наиболее распространенные кейсы.

Защита пользовательского ПО и массовых игр от взлома и пиратства

Компания Eagle Dynamics

Компания Eagle Dynamics занимается разработкой компьютерных игр. Игра Digital Combat Simulator — это симулятор воздушных боевых действий, сфокусированный на боевых действиях в воздухе. Базовая игра предоставляется пользователям бесплатно с двумя моделями самолета и ограниченным количеством миссий и локаций. Монетизация состоит в продаже дополнительного контента: летательной и наземной техники, карт, расширенного функционала.

Основной площадкой продаж является собственный сайт издателя DigitalCombatSimulator.com, но также есть распространение через Steam. Cтоимость продуктов DCS 500-3000 рублей.

Eagle Dynamics использует защиту StarForce с 2005 года. В настоящее время используется привязка к пользовательскому компьютеру с онлайн-активацией серийного номера.

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

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

Защита обучающих материалов

Компания Мерсибо

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

Основной площадкой продаж является собственный сайт издателя: Mersibo.ru.

Стоимость продуктов: 700-2000 рублей

Защита StarForce используется с 2013 года. Первоначально защищались оптические диски CD (продукт StarForce Disc), в дальнейшем комбинированный вариант с онлайн-активацией, и в 2017 году были добавлены флешки.

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

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

Защита самостоятельно

1 Скачивается и устанавливается программа StarForce Protection Studio (предоставляется бесплатно).
2 Используя StarForce Protection Studio, отбираются функции, которые будут защищены от анализа и модификации. Этот этап не является обязательным, но очень желателен для обеспечения высокого уровня защиты.
3 Настраиваются параметры привязки и защиты.
4 При необходимости адаптируются элементы пользовательского интерфейса: заголовки и логотип.
5 Защита программы с участием серверов StarForce (необходимо подключение к интернету).
6 Генерация тестовых серийных номеров.
7 Тестирование защищенной программы.
8 Генерация релизных серийных номеров.
9 Распространение защищенного ПО.

Защита силами сотрудников StarForce

Компания StarForce предлагает следующие платные услуги

Установка защиты специалистами StarForce:

С внесением изменений в код специалистами StarForce.
С внесением изменений в код специалистами клиента.
Без внесений изменений в код.

Анализ защиты, выполненной специалистами клиента.

Поддерживаемые технологии

StarForce ProActive поддерживает защиту файлов следующих форматов:

Приложения, скомпилированные в PE-файл, содержащий исполняемый машинный код (native код) процессоров x8632 и x8664. Расширение таких файлов, как правило, exe и dll.
Приложения, скомпилированные в исполняемый .NET-файл (managed код). Расширение таких файлов, как правило, exe и dll.
Неизменяемые файлы данных любого формата. При защите файлов данных производится шифрование их содержимого, а сами файлы скрываются в файле контейнера.

Например, это могут быть:

Обучающие или развлекательные приложения, скомпилированные стандартными компиляторами C++, Delphi или созданные на языках Flash, Java или Pyton с любыми неизменяемыми данными, обрабатываемые ими напрямую.
Инсталляторы.
Игры, разработанные на .Net игровых движках, и их уникальные данные (локализации, персонажи, уровни, текстуры и т.д.).

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

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

Как защитить ваш продукт?

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

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

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

«КРОК», Москва, Санкт-Петербург, Троицк, Челябинск, Воронеж, Иркутск, Краснодар, Нижний Новгород, Самара, Пермь, от 120 000 до 240 000 ₽

Когда вы со всем этим определитесь, можно начинать искать варианты защиты.

Ключевые элементы защиты

Защита от копирования ПО начинается со стратегии лицензирования, которая определяет, как за ваш продукт будут платить. Вот некоторые из распространённых стратегий:

  1. Постоянная. Одноразовый платёж даёт неограниченный доступ к приложению.
  2. На основе функциональности. После покупки приложения дополнительные возможности открываются за отдельную плату.
  3. Временная. Приложение арендуется на определённое время, оплата взимается за продление этого срока.
  4. Многоуровневая. Версии ПО предлагаются на основе предопределённого пакета возможностей, например, Silver, Gold или Platinum.

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

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

Искомое решение должно соответствовать вашим потребностям. Если рассматривать приведённую выше аналогию, то вам не нужно запирать велосипед в Форт-Ноксе, чтобы он был в безопасности. Точно так же не следует использовать замок от велосипеда для защиты чего-то вроде алмаза Хоупа. Лицензирование должно соответствовать ценности ПО.

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

Типы защиты

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

Система доверия

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

Прим.перев. В качестве примера можно привести редактор Sublime Text, который порой предлагает заплатить за него, но не вынуждает. И не забываем про многострадальный WinRar с его напоминаниями о том, что он — не бесплатная программа.

Программная защита оффлайн

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

Программная защита онлайн

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

Аппаратная защита

Защита очень сильная, так как за лицензирование отвечает электронный USB-ключ, которому не нужно подключаться к интернету. Стоимость каждого ключа на каждую лицензию низкая; кроме того, отсутствуют периодические расходы. Реализовать можно с помощью API или программных обёрток.

Этот вариант — один из наиболее простых, надёжных и универсальных, так что остановимся на нём подробнее.

Прим.перев. Функции лицензирования можно разрабатывать самостоятельно, но это весьма непростой и трудоёмкий процесс. Опять же, можно воспользоваться готовым ПО для управления лицензированием, но оно, в свою очередь, тоже потребует лицензирования и будет стоить денег. Также можно поискать open-source библиотеки и решения для этих целей, вроде этой и этой.

Основные преимущества использования электронных ключей

Электронные ключи — лучший выбор для лицензирования и защиты ПО. Такая защита быстро и легко реализуется с помощью программной обёртки. Для большей гибкости можно встроить API в ваше ПО или даже добавить сочетание обёртки с интегрированным API.

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

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

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

Другие преимущества электронных ключей:

  • повышенная безопасность интеллектуальной собственности, обеспеченная крепкой связью между прошивкой ключа и вашим ПО;
  • гибкие, почти неограниченные возможности лицензирования;
  • невероятная простота реализации. Первоклассное решение на основе электронных ключей можно реализовать в считанные минуты, а не дни, недели или месяцы;
  • поддержка нескольких платформ. Электронные ключи могут поддерживаться как всеми версиями Windows, так и машинами с Mac и Linux.

Что требуется от поставщика ключей

Если вы выберете вариант с ключами, то вдобавок к надёжной защите поставщик ключей должен обеспечить:

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

Не дайте своему труду пропасть зря

Хотя с пиратством ведётся борьба, это не значит, что можно пренебречь лицензированием и защитой ПО.

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

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

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

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

Содержание

Технические средства защиты [ править | править код ]

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

Локальная программная защита [ править | править код ]

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

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

Сетевая программная защита [ править | править код ]

  • локальная

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

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

Если программа работает с каким-то централизованным сервером и без него бесполезна (например, сервера онлайн-игр, серверы обновлений антивирусов). Она может передавать серверу свой серийный номер; если номер неправильный, сервер отказывает в услуге. Недостаток в том, что, существует возможность создать сервер, который не делает такой проверки. Например, существовал сервер battle.da, который по функциям был аналогичен Battle.net (от компании Blizzard Entertainment), но пускал пользователей неавторизованных копий игр. Сейчас этот сервер закрыт, но существует немалое количество PvPGN-серверов, которые также не проверяют регистрационные номера.

Защита при помощи компакт-дисков [ править | править код ]

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

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

Для защиты от копирования используется:

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

Первые два метода практически бесполезны из-за возможности снятия полного образа с диска с использованием соответствующего прикладного ПО. Третий метод считается более надёжным (используется, в частности, в защите StarForce). Но существуют программы, которые могут эмулировать диски с учётом геометрии расположения данных, тем самым обходя и эту защиту. В StarForce, в числе прочих проверок, также выполняется проверка возможности записи на вставленный диск. Если она возможна, то диск считается не лицензионным. Однако, если образ будет записан на диск CD-R, то указанная проверка пройдет. Существует возможность скрыть тип диска, чтобы CD-R или CD-RW был виден как обычный CD-ROM. Однако, в драйвер защиты может быть встроена проверка на наличие эмуляции.

В настоящее время наибольшую известность в мире имеют системы защиты от копирования SecuROM, StarForce, SafeDisc, CD-RX и Tages. [2]

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

Защита при помощи электронных ключей [ править | править код ]

Электронный ключ (донгл), вставленный в один из портов компьютера (с интерфейсом USB, LPT или COM) содержит ключевые данные, называемые также лицензией, записанные в него разработчиком

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

Достоинства защиты с использованием электронных ключей:

  • Ключ можно вставлять в любой компьютер, на котором необходимо запустить программу
  • Ключ не занимает/не требует наличия дисковода
  • Электронный ключ умеет выполнять криптографические преобразования
  • Современные ключи могут исполнять произвольный код, помещаемый в них разработчиком защиты (пример — Guardant Code, Senselock)

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

  • Цена (15—30 долларов за штуку)
  • Необходимость доставки ключа конечному пользователю

Ранее к недостаткам можно было также отнести невысокое быстродействие ключа (в сравнении с CPU компьютера). Однако современные ключи достигают производительности в 1.25 DMIPS (пример — HASP, Guardant), а техника защиты с их помощью не предполагает постоянного обмена с ключом.

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

Привязка к параметрам компьютера и активация [ править | править код ]

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

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

Достоинство в том, что не требуется никакого специфического аппаратного обеспечения, и программу можно распространять посредством цифровой дистрибуции (по Интернет).

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

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

До недавнего времени такие защиты разрабатывались и внедрялись разработчиками самого программного продукта. Однако сейчас существуют SDK для работы с программными ключами, например HASP SL от компании Aладдин Р. Д. Также все большее распространение получают сервисы, предлагающие одновременно функцию «навесной» защиты и сервера активации/лицензирования (пример — Guardant Online, Protect online) [ источник? ] .

Защита программ от копирования путём переноса их в онлайн [ править | править код ]

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

Код исполняется на «доверенной» стороне, откуда не может быть скопирован.

Однако, и здесь возникает ряд проблем, связанных с безопасностью:

  • стойкость такой защиты зависит, прежде всего, от защищённости серверов, на которых он исполняется (речь идёт о Интернет-безопасности)
  • важно обеспечение конфиденциальности запросов, аутентификации пользователей, целостности ресурса (возможности «горячего» резервирования), и доступности решения в целом

Возникают также вопросы доверия сервису (в том числе правовые), так как ему фактически «в открытом виде» передаются как само ПО, так и данные, которые оно обрабатывает (к примеру, персональные данные пользователей).

Защита кода от анализа [ править | править код ]

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

Защита программного обеспечения на мобильных платформах [ править | править код ]

Способы защиты программного обеспечения для мобильных платформ от копирования обычно основываются на невозможности рядового пользователя считывать/изменять хранящиеся в ППЗУ аппарата данные. Может также использоваться активация программного обеспечения.

Устаревшие технические средства защиты [ править | править код ]

В прошлом применялись и другие методы защиты ПО от нелегального использования.

Ключевая дискета [ править | править код ]

Метод был распространён во времена MS-DOS, сейчас, в силу устаревания технологии FDD, практически не применяется. Есть четыре основных способа создания некопируемых меток на дискетах:

  • Считывание конкретного сектора дискеты (возможно, пустого или сбойного). Это самый простой способ защиты, и при копировании «дорожка в дорожку» дискета копируется.
  • Запоминание сбойных секторов дискеты. Перед тем, как записать на дискету информацию, её царапают (или прожигают лазером), после этого записывают номера сбойных секторов. Для проверки подлинности дискеты программа пытается записать в эти сектора информацию, затем считать её.
  • Нестандартное форматирование дискеты. Известна программа FDA (Floppy Disk Analyzer), которая могла проводить исследование и копирование таких дискет.
  • «Плавающий бит». Один бит записывается так, что в некоторых случаях он читается как «0», в некоторых как «1». Проводится многократное считывание дискеты; среди результатов считывания должны быть и нули, и единицы.

Запись некопируемых меток на жёсткий диск [ править | править код ]

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

Привязка к некоторому физическому объекту [ править | править код ]

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

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

Юридические средства защиты [ править | править код ]

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

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

Организационные средства защиты [ править | править код ]

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

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

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

Недостатки технических методов защиты ПО [ править | править код ]

Уязвимости современных методов защиты ПО [ править | править код ]

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

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

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

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

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

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

Проблема «лучше, чем легальное» [ править | править код ]

Это одна из фундаментальных проблем технических средств защиты. Заключается она в том, что система защиты неизбежно создаёт пользователю неудобства, и потому, с точки зрения пользователя, взломанная программа в каком-то смысле лучше, чем оригинальная. Например:

  • Незащищенная программа работает, в общем случае, быстрее, чем защищённая
  • Для работы «взломанной» программы не нужен оригинальный носитель. Если не использовать компакт-дисков, время работы ноутбука существенно увеличивается. Кроме того на некоторых моделях ноутбуков устройство чтения компакт-дисков может отсутствовать вовсе
  • При использовании USB-ключа может не хватить портов на всё нужное оборудование или не быть таковых вовсе (к примеру при использовании виртуализации)
  • Электронный ключ может создавать физические неудобства при работе с защищённой программой на ноутбуке
  • J2ME-программа исчезнет после перепрошивки телефона, и нет возможности сделать её резервную копию.

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

Комментировать
491 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев