Исследование методов и средств защиты программного обеспечения

Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 29.05.2013
Размер файла 67,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://allbest.ru/

Размещено на http://allbest.ru/

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

Кафедра «Информатики и информационных технологий» № 409Б

Курсовая работа

по дисциплине: «Теория информационной безопасности и методология защиты информации»

Тема: Исследование методов и средств защиты программного обеспечения

Выполнил: Славкин А. С.

Проверил: Красоткин Ю. И.

Серпухов 2012

Реферат

Ключевые слова: ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ, УГРОЗЫ БЕЗОПАСНОСТИ ПО, СРЕДСТВА ЗАЩИТЫ ПО, МЕТОДЫ АНАЛИЗА БЕЗОПАСНОСТИ ПО, СРЕДСТВА ДЕСТРУКТИВНОГО ВОЗДЕЙСТВИЯ НА ПО.

Цель работы - выявить наиболее эффективные средства и методы защиты программного обеспечения.

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

Содержание

Введение

1. Воздействие вредоносных средств на безопасность ПО

2. Методы анализа безопасности программного обеспечения

2.1 Контрольно-испытательные методы

2.2 Логико-аналитические методы

3. Сравнительный анализ программно-технических средств защиты ПО

3.1 Парольная защита

3.2 Системы «привязки» ПО

3.3 Средства защиты ПО с электронными ключами

3.4 Средства защиты ПО с ключевыми дисками

4. Анализ правовых средств защиты ПО

4.1 Лицензирование ПО

4.2 Патентование ПО

4.3 Авторское право

4.4 Метод авторизации ПО через Интернет

Заключение

Список использованных источников

Обозначения и сокращения

ПК - персональный компьютер

ПО - программное обеспечение

ИТ - информационные технологии

КС - компьютерная система

ИС - информационная система

РПС - разрушающее программное средство

НСД - несанкционированный доступ

СЗПО - средства защиты программного обеспечения

Введение

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

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

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

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

1. Анализ воздействия вредоносных средств на безопасность ПО

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

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

Рисунок 1 - График увеличения количества компьютерных вирусов

Таблица 1 - Примеры проявления компьютерных вирусов в истории

Год

События, цифры, факты

21.11. 1988

Вирус Morris на 24 часа вывел из строя сеть ARPANET. Ущерб составил 98 млн. долларов.

1986 - 1989

Зарегистрировано 450 случаев попыток НСД и заражения вирусами (220 - успешные) сети МО США DDN.

1992

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

26. 03. 1999

Вирус Melissa распространялся через почтовые сообщения, причинивший ущерб на общую сумму в 80 млн. долларов.

2000

Вирус I Love You считается самым вредоносным за всю историю существования Интернета. Нанес ущерб в 5,5 млрд. долларов.

2003

Вирус Slammer - самый агрессивный вирус, уничтожил данные с 75 тыс. компьютеров за 10 минут.

2004

Вирус My Doom - самый быстрый вирус электронной почты. При заражении компьютера вирус модифицирует операционную систему.

2007

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

2008

Вирус Conflicker атакует операционные системы семейства Microsoft Windows. Заразил свыше 12 млн. компьютеров всего мира. 12 февраля 2009 Microsoft обещал 250 000 долларов за информацию о создателях вируса.

В качестве основных средств вредоносного (деструктивного) воздействия на КС рассматривают алгоритмические и программные закладки.

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

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

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

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

? уменьшение скорости работы вычислительной системы;

? частичное или полное блокирование работы системы;

? имитация физических (аппаратурных) сбоев работы вычислительных

средств и периферийных устройств;

? переадресация сообщений;

? обход программно-аппаратных средств криптографического преобразования информации;

? обеспечение доступа в систему с непредусмотренных периферийных устройств.

Несанкционированное считывание информации, осуществляемое в автоматизированных системах, направлено на:

? считывание паролей и их отождествление с конкретными пользователями;

? получение секретной информации;

? идентификацию информации, запрашиваемой пользователями;

? подмену паролей с целью доступа к информации;

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

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

? разрушение данных и кодов исполняемых программ внесение тонких, трудно обнаруживаемых изменений в информационные массивы;

? внедрение программных закладок в другие программы и подпрограммы (вирусный механизм воздействий);

? искажение или уничтожение собственной информации сервера и тем самым нарушение работы сети;

? модификация пакетов сообщений.

2. Методы анализа безопасности программного обеспечения

