Автор работы: Пользователь скрыл имя, 03 Апреля 2011 в 00:55, курсовая работа
В эпиграф к статье вынесена выдержка из закона об авторском праве и смежных правах от 9 июля 1993 года. В законе есть достаточное количество статей стоящих на страже авторства на программное обеспечение или на базы данных, вот только нарушаются они сплошь и рядом как в России, так и за ее пределами: процветает нелегальное копирование продукции, взлом программного обеспечения и откровенное воровство баз данных.
Анализ рынка средств защиты программного обеспечения от несанкционированного копирования.
Новичков Александр
"…Использование программ для ЭВМ или базы данных третьими лицами
(пользователями) осуществляется на основании договора с правообладателем…"
-фрагмент закона
об интеллектуальной собственности
Введение
В эпиграф к
статье вынесена выдержка из закона об
авторском праве и смежных
правах от 9 июля 1993 года. В законе есть
достаточное количество статей стоящих
на страже авторства на программное
обеспечение или на базы данных, вот только
нарушаются они сплошь и рядом как в России,
так и за ее пределами: процветает нелегальное
копирование продукции, взлом программного
обеспечения и откровенное воровство
баз данных. К всеобщему горю Россия остается
одним из главных потребителей пиратской
продукции, поскольку в стране имеется
солидный спрос на продукцию софтверных
компаний, а уровень доходов населения
не позволяет покупать лицензии по общемировым
ценам. Отсюда и бешенный спрос на пиратскую
продукцию, которая появляется невзирая
на системы защиты от копирования, которые
производители устанавливают на свои
разработки. Вскрывается все, ну или почти
все! Причин масса, это и слабое Российское
законодательство, вернее законодательство
хорошее, только вот его исполнение плохое.
Также причиной пиратства является ценовая
недоступность легальных копий продукта,
в силу высокой стоимости - стоимость по
мировым ценам, а зарплата в России далеко
не мировая.
Ну, вот еще
один защитник запада нашелся - подумает
читатель и будет не прав! Несостоятельность
Российских законов приводит к тому, что
все отечественные компании, которые умеют
делать софт на должном уровне ничего,
или почти ничего не делают для внутреннего,
Российского рынка, уходя в различные
совместные предприятия, работая на западные
рынки ПО. Здесь на лицо то, что принято
называть утечкой мозгов, по крайней мере
в софтверной области. Россия, имея все
что нужно для производства ПО мирового
уровня практически ничего не делает для
внутреннего рынка, поскольку получить
с него доход весьма и весьма сложно.
Остаются на
месте только крупные компании, которые
уже сделали себе имя, и имеющие
стабильное количество легальных пользователей
(пример тому бухгалтерские и правовые
программы). Кстати, на заре 90х годов
практически каждая из данных компаний
разрабатывала свою систему защиты от
копирования с той или иной степенью надежности.
Также в середине 90х годов многими компаниями
применялась тактика физического воздействия
на торговцев продукцией, но и эта мера
не возымела должного эффекта.
Итак, что мы
имеем?
1 - невозможность
компаниями-разработчиками ПО
2 - не имеем
полноценного законодательства, которое
не только декларирует права,
но и ревностно отслеживает их
исполнение (рейды по злачным местам раз
в год - не в счет).
Так мы плавно подошли
к одному возможному выводу - раз
законодательства пока нет, значит необходимо
своими силами защищать программное
обеспечение при помощи тех программных
средств, которые будут противодействовать
пиратам заполонять рынок контрафактной
продукцией. Может здесь и получится нечто
полезное, ведь получилось же некоторым
компаниям-производителям игр сделать
так, что их официальная продукция пользуется
высоким спросом, даже несмотря на то,
что наравне с легальной продукцией продается
и пиратская.
Добиться удалось
это и Российским и западным компаниям.
Российским удалось защитить свои продукты
мудреными защитами, а западные смогли
предоставить он-лайн сервисы, при наличии
которых пользователь расширяет возможности
продукта (если говорить об играх, то это,
как правило, доступ к серверам для многопользовательской
игры). Значит не все так плохо! И бороться
за рынок ПО можно, правда пока дополнительными
средствами и мудреными защитами!
Статья, которую
Вы держите в руках является попыткой
автора посмотреть на рынок специальных
программных средств для охраны
авторского права, которые запрещают
нелегальное копирование или
изменение программное
Теперь, непосредственно
о защите. Давайте попробуем выдвинуть
ряд критероиев, которые можно
предъявить к подобной системе защиты,
чтобы она смогла стать популярной:
Защита должна быть с большим запасом прочности. Учитывать высокий уровень пиратов вообще, и Российских в частности, способная противостоять их натиску долгое время;
Не использовать для защиты дорогие дополнительные аппаратные приспособления, которые только повышают стоимость защиты, а стало быть, и конечного продукта;
Не привязываться к аппаратной конфигурации компьютера, поскольку персональный компьютер не есть вещь в себе, и его отдельные компоненты могут и должны быть заменяемыми по мере старения;
Должна быть основана на оригинальных принципах защиты от взлома. Показателем критерия может служить тот факт, что защита еще не взломана, либо взломана, но всеми возможными способами;
Не препятствует свободному копированию защищенных данных (должна запрещать только несанкционированный запуск, то есть копируется копировщиком, но не исполняется);
Несущественно удорожает стоимость конечного продукта.
Взлом и защита: противоборство брони и снаряда в электронном мире…
Во время использования
MS-DOS (ныне почти покойной) наработана
масса способов, позволяющих относительно
надежно идентифицировать легальность
запуска того или иного приложения. Существует
масса приемов того, как можно обманывать
отладчики и дизассемблеры, противодействуя,
тем самым, анализу логики защищаемого
приложения. С появлением на сцене Windows,
жизнь хакеров слегка упростилась, а защитников
усложнилась, в силу специфики реализации
данной системы. Появились умные отладчики
(один SoftIce чего стоит), интеллектуальные
дизассемблеры и прочее, и прочее... Становится
трудным находить новые приемы привязки
защиты к различным физическим меткам
и электронным ключам. А трудности связаны
с тем, что все приемы, помогающие ставить
не копируемые метки, и противодействовать
отладчикам, уже давно и хорошо известны
обеим "воюющим" сторонам.
Хотя, иногда появляются
и изюминки, благодаря которым война
"защитников" переходит на новый
виток развития, и война разгорается с
еще большей силой и на новом технологическом
витке.
Давайте, перед,
собственно, анализом имеющихся средств
защит программного обеспечения, попробуем
понять, как они работают. Еще хочется
отметить, что данная статья не есть пособие
для пишущих и ломающих защиты, для этого
есть специальные издания и более профессиональные
авторы, которые заняты не написанием
статей, а работой над новыми методами
защиты и взлома.
Начнем со структурного
введения, и поделим, на составляющие,
само слово "защита". Представим его
в виде двух подсистем:
первая - представляет
собой тот или иной способ постановки
любой метки на носителе, которую
было бы невозможно, или весьма затруднительно
перенести (скопировать) или воспроизвести
программными методами (эмулировать);
вторая - это
встраиваемый в защищаемое приложение
модуль, который проверяет наличие
заранее установленной метки.
Основой любой
защиты можно считать ее способность
к идентификации носителя, с которым
она попала к пользователю. И не просто
к идентификации, а к способности отличить
данный носитель от нелегальной копии.
Причем, уровень защиты на данном этапе
должен быть такими, чтобы та условная
метка или характеристика, которая была
присуща данному носителю, не воспроизводилась
любыми средствами битового копирования.
Эффективность данного этапа определяет
стойкость защиты к элементарному взлому,
когда пользователю достаточно запустить
CloneCD, и не о чем больше не думать.
Если защите
удалось найти способ получения
не копируемых дисков (StarForce, CD-Cops, TAGES),
то надо обезопасить себя от следующей
напасти - от эмуляторов устройств. Многие
пираты прибегают к тактике эмуляции
характеристик диск, создавая виртуальные
драйверы устройств, позволяющих обманывать
систему защиты. К сожалению, практически
все средства защиты от копирования, рассматриваемые
в данной статье, уже взломаны подобным
образом (см. врезки).
Если еще раз
вернуться к механизму
Похоже, приходится
констатировать тот факт, что физические
привязки останутся в прошлом, а на смену
им придут подобного рада способы защиты.
И еще заметьте (см. табл.), защиты StarForce,
CD-Cops и TAGES не взламываются побитовыми
копировщиками и эмуляторами, поскольку
физические характеристики носителей
хакеры еще не научились воспроизводить
программно (эмуляторы), и их невозможно
копировать (копировщики).
То есть на данном
этапе можно констатировать, что
имеется ряд защит, которые используют
передовые способы
Следующий по очереди,
но не по важности, атрибут защиты это
резидентная программная часть,
способная на 100% идентифицировать метку
или характеристику носителя, с которого
она была запущена.
Если рассмотреть
способ защиты модуля от взлома, то получается
такая картина: третья компания разрабатывает
программный продукт, скажем, один файл
в формате EXE, и передает его создателям
защиты. Последние специальным образом
встраивают специальный код идентификации
в данный EXE модуль, ставят не копируемую
метку. Цель хакера на этом этапе: либо
полностью удалить защитный модуль, либо
найти тот участок в коде защиты, который
отвечает за идентификацию, и изменить
только его (поменять условие проверки).
Цель защиты - противодействовать всем
методам взлома, причем продвинутая защита
должна защищать не только себя, но и модули
того файла, к которому ее присоединили.
Последнее возможно в том случае если
защита имеет открытый расширенный SDK
(Software Development Kit), который позволяет разработчикам
приложений встраивать защиту в свой модуль
уже на этапе разработки собственного
приложения. Такая система может существенно
усложнить жизнь хакерам.
Для вскрытия программной
защиты хакер может выбрать следующее
(развернуто об атаках смотрите во врезке):
Получить код
программы любым известным
Проанализировать ход исполнения программы специальным отладчиком.
Получить слепок программы в памяти, которая исполнилась после проверки защитой диск (дампер).
Поставить набор контрольных точек в заданных местах, чтобы не анализировать весь код, а только его части, с указанных адресов.
Приведенные способы
атак показывают, что хакер будет
предпринимать, и что должна уметь
делать любая защита, чтобы этого не
допустить.
С этим сектором
все очень плохо. Практически
все защиты уже взломаны, невзирая
на ухищрения, предпринимаемыми компаниями-защитниками.
Тут действуют несколько