[an error occurred while processing this directive]
[an error occurred while processing this directive]


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

Часть I. StarForce.

"…Использование программы для ЭВМ или базы данных третьими лицами
(пользователями) осуществляется на основании договора с правообладателем…"
-фрагмент закона об интеллектуальной собственности

Новичков А.
www.star-force.ru
support@star-force.ru

Введение

Данная статья целиком просвещена описанию системы защиты от нелегального копирования программного обеспечения. Система защиты называется Star Force, а ее родителем-производителем молодая Российская компания Protection Technology. Ниже по тексту я опишу систему защиты и ее принципиальную эффективность, но сначала хотелось бы немного отвлечься на общий предмет - предмет защиты интеллектуальной собственности…

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

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

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

Кстати, не все так уж плохо. Обратите внимание на игровой рынок! Что там наблюдается? А наблюдается тенденция снижения цен на игровую продукцию для Российского рынка. За счет снижения стоимости у компаний-производителей игровой продукции появляется больше легальных пользователей, невзирая даже на то, что ворованные копии игр также распространяются относительно свободно. А связано это с тем, что игровая отрасль сделала то, что делает сложным полноценный взлом: они придумали дополнительный комплект услуг, недоступный после взлома, такой как многопользовательские игры через Интернет. Это неплохой вариант, но он сложно применим как программным продуктам, где нет необходимости в работе через Интернет…

Каков же итог на начало 21 столетия? Россия по-прежнему плетется в хвосте у всех индустриально развитых держав по объему выпуска программного обеспечения для внутреннего рынка. И дело здесь не только в конкуренции, просто, как говорилось выше, молодые Российские компании просто не могут себе бесплатно раздавать свою продукцию, а разрабатывать каждому свою систему защиты и трудно и дорого и не нужно. Использование же имеющихся средств защит сталкиваются либо с высокой стоимостью оной (например, при использовании защит на основе HASP), либо с невысокой стойкостью к взлому.

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

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

  • Отечественная защита, учитывающая высокий уровень Российских пиратов;
  • Не использующая аппаратных защит (HASP) в силу их высокой стоимости, что, как следствие пагубно сказывается на стоимости конечного продукта;
  • Не привязывающаяся к аппаратной конфигурации компьютера, поскольку персональный компьютер не есть вещь в себе, и его отдельные компоненты могут и должны быть заменяемыми по мере старения;
  • Основанная на оригинальных принципах защиты от взлома. Таких, которые еще были вскрыты хакерами
  • Не препятствующая свободному копированию защищенных данных (должна запрещать только несанкционированный запуск)
  • Не на много удорожающую стоимость конечного продукта.

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

Star Force

За время использования незабвенной MS-DOS наработана масса способов, позволяющих относительно надежно идентифицировать легальность запуска того или иного приложения. Существует масса приемов того, как можно обманывать отладчики и дизассемблеры, противодействуя, тем самым, анализу логики защищаемого приложения. С появлением на сцене Windows, жизнь хакеров слегка упростилась, а защитников усложнилась, в силу специфики реализации данной системы: появились умные отладчики (наподобие SoftIce), интеллектуальные дизассемблеры и прочее и прочее... Становится трудным находить новые приемы привязки защиты к различным физическим меткам и HASP'ам. А трудности связаны с тем, что все приемы, помогающие ставить не копируемые метки, и противодействовать отладчикам уже давно известны обеим "воюющим" сторонам: и разработчикам защит и тем, кто их вскрывает.

Уже не для кого не является секретом, что любую, не копируемую метку можно скопировать, HASP трудно, но можно обойти. Под SoftIce можно пошагово пройти часть приложения, а другую часть снять дизассемблером, и здесь не помогают даже такие приемы как шифрование части исполняемого кода. В то время как прогресс во всех областях IT наблюдается невооруженным взглядом, то развитие систем защиты топчется на одном месте. Большинство систем защит стали пародиями на самих себя, перенимая друг у друга различные приемы, давно являющие собой процесс повторного изобретения велосипеда. Кажется круг замкнулся и выхода из сложившейся ситуации нет… Ан нет за последнее время появились очень удачные, и что немаловажно, неординарные системы защиты интеллектуальной собственности. И что отрадно одна из подобных систем появилась именно в Росси: "Российским хакерам Российскую систему от Российских разработчиков!"

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

Что же такого оригинального и нового в этой защите? Что делает ее такой неуязвимой?

Давайте разобьем любую систему защиты на 2 подсистемы:

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


2) Внедренный в приложение модуль, который анализирует носитель (CD-ROM, HASP) на присутствие данной метки. Подсистема противодействует отладчикам, для невозможности получения за один момент времени полного дампа защищаемой программы в памяти.

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

Сравним существующие подходы и сравним с тем, что имеет в арсенале Star Force:

Подсистема №1

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

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

Star Force
Защита абсолютно свободна от всех перечисленных недостатков, поскольку, привязываясь к конкретному диску ничего на него не копирует и никак не помечает(!), то есть не создает никаких физических меток(!). Здесь кроется первое ноу-хау компании: ключ компакт диска для защиты приложения, генерируется для каждого отдельного диска на основе физических параметров диска, которые невозможно воспроизвести не одним из известных способов клонирования CD. То есть здесь происходит не привязка к данным, а привязка к физическим характеристикам конкретного носителя.

Подсистема №2

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

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

  • Защита пишется целиком на ассемблере;
  • Присутствуют механизмы расчета контрольных сумм;
  • Используются отладочные прерывания в собственных целях (и иные антитрассировочные способы);
  • Шифруются фрагменты кода;
  • Используются механизмы многопоточности;
  • Вбрасывают "мусор" в тело защиты, для запутывания хакера;

И так далее… Перечислять все способы нет смысла, поскольку они хорошо известны и описаны в прессе и Интернете.

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

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

Суть способа сводится к тому, что бинарный код защищаемого приложения шифруется, и далее под управлением виртуальной машиной ретранслируется обратно и исполняется покомандно (на лицо динамическое шифрование). И это только один уровень защиты, по втором, разработчики на этапе проектирования собственного ПО могут получить специальный SDK и шифровать таким образом не все приложение, а любую функцию или процедуру, создавая тем самым самую трудно пробиваемую (неявно размазанную) защиту. Соответственно, только данный механизм на 99% противодействует дизассемблерам, поскольку код программы НИ РАЗУ нельзя отловить в незашифрованном состоянии.

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

Еще один момент, который надо учитывать: к системе Star Force невозможно написать кряк или универсальный кодогенератор, поскольку структура самой защиты не позволяет этого сделать.

К сожалению, большего раскрыть нельзя, поскольку существует одно хорошее правило: все механизмы защиты должны быть секретными. Но и сказанного выше вполне достаточно, для констатации появления системы защиты нового поколения Star Force.

Как оно работает и из чего состоит?

Работа не очень сложна, и доступна даже неспециалисту. Сначала компании, которая хочет защитить свой программный продукт заводят аккаунт на сервере Protection Technology. Далее, имея выход в Интернет, с помощью специального клиента Star Force, осуществляется посылка исполняемого (а по большому счету - любого бинарного) модуля на сервер, где специальной программой осуществляется кодирование информации и возврат клиенту двух модулей, один из которых остаток приложения, а второй DLL библиотека, в которую "перекочевала" вся функциональность защищаемого модуля. Любая версия защиты устанавливается с рабочего компьютера заказчика посредством соединения с удаленным сервером "Star Force", который и осуществляет все ключевые операции установки: шифрование, разбиение, обратная отсылка.

По окончании защиты начинается штамповка продукта на CD или DVD. По окончании, для дисков данной партии генерируются (экстрагируются) ключи (cd-key's), на основе не копируемой физической структуры, специфичной для всех носителей данного тиража, поскольку для "штамповки" используются одинаковые материалы, одна матрица и одно оборудование).

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

Star Force состоит из трех программных систем Professional, CD-R и Soft:

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

CD-R - модификация Professional, направленная на защиту CD-R/RW и предназначена в основном для защиты небольших тиражей, а также для защиты различных бета-версий разрабатываемых продуктов

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

 

Почему именно Star Force?

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

  • Для установки защиты не требуется никакого дополнительного технологического оборудования;
  • Защита партии дисков происходит с компьютера заказчика;
  • Программное обеспечение, защищенное Star Force не копируется с помощью ЛЮБОЙ известной программой клонирования дисков;
  • Программные продукты, защищенные при помощи Star Force не запускаются при использовании эмуляторов дисков;
  • Имеются возможности по защите нескольких загрузочных модулей одного программного приложения;
  • Имеются возможности по защите мультидисковых приложений;
  • Наличие защиты отдельных функций защищаемых приложений;
  • Предотвращение написания универсальных кряков и генераторов ключей;
  • Разработчики Protection Technology постоянно модернизируют свою систему в соответствии с появлением новых методов в области взлома;
  • За год коммерческой эксплуатации системы не было произведено НИ ОДНОГО ВЗЛОМА
  • Защиту Star Force уже выбрали такие компании как Russobit и 1С

Итог

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

В следующей части статьи Вам будет представлено сравнение основных систем защиты ПО, естественно, в сравнении со Star Force.

Автор статьи готов вынести на себе любые вопросы и предложения по дальнейшему рассмотрению отечественных и зарубежных средств защиты от копирования по адресу alex-golder@mail.ru.


[an error occurred while processing this directive]

[an error occurred while processing this directive]