Программным средством защиты лицензионных программ от копирования является

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

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

Как защитить программу от Взлома на C#

Также очевидно, что надежность системы защиты равна надежности наименее защищенного из ее модулей.

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

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

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

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

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

Выделим основные компоненты системы защиты программных продуктов от несанкционированного копирования:

Патентование программ ЭВМ! Как защитить программные продукты и IT решения?

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

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

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

Читайте также:
Какой программой почистить память телефона Андроид

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

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

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

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

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

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

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

  • • с использованием односторонней функции;
  • • с использованием шифрования.

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

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

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

Источник: studref.com

Средства защиты от копирования программных продуктов

Защита программного продукта от несанкционированного копирования — актуальная задача в связи с сохранением коммерческих и авторских прав фирм и разработчиков. По сведениям зарубежных специалистов, экономический ущерб от «пиратского» копирования программного обеспечения составляет миллиарды долларов. Точные потери установить невозможно из-за отсутствия полных сведений о числе «пиратских» копий; считается, что с каждой программы их делается от 2 до 15. В Росии 95% используемого софта «пиратское», оставшиеся 5% — FreeWare.

Поэтому большинство отечественных поставщиков программного обеспечения делают свои программы защищенными от копирования. Это означает, что при копировании таких программ с помощью, например, команд Coрy или Diskcoрy полученная копия не будет работать.

С точки зрения профессионального программиста термин «защита от копирования» для IBM PC, работающей под управлением MS DOS/Windows, достаточно условен, так как практически всегда возможно переписать информацию, находящуюся на дискете или на жестком диске. Другое дело, что после этого программа может не выполняться. Таким образом, без санкции разработчика или фирмы-распространителя невозможно получить работоспособный программный продукт. То есть, фактически, «защита от копирования» — это создание средств, дающих возможность «защиты от несанкционированного выполнения».

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

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

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

Читайте также:
Использование программы electronics workbench

1. Архитектура ПЭВМ: перечень внешних устройств и их характеристики (объем, скорость работы и т.д.).

2. Особенности ПЗУ: контрольная сумма и дата создания.

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

4. Специальные устройства. Для усиления защиты часто используют специальные устройства: логические микросхемы, дополнительные ПЗУ, подключаемые к компьютеру.

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

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

Одно из наиболее распространенных в России защитных устройств это Hasp by «Алладин». Это небольшое устройство, подключаемое к параллельному порту компьютера.

Источник: studfile.net

Как защитить ПО от копирования и взлома

Обложка: Как защитить ПО от копирования и взлома

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

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

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

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

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

Эксперт по информационной безопасности АО «Гринатом» , Москва , До 150 000 ₽

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

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

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

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

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

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

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

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

Типы защиты

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

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

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

Читайте также:
Как избавиться от подсознательных программ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru