Методы защиты программ от копирования

Содержание

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

Одним из самых распространенных каналов несанкционированного копирования является использование накопителей на съемных магнитных носителях. Угроза несанкционированного копирования информации блокируется методами, которые могут быть распределены по двум группам:

— методы, затрудняющие считывание скопированной информации;

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

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

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

Защита сайта от копирования

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

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

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

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

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

ставим защиту от копирования и печати на PDF документ

Выбор конкретного метода изменения алгоритма работы ВЗУ (или их композиции) осу-

ществляется с учетом удобства практической реализации и сложности повторения алгоритма злоумышленником. При разработке ВЗУ необходимо учитывать потребность использования устройств в двух режимах: в стандартном режиме и в режиме совместимости на уровне КС.

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

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

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

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

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

Сложнее осуществляется привязка программ к носителям информации, так как они стандартны и не имеют индивидуальных признаков [38]. Поэтому такие индивидуальные признаки создаются искусственно путем нанесения физических повреждений или изменением системной информации и структуры физических записей на носителе. Например, на гибких магнитных дисках могут прожигаться лазером отверстия, используется нестандартное форматирование, пометка некоторых секторов как дефектных. Приведенные средства защиты от несанкционированного использования дискет эффективны против стандартных способов создания копий (COPY, XCOPY, Diskcopy, Pctools, Norton Utilities в MS DOS и др.).

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

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

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

Шаг 1. Запоминание множества индивидуальных контрольных характеристик ЭВМ и (или) съемного носителя информации на этапе инсталляции защищаемой программы.

Шаг 2. При запуске защищенной программы управление передается на блок контроля среды размещения. Блок осуществляет сбор и сравнение характеристик среды размещения с контрольными характеристиками.

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

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

Для защиты от несанкционированного использования программ могут применяться и электронные ключи [51]. Электронный ключ «HASP» имеет размеры со спичечный коробок и подключается к параллельному порту принтера. Принтер подключается к компьютеру через электронный ключ. На работу принтера ключ не оказывает никакого влияния. Ключ распространяется с защищаемой программой.

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

3. Защита программных средств от исследования. Изучение логики работы программы может выполняться в одном из двух режимов: статическом и динамическом [60,61]. Сущность статического режима заключается в изучении исходного текста программы. Для получения листингов исходного текста выполняемый программный модуль дизассемблируют, то есть получают из программы на машинном языке программу на языке Ассемблер.

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

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

Существует несколько методов противодействия дизассемблированию:

— использование самогенерирующих кодов;

Архивацию можно рассматривать как простейшее шифрование.

Причем архивация может быть объединена с шифрованием. Комбинация таких методов позволяет получать надежно закрытые компактные программы.

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

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

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

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

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

«Обманом» дизассемблера – это такой стиль программирования, который вызывает нарушение правильной работы стандартного дизассемблера за счет нестандартных приемов использования отдельных команд, нарушения общепринятых соглашений.

«Обман» дизассемблера осуществляется несколькими способами:

— нестандартная структура программы;

— скрытые переходы, вызовы процедур, возвраты из них и из прерываний;

— переходы и вызовы подпрограмм по динамически изменяемым адресам;

— модификация исполняемых кодов.

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

Маскировка скрытых действий часто осуществляется с применением стеков.

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

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

При наличии современных средств отладки программ полностью исключить возможность изучения алгоритма программы невозможно, но существенно затруднить трассировку возможно;

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

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

Читайте также:
Установить программы разные версии одной программы

— изменение среды функционирования;

— модификация кодов программы;

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

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

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

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

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

Правоотношения и правонарушения

1. Основные подходы к защите от несанкционированного копирования

2. Функции средств защиты от копирования

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

3. Варианты выполнения процесса проверки подлинности:

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

4. Методы снятия защиты от копирования

• Статические методы предусматривают
анализ текстов защищенных программ в
естественном или преобразованном виде.
• Динамические методы предусматривают
слежение за выполнением программы с
помощью специальных средств снятия
защиты от копирования.

5. Основные методы защиты от копирования

• Криптографические методы
• Метод привязки к идентификатору
• Методы, основанные на работе с переходами и
стеком
• Манипуляции с кодом программы
• Методы противодействия динамическим способам
снятия защиты программ от копирования

6. Криптографические методы

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

7.

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

8. Метод привязки к идентификатору

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

