Система защиты от несанкционированного копирования
Техническое задание Провести анализ общей структуры систем защиты от несанкционированного копирования. Разработать систему защиты от копирования. Работа с ключевой дискетой с ограниченным числом инсталляций. Объём и содержание проекта (графических работ листов формата 21, расчётно-пояснительная записка на листах формата II) . Дополнительные указания по проектированию Запретить копирование инсталлированной программы с жёсткого диска на другие носители. Разрешить перемещение инсталлированной программы в пределах логического диска. Использовать программирование НГМД на физическом уровне. Реализация под DOS. Работа со стандартными дискетами 1.44 М. СОДЕРЖАНИЕ\ 1. Введение 2. Исследовательский раздел 2.1. Структура системы защиты от несанкционированного копирования. 2.2. Подсистема внедрения управляющих механизмов. 2.3. Блок установки характеристик среды. 2.4. Выбор структуры системы для реализации. 3. Опытно-конструкторский раздел 3.1. Выбор и обоснование языка программирования. 3.2. Структура программы. 3.2.1. Модуль Frozen. 3.2.2. Модуль Install. 3.2.3. Модуль Ind. 3.2.4. Запуск внешней программы. 3.2.5. Работа с НГМД. 4. Выводы 5. Литература 6. Приложение 6.1. Требования к аппаратуре. 6.2. Требования к программному обеспечению. 6.3. Фрагменты программ.
1. Введение Вряд ли в нашей стране найдётся хотя бы десяток программистов или людей, повседневно использующих ПК в своей профессиональной деятельности, которые с гордостью могут похвастаться тем, что никогда в жизни не использовали нелегально приобретённые программные продукты. Сегодня сложилась парадоксальная ситуация, когда в большинстве отечественных ПК в основном используется “ворованное” программное обеспечение. Редкое исключение составляют те немногие профессионалы, которые работают в частных фирмах или на совместных предприятиях: как правило, здесь очень дорожат репутацией фирмы и поэтому стараются использовать только лицензионные (официально купленные) программы. В соответствии с международным правом труд автора программы приравнен к труду других творцов интеллектуальной собственности, таких как писатели, музыканты, художники, и подлежит защите. Однако в отличие от книги или картины массовое копирование программы не вызывает каких-либо технических трудностей и не требует специального дополнительного оборудования, если разумеется, не считать компьютер. В этом отношении программа намного беззащитнее, чем, скажем, скульптура или книга. Общий ущерб от нелегального копирования программ по оценкам западных специалистов составляет от 2 до 10 млрд. долларов в год. Вряд ли в ближайшем будущем что-либо кардинально изменится в этом отношении, особенно в нашей стране. Бурное развитие информационных технологий и использование их в самых различных, в том числе и критических, областях человеческой деятельности привело к тому, что помимо задач передачи, хранения и обработки информации возникла не менее, а в ряде случаев и более важная задача защиты информации. В соответствии с принятой классификацией выделяют шесть направлений деятельности по защите информации [7]: 1. Защита от несанкционированного доступа в автоматизированных информационных системах, имеющая как программную, так и аппаратную реализацию. 2. Защита информации при передаче по каналам связи и в средствах их коммутации (в том числе в локальных (ЛВС) и распределённых вычислительных сетях) . 3. Защита юридической значимости так называемых “электронных” документов (в системе электронной почты (e-mail) и др.) 4. Защита от утечки информации в виде побочных электромагнитных излучений и наводок (ПЭМИН) . 5. Защита от программных средств скрытого информационного воздействия (частным случаем которых являются компьютерные вирусы) . 6. Защита от несанкционированного копирования и распространения программ и баз данных. В настоящее время в связи со сложным характером взаимоотношений на рынке программных продуктов проблема защиты от несанкционированного копирования является одной из наиболее острых в области разработки программных средств. Она обусловлена “самой сутью человеческой психологии и будет существовать до тех пор, пока программный продукт является товаром” . Данное утверждение подчёркивает экономический базис рассматриваемой проблемы – несанкционированное копирование осуществляется тогда, когда у пользователя существует потребность в эксплуатации какого-то программного продукта, а затраты на копирование существенно меньше затрат на приобретение легальной копии. Высокий уровень нелегального копирования (по данным международной организации Business Software Alliance в России нелегально используется до 98 % программных продуктов) обусловлен в первую очередь соотношением средней оплаты труда и цены набора программного обеспечения, которая колеблется от 200$ для компьютеров домашнего использования до нескольких тысяч долларов для профессиональных систем. Если говорить более строго, то помимо экономических существуют и другие причины для несанкционированного копирования, в частности ознакомительные и психологические, но превалирует всё-таки экономический мотив. Для разработчика программного обеспечения, как и для любого другого производителя основная задача состоит в том, чтобы окупить затраты на производство и получить прибыль. При этом возможны два крайних варианта: либо производитель находит заказчика, который оплачивает разработку, либо все затраты покрываются за счёт продаж. Для разработчиков предпочтителен первый вариант, так как в нём риск сводится к минимуму, но он возможен только при отсутствии на рынке аналогов программного продукта. Требования к программе должны быть настолько специфичны, а потребность в продукте настолько велика, что заказчику не оставалось бы ничего другого, кроме как оплатить разработку. Учитывая сегодняшнюю ситуацию в области разработки программ, этот случай можно рассматривать как вырожденный. Типичной является ситуация, когда производитель разрабатывает продукт за счёт собственных средств с целью продать определённое число копий и не заинтересован в бесплатном тиражировании. Для противодействия попыткам несанкционированного копирования используются различные методы защиты программного обеспечения: организационные, юридические, программные и программно-аппаратные. Наиболее популярными (по крайней мере в нашей стране являются технические, т.е. программные и программно-аппаратные методы, так как только они обеспечивают противодействие в момент несанкционированного копирования программного продукта, в отличие от остальных, где санкции за нелегальное использование либо отсутствуют, либо разнесены во времени с моментом эксплуатации нелегальной копии. К настоящему времени разработаны достаточно эффективные методы противодействия несанкционированному копированию, однако стоит подчеркнуть, что не существует такой защиты, которую было бы невозможно (помимо воли автора) снять. Не должно вызывать сомнений то, что опытный программист, обладающий соответствующими навыками, всегда сможет найти то место (те места) в защищённой программе, где принимается решение о легальности копии, и, изменив несколько байт (или даже один единственный байт) в коде программы, лишить её возможности к самозащите. Именно по этой причине ведущие фирмы-производители массового программного обеспечения практически никогда не ставят защиту на свои программы, справедливо полагая, что не стоит тратить силы и средства на создание системы защиты (тем более, что эти системы, как правило, причиняют пользователю определённые неудобства) , если всё равно программа будет вскрыта. Эти фирмы получают свои “дивиденды” за счёт массовости объёма продаж при сравнительно низкой цене за каждую копию. Они делают ставку на “цивилизованных” покупателей и, что примечательно, таким способом воспитывают их! Более того, в последнее время получили распространение программы, которые как раз рассчитаны на механизм “пиратского” копирования и распространяются преимущественно именно таким способом: обычно эти программы сопровождаются “электронным письмом” (файлом с текстом) , в котором содержится краткая инструкция по работе с программой и указываются необходимые координаты автора с просьбой выслать небольшую сумму в случае, если пользователь считает, что достоинства программы заслуживают этого. Несколько иначе обстоит дело с программами, которые не рассчитаны на массового пользователя. К таким относятся различного рода системы автоматизированного проектирования, предыздательские системы, специализированные базы данных и т.п. Как правило, это весьма наукоёмкие товары, т.е. в них особенно велик вклад высококлассных специалистов в конкретных прикладных областях. Труд таких специалистов обычно высоко ценится, поэтому общие затраты на создание подобного рода программ могут быть весьма и весьма велики, что в сочетании со сравнительно небольшим кругом потенциальных пользователей делает цену каждой копии очень большой. Такие программы обычно снабжаются защитой, так как ограниченный спрос на них