2.1 Контрольно-испытательные методы

программный обеспечение защита лицензирование

Контрольно-испытательные методы - это методы, в которых критерием безопасности программы служит факт регистрации в ходе тестирования программы нарушения требований по безопасности, предъявляемых в системе предполагаемого применения исследуемой программы. Тестирование может проводиться с помощью тестовых запусков, исполнения в виртуальной программной среде, с помощью символического выполнения программы, ее интерпретации и другими методами [4].

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

Рассмотрим схему анализа безопасности программы контрольно-испытательным методом, представленную на рисунке 2.

Рисунок 2 - Схема анализа безопасности ПО с помощью контрольно-испытательных методов

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

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

2.2 Логико-аналитические методы

При проведении анализа безопасности с помощью логико-аналитических методов строится модель программы и формально доказывается эквивалентность модели исследуемой программы и модели РПС. В простейшем случае в качестве модели программы может выступать ее битовый образ, в качестве моделей вирусов множество их сигнатур, а доказательство эквивалентности состоит в поиске сигнатур вирусов в программе. Более сложные методы используют формальные модели, основанные на совокупности признаков, свойственных той или иной группе РПС [4]. Рассмотрим схему анализа безопасности программы логико-аналитическим методом, представленную на рисунке 3.

Рисунок 3 - Схема анализа безопасности ПО с помощью логико-аналитических методов

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

На основании полученных результатов можно сделать заключение о степени безопасности программы. Ключевыми понятиями здесь являются «способ представления» и «модель программы». Дело в том, что на компьютерную программу можно смотреть с очень многих точек зрения - это и алгоритм, который она реализует, и последовательность команд процессора, и файл, содержащий последовательность байтов и т.д. Все эти понятия образуют иерархию моделей компьютерных программ. Можно выбрать модель любого уровня и способ ее представления, необходимо только чтобы модель РПС и программы были заданы одним и тем же способом, с использованием понятий одного уровня. Другой серьезной проблемой является создание формальных моделей программ, или хотя бы определенных классов РПС.

В целом полный процесс анализа ПО включает в себя три вида анализа [3]:

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

1) сигнатуры вирусов;

2) сигнатуры элементов РПС;

3) сигнатуры (лексемы) «подозрительных функций»;

б) синтаксический верификационный анализ - предполагает поиск, распознавание и классификацию синтаксических структур РПС, а также построение структурно - алгоритмической модели самой программы;

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

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

3. Сравнительный анализ программно-технических средств защиты ПО

3.1 Парольная защита

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

Процедуры парольной защиты просты в реализации и, поэтому, очень часто применяются производителями ПО. Большинство парольных СЗПО использует логические механизмы, сводящиеся к проверке правильности пароля/кода и запуске или не запуске ПО, в зависимости от результатов проверки. Существуют так же системы, шифрующие защищаемое ПО и использующие пароль или производную от него величину как ключ дешифрации, большинство таких систем использует слабые или простейшие алгоритмы шифрования, нестойкие к направленным атакам. Лишь в последнее время разработаны парольные СЗПО, реализующие стойкие криптоалгоритмы типа DES и RSA, они реализованы в виде защитного модуля и вспомогательных библиотек и устанавливаются на уже скомпилированные модули ПО [2].

Слабым звеном парольных защит является блок проверки правильности введённого пароля/кода. Для такой проверки можно сравнивать введённый пароль с записанным в коде ПО правильным либо с правильно сгенерированным из введённых дополнительных данных паролем. Путём анализа процедур проверки можно найти реальный пароль, записанный в коде ПО, найти правильно сгенерированный пароль из введённых данных либо создать программу для перебора паролей для определения пароля с нужной ХЭШ - суммой. Кроме того, если СЗПО не использует шифрования, достаточно лишь принудительно изменить логику проверки для получения беспрепятственного доступа к ПО [5].

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

Рисунок 4 - Схема установления подлинности пользователя

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

Положительные стороны парольной защиты [1]:

? надёжная защита от злоумышленника-непрофессионала;

? минимальные неудобства для пользователя;

? возможность передачи пароля/кода по сети;

? отсутствие конфликтов с системным и прикладным ПО и аппаратным обеспечением;

Отрицательные стороны парольной защиты:

? низкая стойкость большинства систем защиты данного типа;

? пользователю необходимо запоминать пароль/код.

Надежный пароль должен удовлетворять целому ряду требований:

а) пароль должен быть секретным:

1) недопустимо отображение пароля на экране;

2) записанный пароль нельзя хранить в местах, доступных неавторизованным лицам;

3) файл паролей должен иметь надежную криптографическую защиту;

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

б) пароль должен быть длинным. Пароль должен состоять не менее чем из 8 символов, иначе он легко может быть взломан программами прямого перебора;

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

д) пароль не должен представлять собой распространенные слова, имена, названия для защиты от атаки со словарем.

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

ж) пароль должен значительно отличаться от паролей, использовавшихся ранее.

и) каждый пароль должен использоваться уникально - только одним пользователем и для получения доступа только к одной из программ. Нельзя использовать один и тот же пароль для доступа к нескольким программам.

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

л) пароль должен немедленно заменяться, если есть подозрения, что он мог быть раскрыт.

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

3.2 Системы «привязки» ПО

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

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

Положительные факторы:

? не требуется добавочных аппаратных средств для работы защиты;

? затруднение несанкционированного доступа к скопированному ПО;

? простота применения.

Отрицательные факторы:

? ложные срабатывания СЗПО при любых изменениях в параметрах ПК;

? низкая стойкость при доступе злоумышленника к ПК пользователя;

? возможность конфликтов с системным ПО.

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

3.3 Средства защиты ПО с электронными ключами

Этот класс СЗПО в последнее время приобретает все большую популярность среди производителей ПО. Данные средства основаны на использовании так называемых «аппаратных (электронных) ключей». Электронный ключ - это аппаратная часть системы защиты, представляющая собой плату с микросхемами памяти и, в некоторых случаях, микропроцессором, помещенную в корпус и предназначенную для установки в один из стандартных портов ПК (COMM, LPT, PCMCIA, USB) или слот расширения материнской платы. Так же в качестве такого устройства могут использоваться СМАРТ - карты. По результатам проведенного анализа, данные средства защиты в настоящий момент являются одними из самых стойких систем защиты ПО от НСД. Защита программы основывается на том, что только разработчику известен полный алгоритм работы ключа.

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

Самыми стойкими являются системы с аппаратной частью второго типа. Такие комплексы содержат в аппаратной части не только ключ дешифрации, но и блоки шифрации/дешифрации данных, таким образом при работе защиты в электронный ключ передаются блоки зашифрованной информации, а принимаются оттуда расшифрованные данные. В системах этого типа достаточно сложно перехватить ключ дешифрации так как все процедуры выполняются аппаратной частью, но остается возможность принудительного сохранения защищенной программы в открытом виде после отработки системы защиты. Кроме того, к ним применимы методы криптоанализа [2].

Положительные факторы:

? значительное затруднение нелегального использования ПО;

? избавление производителя ПО от разработки собственной системы защиты;

? высокая автоматизация процесса защиты ПО;

? наличие API системы для более глубокой защиты;

? возможность легкого создания демо-версий;

? достаточно большой выбор таких систем на рынке.

Отрицательные факторы:

? затруднение разработки и отладки ПО из - за ограничений со стороны средств защиты;

? дополнительные затраты на приобретение системы защиты и обучение персонала;

? замедление продаж из-за необходимости физической передачи аппаратной части;

? повышение системных требований из-за защиты;

? снижение отказоустойчивости ПО;

? несовместимость систем защиты и системного или прикладного ПО пользователя;

? несовместимость защиты и аппаратуры пользователя;

? несовместимости электронных ключей различных фирм;

? снижение расширяемости компьютерной системы;

? наличие у аппаратной части размеров и веса;

? угроза кражи аппаратного ключа.

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

3.4 Средства защиты ПО с ключевыми дисками

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

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

Есть четыре основных способа создания не копируемых меток на дисках:

1) считывание конкретного сектора диска. Это самый простой способ защиты, при копировании «дорожка в дорожку» диск копируется.

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

3) нестандартное форматирование дискеты. Известна программа FDA (Floppy Disk Analyzer), которая могла проводить исследование и копирование таких дискет.

4) «Плавающий бит». Один бит записывается так, что в некоторых случаях он читается как «0», в некоторых как «1». Проводится многократное считывание дискеты; среди результатов считывания должны быть и нули, и единицы [5].

Положительные факторы:

? значительное затруднение нелегального использования ПО;

? избавление производителя ПО от разработки собственной системы защиты;

? высокая автоматизация процесса защиты ПО;

