русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Надежность системы защиты от копирования

Надежность системы защиты от копирования — способность противостоять попыткам проникновения в алгоритм ее работы и обхода механизмов защиты.
При рассмотрении вопроса надежности надо помнить о двух основных утверждениях.

  • Утверждение 1. Любая система защиты от копирования, может быть раскрыта в конечное время.
  • Утверждение 2. Надежность системы защиты равна надежности ее слабейшего звена.

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

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

Следовательно, надо учесть:

  • предполагаемый тираж защищенного продукта (чем он выше, тем больше вероятность, что защищенный продукт попадет к человеку, могущему снять защиту);
  • цену защищенного продукта и скидки при покупке большого числа копий (чем цена ниже, тем меньше желания тратить силы на снятие защиты);
  • частоту появления новых версий (если версии обновляются раз в месяц, то желания снимать защиту скорее всего не появится);
  • специализированность и сложность в освоении защищенной программы (специализированная радиоэлектронная САПР вряд ли понадобится рядовому пользователю, в то время как красивые защищенные игры — постоянный объект нападения «хакеров»);
  • наличие у потенциального пользователя программистов высокой квалификации, способных снять защиту с защищенного продукта;
  • уровень послепродажного сервиса, который Вы можете обеспечить (возможно, нелегальный пользователь не сможет без вашей помощи или инструкции разобраться с программой);
  • скидки при легальном приобретении предыдущих версий;
  • реальные санкции к пользователю, снявшему защиту (в случае неприменимости юридических мер Вы можете просто не поддерживать отношений с этой фирмой или человеком).

После учета всех этих моментов Вы можете определить затраты в процентном отношении от цены защищаемого продукта, которые потребуются от Вас для того уровня защиты, который Вы признаете достаточно надежным. Главное, что надо решить — будете ли Вы использовать готовую защиту или изготавливать специализированную для своего продукта. Как правило, специализированная защита в 10—12 раз дороже чем готовая, но и во столько же раз более надежная.
Например, Ваша программа стоит 100$, в месяц распродается 20 копий, периодичность смены версий 3 месяца. Потребитель Вашей программы — бухгалтерии различных фирм, т. е.. возможности по снятию защиты малы.
Если Вы определяете допустимый размер затрат на защиту в 5% от цены, т.е. 5$, то на защиту 60 копий Вы можете потратить 300$ и купить достаточно хорошую пристыковываемую защиту типа Cerberus, Convoy или Protect.
При хороших отношениях с пользователем можно в данном случае вообще не защищать от копирования.
Очень часто возникает ситуация, когда готовая защита:

  • не работает с Вашим продуктом;
  • не работает на Ваших компьютерах или компьютерах Вашего заказчика;
  • легко снимается с Вашего продукта.

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

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

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


Вернуться воглавление




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.