Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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

Тема: Требования к блокам установки характеристик среды

Додаткова

Основна

Гельман В.Я. Медицинская информатика.— СПб.: Питер, 2002. — 468с.

Добрін Б.Ю., Каширін В.Г. Основи медичної інформатики. — Луганськ: Луган. ун-т, 2003. — 512 с.

Зарецкая И.Т., Колодяжный Б.Г., Гуржий А.Н., Соколов А.Ю. Информатика: учеб. пособие для 10—11 кл. — К.: Форум, 2001. — 494 с.

Інформаційні технології в охороні здоров’я і практичній медицині: У 10 кн. — Кн. 3 Інформаційні технології в хірургії: навч. посібн. / Мінцер О.П., Москаленко В.З., Веселий С.В. — К.: Вища шк., 2004. — 423с.

Інформаційні технології в охороні здоров’я і практичній медицині: У 10 кн. — Кн. 5. Оброблення клінічних і експериментальних даних у медицині: навч. посібн. / Мінцер О.П., Вороненко Ю.В., Власов В.В. — К.: Вища шк., 2004. — 423с.

Леонтьев В.П. Новейшая энциклопедия персонального компьютера-2002. — М.: Олма-Пресс, 2002. — 920 с.

Основи медичної інформатики: підручник / Момоток Л.О., Юшина Л.В., Рожнова О.В. ¾ К.: Медицина, 2008. ¾ 232 с.

Руденко В.Д. Практичний курс інформатики / 3а ред. Мадзігона В.М. — К.: Фенікс, 2000. — 304 с.

Симонович С.В. Информатика. Базовый курс. — СПб.: Питер, 2003. — 630с.

Брайан Фафенбергер, Дэвид Уолл. Толковый словарь по компьютерным технологиям и Internet. — К.: Діалектика, 1996. — 479 с.

Інформаційні технології в охороні здоров’я і практичній медицині: У 10 кн. — Кн.5 Оброблення клінічних і експериментальних даних у медицині: навч. посібн. / Мінцер О.П., Вороненко Ю.В., Власов В.В. — К.: Вища шк., 2004. — 423 с.

Http://uacm.kharkov.ua/rus/ Материалы сайта “Украинская ассоциация Компьютерная медицина”.

Http://www/telemed.org.ua/News/news.html/ Материалы сайта “Телемедицина в Украине”.

 

 

Цель: Изучить требования к блокам установки характеристик среды и сравнения характеристик среды в системах защиты ПО от несанкционированного копирования.

 

План лекции

 

1. Структура системы защиты ПО от несанкционированного копирования.

2. Требования к блокам установки характеристик среды.

 

Введение

 

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

Высокий уровень нелегального копирования (по данным международной организации Business Software Alliance в России нелегально используется до 98% программных продуктов) обусловлен в первую очередь соотношением средней оплаты труда и цены набора программного обеспечения, которая колеблется от 200$ для компьютеров домашнего использования до нескольких тысяч долларов для профессиональных систем. Если говорить более строго, то помимо экономических существуют и другие причины для несанкционированного копирования, в частности ознакомительные и психологические, но превалирует всё-таки экономический мотив.

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

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

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

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

 

1 Структура системы защиты ПО от несанкционированного копирования

 

Система защиты ПО от несанкционированного копирования, в самом общем виде может быть представлена в виде, представленном на рис.1:

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

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

 

 

Рисунок 1 - Структура системы защиты от несанкционированного

копирования

 

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

Блок установки характеристик среды отвечает за получение характеристик, идентифицирующих вычислительную среду.

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

Блок ответной реакции реализует ответные действия системы защиты на попытки несанкционированного исполнения защищаемой программы.

 

2 Требования к блокам установки характеристик среды

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

В общем случае программное обеспечение может распространяться:

- бесплатно (из альтруизма и соображений саморекламы);

- условно бесплатно (по принципу «попробуй и купи» (try and buy), когда оплата производится добровольно и только тогда, когда пользователь соглашается с реальной пользой для себя данного продукта);

- на коммерческой основе.

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

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

- с помощью специальной службы распространения;

- через торговые организации;

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

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

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

- программа ассоциирует (связывает) себя с дистрибутивным носителем без «привязки» к конкретному компьютеру;

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

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

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

Свободный от этих недостатков третий вариант требует помимо обеспечения надёжности ключевой дискеты решения далеко не простой проблемы счётчика инсталляций.

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

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

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

1. FDDCount – число накопителей на гибких магнитных дисках (НГМД);

2. FDDType – тип накопителей НГМД;

3. BaseMemory – объём базовой памяти;

4. ExtMemory – объём расширенной памяти;

5. BIOSData – дата издания ROM-BIOS;

6. CPUType – тип центрального процессора;

7. CPUFeature – информация, характеризующая возможности центрального процессора;

8. VESAVersion – версия VBE (VESA BIOS Extension);

9. VideoMemory – объём видеопамяти;

10. VESAOEMString – информация производителя видеокарты.

Рассмотрим теперь процесс определения этих характеристик.

Определение числа НГМД. В области данных BIOS по адресу 0:0410h хранится двухсловная переменная, называемая списком оборудования. Список оборудования включает в себя число НГМД. Список оборудования заполняется компьютером во время POST (Power-On Self-Test), ROM-программы, выполняемой во время включения ПЭВМ. Биты 6 – 7 содержат число НГМД, уменьшенное на единицу.

