Анализ рынка средств защиты программного обеспечения от несанкционированного копирования.Часть I. StarForce."…Использование программы для ЭВМ или базы
данных третьими лицами Новичков А. ВведениеДанная статья целиком просвещена описанию системы защиты от нелегального копирования программного обеспечения. Система защиты называется Star Force, а ее родителем-производителем молодая Российская компания Protection Technology. Ниже по тексту я опишу систему защиты и ее принципиальную эффективность, но сначала хотелось бы немного отвлечься на общий предмет - предмет защиты интеллектуальной собственности… В эпиграф к статье вынесена выдержка из закона об авторском праве и смежных правах от 9 июля 1993 года. В законе есть достаточное количество статей стоящих на страже авторства на программное обеспечение или на базы данных, вот только нарушаются они сплошь и рядом как в России, так и за ее пределами: процветает нелегальное копирование продукции, взлом программного обеспечения и откровенное воровство баз данных. Ко всеобщему горю Россия остается одним из главных потребителей пиратской продукции, поскольку в стране имеется солидный спрос на продукцию софтверных компаний, а уровень доходов населения не позволяет покупать лицензии по общемировым ценам. Отсюда и бешенный спрос на пиратскую продукцию, которая появляется невзирая на системы защиты от копирования, которые западные производители устанавливают на свои разработки - все вскрывается… Здесь кроется еще одна проблема - наличие высококвалифицированных системных разработчиков и шаблонность, однотипность если хотите, подходов, используемых в защитах. Все делается по заранее установленным сценариям и методам, которые одинаково хорошо знакомы как разработчикам защит, так и тем, кто их вскрывает. Ну, вот еще один защитник запада нашелся - подумает и будет не прав! Несостоятельность Российских законов приводит к тому, что все отечественные компании, которые умеют делать софт на должном уровне ничего, или почти ничего не делают для внутреннего, Российского рынка, уходя в различные совместные предприятия, работая на западные рынки ПО. Остаются на месте только крупные компании, которые уже сделали себе имя, и имеющими стабильное количество легальных пользователей. Кстати, на заре 90х годов практически каждая из данных компаний разрабатывала свою систему защиты от копирования с той или иной степенью надежности. И все равно, защита вскрывалась и продукция в буквальном смысле выхлестывалась на прилавки рынков и коммерческих палаток. Также в середине 90х годов многими компаниями применялась тактика физического воздействия на торговцев продукцией, но и эта мера не возымела должного эффекта. Кстати, не все так уж плохо. Обратите внимание на игровой рынок! Что там наблюдается? А наблюдается тенденция снижения цен на игровую продукцию для Российского рынка. За счет снижения стоимости у компаний-производителей игровой продукции появляется больше легальных пользователей, невзирая даже на то, что ворованные копии игр также распространяются относительно свободно. А связано это с тем, что игровая отрасль сделала то, что делает сложным полноценный взлом: они придумали дополнительный комплект услуг, недоступный после взлома, такой как многопользовательские игры через Интернет. Это неплохой вариант, но он сложно применим как программным продуктам, где нет необходимости в работе через Интернет… Каков же итог на начало 21 столетия? Россия по-прежнему плетется в хвосте у всех индустриально развитых держав по объему выпуска программного обеспечения для внутреннего рынка. И дело здесь не только в конкуренции, просто, как говорилось выше, молодые Российские компании просто не могут себе бесплатно раздавать свою продукцию, а разрабатывать каждому свою систему защиты и трудно и дорого и не нужно. Использование же имеющихся средств защит сталкиваются либо с высокой стоимостью оной (например, при использовании защит на основе HASP), либо с невысокой стойкостью к взлому. Кажется, что нет выхода из этого круга, и Россия всегда будет в хвосте? Нет, думаю, этого не произойдет! Для подъема отечественного разработчика нужно не ужесточение законов о смежных правах (как хотят многие сделать), а разработку принципиально новой и недорогой системы защиты, устойчивой к взломам. И которая, не раздражала бы конечного пользователя своей назойливостью. Если привести критерии такой защиты, то может получиться нижеследующее:
Здесь хочется отметить, что данная статья является лишь первой в серии о средствах защиты ПО от нелегального копирования. Для начала выбрана компания StarForce не случайно, поскольку автор нашел ссылку на нее на хакерских сайтах, где в форумах поступали жалобы на то, что "проги" с такой защитой не ломаются. Автору показалось это значительным фактором, поскольку, обычно защиты ломаются достаточно быстро, а тут год эксплуатации с нулевым эффектом для хакеров. Читайте продолжения статьи о других, не менее интересных, средствах. Star ForceЗа время использования незабвенной MS-DOS наработана масса способов, позволяющих относительно надежно идентифицировать легальность запуска того или иного приложения. Существует масса приемов того, как можно обманывать отладчики и дизассемблеры, противодействуя, тем самым, анализу логики защищаемого приложения. С появлением на сцене Windows, жизнь хакеров слегка упростилась, а защитников усложнилась, в силу специфики реализации данной системы: появились умные отладчики (наподобие SoftIce), интеллектуальные дизассемблеры и прочее и прочее... Становится трудным находить новые приемы привязки защиты к различным физическим меткам и HASP'ам. А трудности связаны с тем, что все приемы, помогающие ставить не копируемые метки, и противодействовать отладчикам уже давно известны обеим "воюющим" сторонам: и разработчикам защит и тем, кто их вскрывает. Уже не для кого не является секретом, что любую, не копируемую метку можно скопировать, HASP трудно, но можно обойти. Под SoftIce можно пошагово пройти часть приложения, а другую часть снять дизассемблером, и здесь не помогают даже такие приемы как шифрование части исполняемого кода. В то время как прогресс во всех областях IT наблюдается невооруженным взглядом, то развитие систем защиты топчется на одном месте. Большинство систем защит стали пародиями на самих себя, перенимая друг у друга различные приемы, давно являющие собой процесс повторного изобретения велосипеда. Кажется круг замкнулся и выхода из сложившейся ситуации нет… Ан нет за последнее время появились очень удачные, и что немаловажно, неординарные системы защиты интеллектуальной собственности. И что отрадно одна из подобных систем появилась именно в Росси: "Российским хакерам Российскую систему от Российских разработчиков!" Перейдем от общих слов к предмету. Система Star Force от компании Protection Technology, недавно появившейся на рынке средств защиты ПО, а уже громко заявила о себе создав защиту, которую на протяжении коммерческой эксплуатация еще не вскрыл не один хакер, а компании, которые доверили данной защите свои детища до сих пор получают дивиденды от легальных продаж. Что же такого оригинального и нового в этой защите? Что делает ее такой неуязвимой? Давайте разобьем любую систему защиты на 2 подсистемы: 1) Собственно, способ нанесения любого не копируемого лейбла на любой носитель так, чтобы при дублировании кустарным способом данный лейбл не копировался.
На этих двух принципах работают все или почти все системы защиты
и нового здесь придумать нечего (или практически нечего), дело за
"немногим": нужно найти способ создания особых, невоспроизводимых,
меток (1ая подсистема) и надежный, не вскрываемый модуль, анализирующий
лейбл (2ая подсистема). Сравним существующие подходы и сравним с тем, что имеет в арсенале
Star Force: Подсистема №1 Традиционно: Недостатки: Star Force Подсистема №2 Традиционно: За истекшее десятилетие приемов наработана масса приемов противодействию вскрытию. В различных защитах используются разные подходы, реализованные с разными степенями надежности. Если писать об основных приемах написания защит, то можно выделить следующие:
И так далее… Перечислять все способы нет смысла, поскольку они хорошо известны и описаны в прессе и Интернете. Недостатки: 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:
Почему именно Star Force?
|