9. Методы, основанные на работе с переходами и стеком

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

10. Манипуляции с кодом программы

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

11. Методы противодействия динамическим способам снятия защиты программ от копирования

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

12.

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

13.

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

Источник: ppt-online.org

ПЗ 3. Занятие 2 Тема Защита от копирования данных съемных носителей

Единственный в мире Музей Смайликов

Самая яркая достопримечательность Крыма

Скачать 29.05 Kb.

Практическое занятие №2

Тема: Защита от копирования данных съемных носителей

Цель работы:

  1. Изучить порядок защиты от копирования данных съемных носителей.
  2. Приобретение умений защиты данных от копирования съемных носителей.
  3. Совершенствование навыков анализа результатов исследований и формулировки выводов.
Читайте также:
Ошибка программа установка не работает

Учебные вопросы

Ход работы:

Защита от копирования — система мер, направленных на противодействие несанкционированному копированию информации, как правило, представленной в электронном виде (данных или кода программного обеспечения). При защите могут использоваться организационные, юридические и технические средства. Преимуществом технических мер защиты является возможность предотвращения несанкционированного копирования. В ряде случаев копирование разрешено законодательством (например, резервное). Однако определить его законность только техническими средствами невозможно (пример — WindowsGenuineAdvantage: было зафиксировано множество ложных срабатываний)[источник не указан 2270 дней]. Поэтому технические средства защиты авторских прав зачастую запрещают любое копирование,

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

Защита аудио треков

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

Защита аудио компакт-дисков

Компакт-диски делают не полностью соответствующими спецификации RedBook, из-за чего (теоретически) диск должен читаться на плеерах и не читаться на компьютерных приводах CD-ROM. На практике такие диски читаются на некоторых приводах и, наоборот, не читаются на некоторых плеерах. Фирма Philips, владеющая знаком

«CompactDiscDigitalAudio», отказалась ставить эту марку на защищённых дисках. Из таких защит известныCactusDataShield и CopyControl. В 2005 фирма Sony BMG использовала (англ.)русск. свой метод защиты компакт- дисков, известный как ExtendedCopyProtection (XCP).

Диски с XCP имеют дополнительную дорожку с данными, и при первой установке в системах семейства MicrosoftWindows устанавливают скрытую программу, запрещающую копирование дисков. Поскольку эта программа ставится независимо от желания пользователя, маскируется и препятствует своему удалению, многие независимые исследователи охарактеризовали её как руткит, то есть вредоносную программу.

В результате скандала Sony предложила программудеинсталлятор и бесплатную замену дисков с XCP, но не все проблемы были решены. Системы с ОС, отличной от Windows, не подвержены этой опасности. У аудиодисков, видео, книг и подобных носителей есть «аналоговая брешь»: если музыку можно воспроизвести, то её можно и записать. Если 25 текст можно прочитать, то его можно и сфотографировать. В таком случае некоторые компании используют ТСЗАП, снижающие качество воспроизведения — то есть качество самого продукта.

Основные функции средств защиты от копирования

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

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

Основные методы защиты данных от копирования Криптографические методы

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

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

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

Криптографические методы :

Манипуляция с кодом программы:

  1. включение в ПО пустых модулей, на которые имитируется передача управления, но реально никогда не осуществляется. Эти модули содержат большое количество команд не имеющих отношения к логике работы программы;
  2. Изменение защищаемой программы таким образом, чтобы стандартный дизассемблер не смог ее правильно дизассемблировать (программа Nota или CopyLock полностью модифицируют заголовок exe- файла). Приведенные методы направлены на защиту ПОот статического способа снятия защиты от копирования (с использованием дизассемблера).
  1. Периодический подсчет контрольной суммы, занимаемой образом задачи области оперативной памяти, в процессе выполнения;
  2. Проверка количества свободной памяти и сравнение с тем объемом, к которому задача привыкла или приучена;
  3. Проверка содержимого векторов прерывания (13h и 21h) на наличие тех значений, к которым задача привыкла;
  4. Переустановка векторов прерывания.

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

Современные электронные ключи

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

Аппаратные ключи могут иметь различные форм-факторы, но чаще всего они подключаются к компьютеру через USB. Также встречаются с LPT- или PCMCIA- интерфейсами. Принцип действия электронных ключей. Ключ присоединяется к определённому интерфейсу компьютера.

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

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

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