Определение типа НГМД, объёма базовой и расширенной памяти. В современных компьютерах для хранения текущей конфигурации аппаратных средств используется энергонезависимая память CMOS. Эта память с точки зрения программиста состоит из набора ячеек, доступ к которым для чтения и записи выполняется через порты ввода-вывода с адресами 70h и 71h. Процедура чтения ячейки CMOS состоит из двух шагов. На первом шаге программа записывает в выходной порт с адресом 70h номер ячейки, из которой необходимо прочитать информацию. На втором шаге программа читает содержимое данной ячейки из входного порта с адресом 71h. В памяти CMOS хранится текущее время и дата, сведения о конфигурации системы, результат тестирования при включении питания и другая информация. В том числе в ячейке с адресом 10h хранится тип накопителей НГМД, в ячейках с адресами 15h – 16h – объём основной памяти и в ячейках с адресами 17h – 18h – объём расширенной памяти (это значение дублируется в ячейках 30h – 31h).

Определение даты издания ROM-BIOS. Дата издания ROM-BIOS в коде ASCII хранится в области данных BIOS по адресу F000: FFF5 и занимает 8 байт.

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

CPUID MACRO DB 0Fh DB 0A2h ENDM.

Для определения модели процессора следует вызвать команду CPUID, загрузив предварительно в регистр EAX значение

1: MOV EAX, 1 CPUID.

При этом в регистр EAX будет загружено слово сигнатуры, по которому можно будет определить модель процессора, а в регистр EDX – слово, состоящее из отдельных флагов, характеризующих возможности процессора (feature flags). Именно содержимое этих двух регистров (EAX, EDX) и сохраняется в полях CPUType (EAX) и CPUFeature (EDX) программы в случае, если процессор не младше Pentium.

Определение версии VBE, объёма видеопамяти и информации производителя видеокарты. Определение данных характеристик даёт нам возможность идентифицировать видеоадаптер компьютера.

MOV AX, 4F00h ES: DI

должны указывать на буфер размером 256 бит, первые четыре байта которого должны содержать “VBE2” INT 10h Как результат выполнения данной функции поля буфера заполнены информацией, характеризующие видеоадаптер. В числе прочих параметров там содержится версия VBE, объём видеопамяти, представленный в блоках размером по 64 килобайта, указатель на строку формата ASCIIZ, содержащую информацию фирмы производителя видеокарты.

Группы характеристик. Использование индивидуальных характеристик причиняет пользователю определённые неудобства, связанные с невозможностью изменения (в том числе и расширения) состава аппаратных средств. И это ограничение является существенным, так как в наше время для того, чтобы успевать за прогрессом, требуется постоянный upgrade. Некоторые программно-аппаратные средства несколько смягчают это неудобство. В них все индивидуальные характеристики разделены на группы. Каждая группа характеристик идентифицирует какой-либо компонент компьютера (видеокарту, материнскую плату (Motherboard), дисководы (FDD) и т.д.) При изменении характеристик в пределах одной группы не делается вывода о незаконности копии, а осуществляется запоминание изменённых параметров. Такой подход позволит пользователю после замены какого-то одного (!) компонента ЭВМ продолжить работу с защищённой программой. Если изменяется более, чем одна группа, то в этом случае делается вывод о несанкционированном переносе программы на другой компьютер.

 

Группа Компонент Характеристики
FDD Дисковод FDDCount
    FDDType
RAM ОЗУ BaseMemory
    ExtMemory
BIOS Материнская плата, ПЗУ BIOSData
CPU Процессор CPUType
    CPUFeature
Video Видеоадаптер VESAVersion
    VideoMemory
    VESAOEMString

Хранение индивидуальных характеристик. Хранение индивидуальных характеристик организовано так, что их нельзя скопировать стандартными средствами. Кроме того, индивидуальные характеристики хранятся в зашифрованном виде. Применяется шифрование методом XOR с константой 0ABh. Известно, что наименьшей порцией информации, хранимой на жёстком диске является кластер. Если программа занимает не целое число кластеров, то за логическими пределами файла остаётся некоторое пространство, которое и используется для хранения индивидуальных характеристик. При этом возникает проблема – если дискового пространства за логическими пределами файла не хватает для размещения там индивидуальных характеристик. Данная проблема решается удлинением файла на такое количество байт, чтобы гарантированно обеспечить необходимое пространство. Идея некопируемости расположенной таким образом информации состоит в том, что стандартные утилиты копирования (Copy) не копируют такое пространство, ориентируясь по реальной длине файла. При использовании данного метода, оказывается, нельзя «законно» копировать программу не только на другой компьютер, но и на компьютер, на который программа была установлена. Таким образом, на жёстком разрешается хранить только одну работающую копию программы. Однако, благодаря алгоритму перемещения операционной системы DOS (при перемещении файла переписывается только номер начального кластера, без копирования файла на новое место), позволяется переносить (Move) программу в другой каталог того же диска без потери работоспособности.

Шифрование защищаемой программы. Защищаемая программа (Task) хранится в модуле Ind в зашифрованном виде. Из соображений быстродействия (ведь Task расшифровывается при каждом «законном» запуске Ind) выбран чрезвычайно простой метод шифрования – метод XOR с константой 0A5h.

 

Контрольные вопросы

 

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

2. По какой причине ведущие фирмы-производители массового программного обеспечения практически никогда не ставят защиту на свои программы?

3. Какие неудобства могут причинять пользователям системы защиты ПО от несанкционированного копирования?

<== предыдущая лекция | следующая лекция ==>
Основные формы передачи прав на объекты интеллектуальной собственности | Денатурация белков
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 889; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.039 сек.