Protection Technology: защита по-русски
Продукты Protection Technology
В век глобальной информатизации защита интеллектуальной собственности приобретает первоочередное значение. В последнее время данная проблема стала еще более острой, поскольку значительное падение цен на диски CD-R/RW и приводы для их записи, а также широкое распространение специализированных программ-дупликаторов сделали процесс копирования доступным практически любому пользователю.
о оценкам некоторых специалистов, сегодня в России объемы нелегального копирования, осуществляемого в домашних условиях, уже вполне сопоставимы с аналогичным показателем «профессионального» пиратского рынка. Иными словами, примерно половина нелегальных копий программных продуктов издается заводским способом, а вторая половина — копируется самими пользователями на диски CD-R/RW. И если бороться с заводским пиратством, пусть и не без определенных сложностей, но все-таки удается (в конце концов «прятать» промышленное производство и большие склады в течение длительного периода весьма непросто), то эффективно противодействовать «домашнему» копированию уже практически невозможно.
Проблема усугубляется еще и тем, что многие системы защиты от нелегального копирования, используемые западноевропейскими и американскими издателями, имеют невысокую стойкость к взлому и требуют использования специального оборудования для производства лицензионных дисков. Поэтому появление на рынке защиты интеллектуальной собственности уникальных продуктов российского производства, по многим параметрам превосходящих зарубежные аналоги, несомненно, заслуживает внимания.
Как все начиналось
омпания Protection Technology была основана группой молодых программистов в 1998 году, и ее основной целью стала разработка принципиально новой системы защиты от копирования лицензионного ПО.
Обратиться именно к этой сфере деятельности побудили сразу несколько причин. Во-первых, рынок ПО в России стал расти, причем не только за счет импорта — к тому времени уже появились крупные российские издатели игровых и мультимедиа-продуктов, заинтересованные в эффективной защите собственных лицензионных продуктов. Во-вторых, масштабы распространения пиратского ПО в России на тот момент достигли 90% (то есть на одну легальную копию продукта приходилось девять нелегальных). И в-третьих, существовавшие технологии защиты от копирования, попавшие в Россию вместе с зарубежными программными продуктами, не могли удовлетворить разработчиков и издателей ПО. Главным недостатком таких систем была их низкая устойчивость к взлому. Как следствие, нелегальные копии защищенных такими системами программных продуктов вскоре после официального выпуска появлялись и на пиратском рынке.
Здесь необходимо пояснить, что наиболее популярные технологии защиты того времени строились на аппаратном нанесении физических меток в определенные области лицензионного CD. При попытке копирования диска стандартные программы записи не могли считать информацию из этих областей и процесс получения копии заканчивался ошибкой. Однако использование такой защиты возможно только при тиражировании на заводах, оснащенных специальным оборудованием. Такие заводы имеются в ряде европейских стран, а также в США, Японии и Австралии.
В отличие от упомянутых систем, разработки Protection Technology изначально были нацелены на создание защиты, не требующей использования специального оборудования — для того чтобы тиражирование защищенных дисков можно было осуществлять на любом заводе. В основу был положен принцип определения легальности копии по результатам проверки соответствия физических параметров установленного пользователем диска аналогичным параметрам лицензионного CD. Эти параметры нельзя ни скопировать, ни эмулировать, поскольку они определяются исключительно геометрией исходной матрицы, с которой была отпечатана партия заводских дисков. При этом диски, содержащие один и тот же программный продукт, но произведенные с разных матриц, будут различаться по своим физическим параметрам.
Уникальная технология, разработанная специалистами Protection Technology, позволила использовать всего один из лицензионных дисков и обыкновенный привод CD-ROM для извлечения 16-байтного ключа, содержащего информацию об оригинальных физических параметрах всей заводской партии. Этот ключ используется модулем защиты, встраиваемым в выполняемый файл программного приложения, в качестве эталона для идентификации лицензионных дисков. В 2000 году после лабораторного испытания рабочей версии продукта компания подала заявки в European Patent Office и United States Patent and Trademark Office на патентование новой технологии защиты от копирования, получившей название StarForce Copy Protection System.
Для того чтобы данное решение стало конкурентоспособным, необходимо было исключить слабые стороны, присущие многим современным системам защиты, — в первую очередь недостаточную антиотладочную базу и низкую устойчивость к профессиональному взлому. Поэтому специально для StarForce была разработана технология шифрования выполняемых файлов и реализован ряд решений, эффективных против современных методов реверсинга (reverse engineering) — таких как трассировка выполняемого кода с помощью отладчиков и восстановление дампа оперативной памяти. Шифрование программного кода осуществляется с использованием некоего псевдослучайного закона, поэтому при неоднократной защите даже одного и того же выполняемого файла все защищенные версии будут отличаться друг от друга. Это значительно затрудняет работу взломщиков, поскольку делает невозможной разработку универсального алгоритма нейтрализации защиты (так называемого generic crack), а следовательно, каждый из защищенных StarForce программных продуктов и обновлений для них придется взламывать по-новому.
Помимо собственно системы защиты специалисты Protection Technology внедрили клиент-серверную технологию ее установки — это первый подобный опыт в мире среди компаний, работающих в данной сфере. Такие ответственные операции, как шифрование выполняемых файлов приложения и извлечение (экстрагирование) ключа, выполняются исключительно удаленным сервером StarForce, и используемые для этого уникальные алгоритмы недоступны для злоумышленника. Кроме того, клиент-серверная технология позволяет издателям и разработчикам ПО производить полную процедуру установки защиты непосредственно со своего рабочего компьютера независимо от их местонахождения и времени суток. Единственное необходимое требование — наличие доступа в Интернет.
С ноября 2000 года, когда вышла первая коммерческая версия системы StarForce Professional, с ее помощью были защищены более 30 программных продуктов, изданных в России, СНГ, Испании, Корее, США и Чехии. Основную часть защищенных продуктов составляют популярные компьютерные игры. Для примера можно привести наиболее известные из них:
- «Казаки. Европейские войны» (GSC Game World, «Руссобит-М»);
- «Казаки. Последний довод королей» (GSC Game World, «Руссобит-М»);
- «Ил-2 Штурмовик» (Maddox Games, «1C»);
- «Демиурги» (Nival Interactive, «1С»);
- «Штырлиц 3 — Агент СССР» (МАГНАМЕДИА);
- «Герои меча и магии 4» («Бука», 3DO). Английская и русская версии;
- «Меч и Магия IX» («Бука», 3DO).
В настоящее время сфера деятельности Protection Technology охватывает разработку и поставку комплексных технологических решений в области защиты собственности авторов, разработчиков и издателей программных продуктов и иных видов интеллектуальной собственности, распространяемых в цифровом формате. Вот основные направления, на которых сосредоточены усилия специалистов компании:
- защита программного обеспечения и данных с привязкой к оптическим дискам, тиражи которых производятся на заводском оборудовании (CD/DVD-ROM) или на компьютерных приводах (CD-R);
- защита от взлома и модификации программного кода условно-бесплатных (shareware) приложений, распространяемых на любых типах носителей и через Интернет, а также построение лицензионных систем;
- защита информации с использованием электронных ключей.
А теперь самое время перейти к рассмотрению продуктов, выпускаемых Protection Technology.
Продукты Protection Technology
StarForce Professional
Это основной продукт Protection Technology, который представляет собой систему защиты от копирования программных продуктов, издаваемых на дисках CD-ROM большими тиражами, то есть в заводских условиях.
В основу системы положен принцип привязки ПО к физическим параметрам заводской партии лицензионных дисков, произведенных на стандартном оборудовании (для идентификации диска используется 24-байтный ключ). Кроме того, дополнительно поставляется комплект разработчика, позволяющий значительно увеличить стойкость защиты к взлому на этапе создания программного кода путем внедрения технологии callback- и loopback-функций.
Для установки StarForce Professional применяется клиент-серверная технология. При помощи простой программы Professional Wizard разработчик соединяется с удаленным сервером StarForce, в автоматическом режиме осуществляющим выполнение ключевых операций, таких как шифрование исполняемых файлов и программных библиотек приложения, а также извлечение (экстрагирование) открытого ключа для изготовленной на заводе партии лицензионных дисков.
В процессе запуска приложения модуль защиты генерирует запрос открытого ключа, напечатанного на упаковке диска. Пользователю необходимо ввести этот ключ только один раз. В том случае, если ключ соответствует параметрам используемого CD, система защиты записывает его в реестр компьютера, откуда он будет считываться автоматически при последующих запусках приложения. Если же ключ не соответствует параметрам установленного в привод диска, то приложение не запустится.
Однако это еще не все: в отличие от многих других систем защиты, StarForce Professional способна надежно защитить носители от утилит клонирования, а также воспрепятствовать использованию их содержимого путем эмуляции привода CD-ROM1.
StarForce CD-R
В отличие от предыдущего продукта, эта система предназначена для защиты от копирования предварительных и тестовых версий ПО, а также единичных экземпляров программ, тиражируемых при помощи привода CD-R или CD-дупликатора. Уникальность системы StarForce CD-R заключается в использовании специальных дисков CD-R, разработанных компанией Protection Technology. Работы по созданию StarForce CD-R длились более года, а первая публичная демонстрация коммерческой версии этого продукта состоялась на выставке Comtek’2002.
Основная проблема, с которой столкнулись разработчики данного проекта, заключалась в том, что использование применявшегося для носителей CD-ROM принципа привязки ПО к физическим параметрам диска применительно к CD-R оказалось неэффективным. Дело в том, что чистые диски CD-R, производимые с одной и той же заводской матрицы, могут быть беспрепятственно приобретены и использованы как разработчиками, так и пиратами.
В результате было решено использовать специальные записываемые диски, которые фактически являются одним из компонентов системы StarForce CD-R. В настоящее время производство этих дисков под маркой StarForce налажено на Уральском электромеханическом заводе (для их изготовления используются уникальные матрицы, разработанные специалистами Protection Technology). По своим физическим параметрам, используемым системой защиты для идентификации лицензионного ПО, данные диски отличаются от изделий других производителей. Правда, для этого пришлось слегка пожертвовать полезным объемом — для записи данных на спецносителях доступно лишь 615 Мбайт (против 650 и 700 Мбайт у стандартных носителей). Максимально допустимая скорость записи составляет 16х.
Как и в случае использования StarForce Professional, установка защиты StarForce CD-R происходит с использованием клиент-серверной технологии. При помощи программы CD-R Wizard разработчик выполняет ключевые операции — шифрование исполняемых файлов и программных библиотек, а также извлечение (экстрагирование) ключа. Различие заключается лишь в том, что тиражирование дисков осуществляется при помощи привода CD-R/RW, а ключ записывается непосредственно на диск. В процессе запуска приложения защита автоматически считывает ключ с диска. В том случае, если ключ не соответствует параметрам используемого CD, защита идентифицирует диск как нелегальную копию и не позволит запустить приложение.
StarForce CD-R абсолютно прозрачна для конечного пользователя — ему даже не потребуется вводить ключ.
Перспективные разработки
настоящее время специалисты Protection Technology ведут работы над несколькими новыми продуктами, коммерческие версии которых должны появиться до конца текущего года.
StarForce File Protection
Это один из первых инструментов, предназначенных для защиты различных данных (в том числе представленных в файлах стандартных форматов) от несанкционированного просмотра, изменения и копирования. Объектами защиты могут стать мультимедийные библиотеки, электронные энциклопедии, компьютерные игры, обучающие программы, базы данных и т.п. StarForce File Protection используется в качестве приложения к системам StarForce Professional и StarForce CD-R. Выход готового продукта запланирован на сентябрь текущего года.
Процесс установки защиты максимально прост и не требует навыков программирования: сначала разработчик указывает, какие файлы данных в приложении необходимо защитить, а затем происходит шифрование указанных файлов — они перемещаются в единый файл-контейнер, где хранятся в закрытом для обычного использования формате. В процессе запуска приложения работа с файлами осуществляется только через модуль защиты, который извлекает данные по запросам защищенного приложения. Для защищенного приложения все операции с файлами данных происходят так же, как если бы файлы были в «открытом» состоянии, однако при этом просмотреть, скопировать или изменить их содержимое извне невозможно.
При попытке нейтрализации модуля защиты с целью получения нелегальной копии приложения, работающей без лицензионного CD, доступ к файлам данных блокируется, а копия приложения начинает работать некорректно. Например, при запуске очередного уровня игры, урока обучающей программы, одного из разделов электронной энциклопедии или базы данных приложение не сможет считать соответствующий файл данных. Чтобы избежать подобной ситуации, взломщику придется проверить работу приложения от начала и до конца, что неизбежно повлечет за собой дополнительные временные и финансовые затраты и в итоге приведет к заметному снижению экономической целесообразности взлома.
Таким образом, StarForce File Protection можно использовать как дополнительное средство противодействия нелегальному копированию программного приложения.
Antireversing C/C++ Compiler
Этот полнофункциональный компилятор C/C++ создает сложноанализируемый выполняемый код, не нарушая при этом функциональности программного модуля. В процессе компиляции на этапе синтаксического разбора программный код «размешивается» дополнительными инструкциями и операторами таким образом, что вернуть его в исходное состояние практически невозможно. Применение Antireversing C/C++ Compiler позволит разработчикам самостоятельно защищать выполняемые файлы приложения, написанные на C/C++, ведь затраты времени, необходимого для исследования скрытых алгоритмов приложения с помощью дизассемблеров и отладчиков, в этом случае многократно увеличиваются.
Электронный ключ
Электронный ключ, разработанный специалистами Protection Technology, предоставляет все традиционные сервисы подобных изделий: шифрование/дешифрование данных, вычисление хэш-функций, генерация случайных чисел, хранение данных в энергонезависимой памяти. Но есть у этой разработки и отличительные особенности.
Во-первых, отдельные процедуры защищенного приложения хранятся и выполняются исключительно внутри ключа, постоянно оставаясь скрытыми от внешнего доступа, так как основному ядру передаются только конечные результаты вычислений. Это стало возможным благодаря использованию внутри ключа специально разработанной виртуальной машины с собственным уникальным языком программирования. Во-вторых, в процессе подготовки программного кода разработчику достаточно просто указать наиболее важные функции приложения, которые будут автоматически транслированы на язык виртуальной машины и перенесены из тела программы внутрь ключа. Эта операция автоматически осуществляется удаленным сервером Star Force в процессе шифрования исполняемых файлов и программных библиотек. Таким образом, для того чтобы создать эмулятор ключа и нейтрализовать защиту, злоумышленнику необходимо не только расшифровать плавающий протокол обмена информацией между ключом и ядром защиты, но и полностью восстановить фрагменты скрытого в ключе кода.
StarForce PDF
Эта новейшая разработка Protection Technology предназначена для защиты от несанкционированного использования электронных документов в формате PDF, распространяемых на дисках CD-ROM и CD-R. Следует отметить, что Protection Technology в данном случае выступает в качестве официального поставщика решений компании Adobe (Adobe Solution Provider). Тестовая версия StarForce PDF была впервые продемонстрирована в мае 2002 года на выставке Electronic Entertainment Expo (E3), проходившей в Лос-Анджелесе (США).
В основе работы StarForce PDF лежит привязка PDF-документов к лицензионному диску: защищенные документы могут быть открыты пользователем при помощи стандартной версии программы Acrobat Reader и только при наличии в устройстве CD-ROM лицензионного CD.
StarForce PDF предназначена для широкого круга распространителей документов в электронном формате: авторов и издателей электронных книг, журналов, учебных пособий, научных и статистических отчетов, а также прочих текстовых и графических документов. Установка защиты не требует навыков программирования.
Заключение
онечно, создать в современных условиях абсолютно «невскрываемую» защиту практически невозможно. Квалификация взломщиков постепенно возрастает, и негласное соревнование создателей систем защиты и хакеров вряд ли когда-нибудь завершится. Однако если говорить о программных продуктах, то здесь уместнее сравнивать не некую абсолютную стойкость системы защиты, а ее экономическую эффективность. Речь идет о том реальном выигрыше, который сможет получить издатель защищенного продукта за то время, пока пираты будут искать способы обойти защиту. С учетом растущего объема «домашнего» нелегального копирования, не менее важным фактором, определяющим эффективность системы защиты, является ее устойчивость к утилитам клонирования и эмуляции.
А если говорить именно об экономической эффективности, то в этом смысле разработки Protection Technology поистине уникальны, поскольку, обеспечивая высокую надежность, они в то же время не требуют значительных затрат для внедрения. Свидетельство тому — интерес к продуктам Protection Technology со стороны не только российских, но и ряда зарубежных издателей (например, на локальных рынках Кореи и Испании уже представлены продукты, защищенные StarForce).
В заключение остается выразить надежду на то, что продукты Protection Technology смогут стать одним из факторов, способствующих становлению цивилизованного рынка программных продуктов в России.
Редакция выражает благодарность руководителям компании Protection Technology (http://www.star-force.ru/) за предоставленные материалы и помощь при подготовке статьи.
КомпьютерПресс 7'2002