? возможность легкого создания демо-версий.

Отрицательные факторы:

? затруднение разработки и отладки ПО;

? повышение системных требований из-за защиты;

? несовместимость систем защиты и системного или прикладного программного обеспечения пользователя;

? снижение отказоустойчивости ПО;

? несовместимость защиты и аппаратуры пользователя.

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

4. Анализ правовых средств защиты ПО

4.1 Лицензирование ПО

Суть любой из систем лицензирования заключается в том, что после установки программного обеспечения на локальный компьютер пользователю необходимо получить от производителя ключ, который был бы тем или иным образом привязан к компьютеру (в основном), хотя это может быть и банальный пароль, и вовсе необязательно этот ключ привязан к компьютеру. Системы лицензирования бывают как «одна лицензия - один компьютер» так и «одна лицензия - один пользователь». Как правило, для этих целей используют механизм заполнения анкеты на сайте производителя (для идентификации пользователей) + пересылку (на тот же сайт) специального идентификатора компьютера, на основе которого и выполняется генерация ключа. Как правило, в ключе, в зашифрованном виде, содержится информация о пользователе, продукте и числе лицензий [1].

Ярким представителем системы лицензирования является Globertrotter FlexLM - система лицензирования, которую используют многие компании, работающие на корпоративном рынке. Данной системой пользуются такие крупные компании как Rational, AliasWavefront и многие другие.

FlexLM (и ряд других компаний) предлагает два типа лицензий: Floating и Node Locked.

Floating - плавающий тип лицензий. Данный вид лицензий устанавливается на сервер и оговаривает число одновременно работающих машин в сети. То есть, имея 10 лицензий, с продуктом могут только 10 машин одновременно, но продукт можно инсталлировать на сколь угодно рабочих мест. Данный тип защиты позволяет продукту распространяться, но запускать его одновременно можно только на ограниченном числе машин. Защита наиболее эффективна на корпоративном рынке, где работает много специалистов. На лицо экономическая выгода, основывающаяся на том, что не все пользователи одновременно работают с одними и теми же программами. В случае корпоративного применения возможна экономия от 80% до 50% от общего числа необходимых лицензий.

Node Locked - фиксированный тип лицензий. Данный способ защиты позволяет работать только на одной машине. Способ хорошо подходит для индивидуальных пользователей, которым необходимо работать только с одной рабочей машины. Как правило, стоимость Floating лицензии выше, чем Node Locked в силу вышеуказанных причин. Также лицензии делятся на две категории: постоянные и временные.

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

Постоянные - снимают все ограничения по срокам, но привязываются к конкретной машине.

Модули лицензирования типа FlexLM являются встроенными системами, то есть они встраиваются в программный продукт уже после его окончательной разработки. Лицензия FlexLM запрашивается либо в момент старта продукта, либо при выполнении определенных операций [4].

Для идентификации машины используется множество способов. Вот основные способы привязок:

? привязка к серийному номеру жесткого диска;

? привязка к MAC-адресу сетевой карты;

? привязка к контрольной сумме BIOS;

? привязка к различным характеристикам системы.

4.2 Патентование ПО

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

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

4.3 Авторское право

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

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

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

Однако без регистрации держатель авторского права не может реализовать свои права. Например, он не может возбудить иск о нарушении его права и не может получить возмещение [1].

Авторское право защищает программное обеспечение от копирования, но не защищает от независимого создания эквивалентов.

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

Различают две категории прав:

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

2) моральные права, обеспечивающие защиту личности автора в его изобретении (программном обеспечении).

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

4.4 Метод авторизации ПО через Интернет

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

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

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

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

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

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

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

Заключение

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

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

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

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

Список использованных источников

1. Казарин О. В. Безопасность программного обеспечения компьютерных систем. ? М.: МГУЛ, 2003. ? 212 с.

2. Казарин О. В. Два подхода к созданию программного обеспечения на базе алгоритмически безопасных процедур: Учебное пособие. ? М.: МГУЛ, 1997. ? 120 с.

3. Ященко В. В. Введение в криптографию. - М.: МЦНМО: «ЧеРо», 2003. - 272 с.

4. Середа С. А. Программно-аппаратные системы защиты программного обеспечения. - ЭР: http://www.ase.md/~osa/publ/ru/pubru427.html.

5. Белкин П. Ю. Новое поколение вирусов принципы работы и методы защиты. ? СПб.: Наука, 1999. - 211 c.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.