StarForce: подробности о защите

Вступление


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

Без сомнения, по ряду причин и компания StarForce не является образцом всецелой прозрачности и кристальной искренности (в основном из корпоративных интересов - таковы законы рынка, любое твоё слово может использоваться твоими конкурентами против тебя). Маркетинг - это такая штука, когда вам говорят действительно правду, вот только не всю... А с учётом того, что речь идёт о программной защите кода - тут уж совсем не до разглагольствований - неосторожное слово может раскрыть карты перед конкурентами. Справедливости ради - и конкуренты, и пираты, "со скальпелем в руках" наверняка препарируют каждую свежую версию StarForce, так что секреты если и есть, то их остаётся не так много. Приходится развивать технологию, постоянно пытаться реализовывать новые методы. О технической стороне вопроса и пойдёт речь в нашем сегодняшнем материале. Отталкиваться мы будем от того факта, что автор этих строк знаком с руководством фирмы, и уже не раз имел возможность убедиться, что StarForce, вероятно, можно обвинить в неразглашении некоторых фактов, но вот в честности и правдивости информации, исходящей от этой российской компании - сомневаться лично мне пока не приходилось...

Состав участников беседы


В рамках интервью на разных этапах к обсуждению подключались различные сотрудники компании StarForce. Представим их нашим читателям:



Кирилл Лазарев, руководитель службы технической поддержки




Виктор Пунегов, разработчик




Константин Пасечников, системный архитектор




Василий Космынин, директор по продажам


Интервью


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

StarForce: Обычно происходит так: человек приходит и говорит - мы хотим попробовать вашу защиту. Вообще, в большинстве своём наши заказчики делятся на тех, кто уже является постоянным клиентом, и тех, кто приходит попробовать нашу защиту. Те, кто хочет попробовать - обращаются к нам за открытием тестового аккаунта, в рамках которого они выясняют особенности нашего метода защиты. После того, как аккаунт создан, клиент скачивает наш SDK и интегрирует защиту в свой продукт. А дальше идут разные процессы - в зависимости от того, какую технологию клиент хочет использовать. Если имеется в виду привязка к компакт-диску, то начинается один процесс, если это - ProActive, то там - уже другой процесс. В случае с ProActive всё проще - человек защищает свои файлы, тестирует их и тут же может распространять. Для того, чтобы с защищённым файлом можно было работать, необходим уникальный ключ - серийный номер из 28 символов, генерируемый на нашем web-сайте. Собственно, файлы могут переписываться свободно, но для работы с ними требуется ключ, который обычно продаётся автором за деньги.
Что касается дисков, то здесь всё немного сложнее. Перед тем, как отправить диски в печать, необходимо считать их уникальные параметры - те самые ключи. Так что после защиты файлов идёт ещё один процесс - подготовка компакт-дисков к печати...


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

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


Алексей Перевертайлов: Понятно. Получается, что для всего тиража обычно дисковый ключ - один и тот же?

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


Алексей Перевертайлов: Теперь перейдём к StarForce DRM. Имеется ли там процесс активации?

StarForce: В случае сo StarForce DRM файлы защищаются, выдаётся серийный ключ, а защита привязывается не к физическому носителю - диску, а к параметрам конфигурации пользовательской системы. Канал распространения защищённого дистрибутива уже не важен - будь то компакт-диск, flash-память, скачивание из Интернет. Пользователь вместе с покупкой продукта получает уникальный серийный номер. При первом запуске программного обеспечения пользователь должен совершить активацию - через наш активационный сервер. Здесь тоже есть варианты - автоматическая активация или активация вручную (в случае, если отсутствует доступ в Интернет).


Алексей Перевертайлов: Обычно платные программы до ввода ключа работают в демонстрационном режиме (обрезан ряд функций) или же ограничены по сроку действия. Автор коммерческой программы, защищённой StarForce, должен сам заботиться о внедрении таких ограничений, или их помогает осуществить ваша защита?

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


Алексей Перевертайлов: Небольшой пример из реальной жизни - отечественные игровые издатели распространяют защищённые StarForce диски - закрытые review-версии компьютерных игр, которые через определённый срок (скажем, один месяц) уже не работают. Как это реализовано? Можно ли обойти это ограничение сменой календарной даты в системе (в BIOS материнской платы)?

StarForce: Любой наш ключ (будь то серийный номер или т.п.) - имеет набор параметров. В них входит время действия ключа (относительно какой-то даты), количество разрешённых запусков или время разрешённой непрерывной работы. На этапе защиты указывается дата релиза, с которой необходимо вести отсчёт и время, в течение которого всё это действительно. Причём в случае ограничения работы по времени - чаще стараются использовать всё-таки не привязку к диску. В случае, когда вы меняете в BIOS дату, то защита с привязкой к диску или оборудованию - обходится.


Алексей Перевертайлов: В 2004 году я задавал вопрос по поводу используемых в StarForce технологий шифрования. Мне ответили, что используется известный алгоритм шифрования ГОСТ 28147-89, но попросили этого не писать, всё-таки частные вопросы реализации - относятся к коммерческой тайне. Что-нибудь изменилось с тех пор?

StarForce: Мы используем не один, а целый набор алгоритмов шифрования, и ГОСТ 28147-89 - один из таких используемых нами алгоритмов. Да, он активно у нас применяется, но сейчас у нас вводится и поддержка длинных ключей. Мы усилили криптографию, используем RSA и другие методы. У нас всегда имеется некий набор рабочих алгоритмов, и если вдруг какой-то из них скомпрометирован (как это было с MD5), мы его заменяем на более стойкий (например, SHA-512).


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

StarForce: По поводу установки в ring 0 (получение привилегий нулевого уровня) - это надуманный испуг, все драйверы работают в нулевом кольце, и тут других вариантов нет. Установка идёт через стандартный API - Windows Service Control Manager, и это, с точки зрения операционной системы - обычные драйверы.


Алексей Перевертайлов: Итак, диск вставляется, идёт установка, драйверы инсталлируются с помощью стандартных API, в нулевой уровень - и дальше требуется перезагрузка, после чего драйвер начинает работу. Скоро выходит Windows Vista - там немного изменена модель работы драйверов, работает ли StarForce там?

StarForce: Архитектура там осталась старая, там есть подписание драйверов, но механизм пока не доработан - недавно вышла Windows Vista Beta 2 - там специалисты Microsoft определились со своими политиками на эту тему, но там до сих пор имеются ошибки, и по этому поводу у нас с ними, в частности, ведётся переписка. Обновление наших драйверов уже сейчас позволяет запускать старые игры под Windows Vista.


Алексей Перевертайлов: Не могли бы вы рассказать о механизме обновления драйвера?

StarForce: Да, драйвер обновляется - в системе может быть несколько разных версий защиты (реализованной в разных играх). Приходится выпускать новые поколения драйверов...

Алексей Перевертайлов: Да, я видел, что если вы давно и часто устанавливаете игры с защитой StarForce - в вашей системе наверняка одновременно установлены несколько версий драйвера (2.0, 3.0, 4.0 и т.п.).

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


Алексей Перевертайлов: Про структуру драйвера хотелось бы побольше узнать...

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


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

StarForce: У нас есть возможность как установки, так и удаления драйвера при инсталляции или деинсталляции приложения. Непонятно, почему никто из издателей этим практически не пользуется. Издатель должен при деинсталляции вызывать наш модуль, но на практике это почти не делается. С версии 4.0 мы реализовали автоматическое удаление - когда в системе не остаётся ни одной защищённой с помощью StarForce игры, драйвер автоматически удаляется из системы.


Алексей Перевертайлов: По поводу опасений того, что ваш драйвер могут взломать, и хакер будет использовать его в качестве лазейки для проникновения в систему - можете прокомментировать?

StarForce: Один раз мы нашли уязвимость в драйвере, она была исправлена в октябре 2004 года - после этого известных уязвимостей уже нет. А тогда, два года назад, к этой уязвимости имелся даже некий эксплойт, но он ничего вредоносного не делал.


Алексей Перевертайлов: То есть теперь доступ к вызовам драйвера закрыт для посторонних приложений?

StarForce: После обнаружения уязвимости - для проверки доступа используется криптография с открытым ключом. Любое приложение, кроме нашего - не может получить доступ к драйверу.


Алексей Перевертайлов: А механизм определения параметров носителя (если это защита с привязкой к диску) находится в самом драйвере?

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


Алексей Перевертайлов: После первого материала мне пришли достаточно конструктивные отклики от ряда читателей. Один из них оспаривает утверждение, что "защита StarForce ни коим образом не изменяет другое установленное на компьютере программное обеспечение" и приводит пример кода, где ваше ПО взаимодействует с другими процессами в ОЗУ (пример кода был выслан вам отдельно, он являет собой журнал процесса дизассемблирования, и по понятным причинам в статье не приводится). Можете как-то прокомментировать?

StarForce: В приведенном примере кода было наше взаимодействие с драйверами устройств, загруженными в память, а не с другими процессами или приложениями. И мы уже давно отказались от такого взаимодействия с драйверами устройств, начиная со StarForce версии 3.07. В систему устанавливаются наши драйверы, которые, как и все остальные, работают на уровне ring 0. Фразу "защита StarForce ни коим образом не изменяет другое установленное на компьютере программное обеспечение" можно трактовать двояко. Мы под этим понимаем, что защита не изменяет чужие файлы и программы на диске и никак с ними не взаимодействует.


Алексей Перевертайлов: С драйвером вроде разобрались... Теперь вопрос по ценовой политике. Сколько стоит наложение защиты на один носитель? Также интересна ценовая политика в случае онлайновой дистрибуции программного обеспечения, защищаемого с помощью StarForce.

StarForce: Сразу хотелось бы сказать, что подход в плане ценообразования у нас не такой жесткий. Ко всем нашим клиентам мы подходим гибко - у всех разные требования. К нам обращаются как люди, планирующие извлекать из своего продукта коммерческую выгоду, так и, например, учебные заведения, или организации, выпускающие ПО на некоммерческой основе. И ценовая политика для всех этих случаев не выглядит одинаковой, поэтому однозначно сказать - сложно. Проще взять типовую ситуацию, к примеру - компьютерные игры (наиболее часто защищаемый нами тип программного обеспечения). В этом случае цена зависит от выбранного функционала защиты, от тиража, но если говорить в среднем, то стоимость наложения защиты на диск примерно равна 6-8 центам. В случае онлайновой дистрибуции (когда защита привязывается к аппаратной конфигурации пользователя) то тут с конкретикой не так просто - софт бывает разный, бывает небольшая утилита, распространяемая по цене в 50 долларов, а бывает утилита ценой в 5 долларов. К каждому из этих случаев у нас свой индивидуальный подход, отчасти зависящий от конечной стоимости продукта.
В таком гибком подходе есть смысл - на нашем рынке пока встречаются весьма специфические варианты, в отличие от Запада, где типичные ситуации уже сформировались (хотя какая-то специфика порой всплывает и там).


Алексей Перевертайлов: Если я раньше защищал ПО с помощью StarForce версии 3.0, и хочу перейти на 4.0 - изменится ли ценовая политика по отношению ко мне?

StarForce: Нет, не изменится. Все апдейты и новые версии - мы предоставляем на бесплатной основе.


Алексей Перевертайлов: И всё-таки, по вашему опыту в случае защиты программ, распространяемых с помощью онлайновой дистрибуции - каков порядок цен на внедрение защиты?

StarForce: Обычно в данном случае цены начинаются с 30 центов за одну защищённую копию...

Алексей Перевертайлов: Ясно. То есть в среднем, стоимость наложения защиты не превышает 1-2-3% от стоимости защищаемого ПО?

StarForce: Да, получается примерно так.


Алексей Перевертайлов: Что ж, ценовую политику уяснили. Хотелось бы спросить про ваши связи с хакерскими группировками. Ваш драйвер постоянно изучается, идут попытки его взлома. Вы как-то отслеживаете активность указанного контингента лиц, предлагаете ли призы за успешный взлом вашей защиты?

StarForce: В этом случае - всё просто. Как только какая-то хакерская группировка нас сломает, она выпускает свой релиз. Данный релиз - сигнал к тому, что нам надо шевелиться с удвоенной силой. Как анализируется информация о взломах? У нас есть человек, который ведёт статистику: вышла, скажем игра - её сломали через какое-то время. Или вышла игра, и взлома до сих пор не обнаружено. Если взлом успешный, мы берём его и изучаем - что же именно делали хакеры. Для этих целей у нас в компании работает несколько специалистов.

Алексей Перевертайлов: С учётом того, как хакеры изучают вашу защиту - получается reverse engineering reverse engineering'а! :)

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


Алексей Перевертайлов: Если есть такой мощный функционал, почему он не используется повсеместно? Мешает критерий цена/качество? Есть ли в этом случае такой расклад - чем сложнее и солиднее защита, тем она менее дружелюбна для конечного пользователя?

StarForce: В случае защиты с привязкой к диску требуется наличие драйвера, защищающего от эмуляторов. Но если мы говорим о защите от reverse engineering'а, то там потенциальных несовместимостей нет. От низшего уровня защиты до высшего - совместимость не изменяется. Возможно, какое-то снижение производительности в коде может происходить, но такие узкие места выявляются на этапе тестирования. Так что идёт поиск оптимального соотношения уровня защиты и производительности приложения.
Удобство для пользователя складывается из двух вещей - насколько дружелюбна защита и насколько она безошибочна. В настоящее время ведутся работы, чтобы существенно улучшить удобство защиты StarForce. И большая доля ответственности в данном случае лежит на издателе. Есть немало печальных случаев, когда издатель принимал решение об интеграции защиты в последний момент. Ничего хорошего из этого не получалось. Чтобы произвести грамотную интеграцию необходимо иметь квалифицированный персонал и достаточный запас времени для каждого конкретного случая.


Алексей Перевертайлов: Вопрос об эволюции вашей защиты - вы наверняка постоянно ищете новые подходы к её реализации... Какие технологии находят своё применение? Вот, скажем, если сравнить версию StarForce 3.0 и версию 4.0 - какие там различия?

StarForce: Тут ситуация такая: у нас были версии 1.0, 2.0, 3.0, а потом пошла нумерация вроде 3.04, 3.05, 3.06 и т.д. При этом их можно было бы называть 4.0, 5.0 и 6.0. Мы провели небольшой ребрэндинг :) Рабочее название версии 4.0 изначально выглядело как 3.0.8. Тут необходимо пояснить. Версия 4.0 отличается от версии 3.0 - кардинально, но по сравнению с версией 3.0.7 - изменения не такие значительные.
В версии 3.0.6 - кардинально была улучшена стойкость ко взлому. В версиях 3.0.7 и 4.0 - упор больше делается на повышение удобства пользователя (например, автоматическое удаление драйверов и расширение пользовательского функционала).
В будущих версиях работа продолжится. Версия 4.5, которая будет выходить через некоторое время - будет направлена на улучшение пользовательского функционала. Планируемая версия 5.0 - будет отличаться и повышенной стойкостью ко взлому, и повышению дружелюбности защиты к пользователю...

Новые возможности и улучшения в защите StarForce версии 4.5

1.0 Универсальная версия. Универсальная версия позволит один раз осуществлять защиту и при этом распространять защищенный продукт как на диске, так и в online. Вид привязки задаётся специальной записью в реестре, которую можно делать при инсталляции продукта. Недостатком является то, что клиентам компании придется встраивать функцию записи в реестр информации о типе привязки в свои инсталляторы.

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

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

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

1.4 Улучшение цифровой подписи минидрайвера. Данное улучшение касается повышения взломостойкости защиты.

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

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

1.7 Повышение совместимости с будущими версиями Windows.

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

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

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

1.11 Подпись отчета об ошибке. Каждые раз при выходе топовых продуктов в отдел техподдержки поступает большое количество фальшивых отчетов об ошибке. Злоумышленники таким способом пытаются получить лицензию на запуск защищенного приложения с копии. Анализ фальшивых отчетов требует много времени. Цифровая подпись отчетов об ошибке избавит от необходимости анализировать фальшивые отчеты отделом техподдержки и отделом тестирования.


Алексей Перевертайлов: Как вы относитесь к разработчикам программного обеспечения, которое помогает обходить вашу защиту? Например, приснопамятный Alcohol 120%. Есть ли у вас какие-то взаимоотношения с этими людьми? Как вы вообще относитесь к такому виду деятельности - платной помощи в обхождении чужих технологий защиты?

StarForce: Попытки обойти защиту - естественны. Если есть спрос - то есть и предложение. Мы относимся к этому нормально, не считаем таких людей своими врагами, но и к друзьям, естественно, причислять не можем. Это такие же участники рынка, как и мы - производители программного обеспечения. Естественно, мы взаимодействуем с ними. Например, создатели Daemon Tools (известный эмулятор CD/DVD приводов) объявили о том, что они будут обходить нашу защиту версии 4.0. Мы анализируем пути обхода защиты и закладываем определённый запас прочности. Существуют варианты, когда факт обхода защиты уже состоялся - здесь мы изучаем его и предпринимаем действия для восстановления статуса-кво. Сговора, тайного общения - ничего такого с разработчиками упомянутых программ мы не ведём.


Алексей Перевертайлов: А насколько легально обходить защиту разработчика?

StarForce: Абсолютно нелегально. Здесь идёт философия из сферы разработки и применения оружия. Разработчики таких программ уверяют, что их инструмент должен использоваться только в качестве средства создания легальных резервных копий или же для того, чтобы пользователь мог сохранить сам носитель в сохранности, работая исключительно с образом диска. Если бы не было организованных фирм вроде Alcohol Software, всё равно появились бы энтузиасты, которые писали бы свой софт схожего назначения и ситуация была бы намного хуже. От их применения начали бы страдать системы простых пользователей.


Алексей Перевертайлов: Будет ли у вас расширение продуктовой линейки? Каверзный вопрос - увидим ли мы выпуск средства легального резервного копирования дисков, защищённых StarForce от самой компании StarForce?

StarForce: Планируется выпуск продукта для защиты данных - документов в формате PDF, DOC и прочих. Планируем расширение пользовательского функционала - к примеру, выпуск корпоративной версии (подразумевающей настройку сервера лицензий). Что касается выпуска средства копирования дисков, защищённых StarForce, то да, такое планируется - будет выпущена программа для создания резервных копий дисков, защищённых StarForce. Подробности об этом инструменте пока раскрывать не будем.
Мы также делаем шаги в сторону повышения удобства как для издателей, так и для пользователей. Издатель обычно хочет один раз наложить защиту, а дальше распространять ПО как заблагорассудится - на CD или по Интернет. Соответственно, идёт привязка или к носителю, или к аппаратной конфигурации, или к серийному номеру. К пользователю продукт попадает на диске, или он скачивает его через Интернет. Мы предоставляем универсальную версию - издатель защищается всего один раз, а затем может привязываться к любому носителю (серийный номер, диск, аппаратная конфигурация). Такая универсальность несёт удобство и пользователю - если у него есть и серийный номер, и диск, но он не хочет, чтобы диск крутился в приводе для опознания его защитой - он может ввести серийный номер...


Алексей Перевертайлов: По вопросу возникающих у конечных пользователей технических проблем. Вы постоянно упоминаете тот факт, что, дескать, техническая оснащённость и качество ряда CD-ROM/DVD-ROM устройств оставляет желать лучшего. Не могли бы вы: а) во-первых, рассказать о параметрах этих приводов, которые критичны для корректной работы вашей защиты (размер буфера, технологии коррекции ошибок, работа в режимах CLV, CAV, P-CAV, Z-CLV и др.); б) дать конкретные рекомендации по тому, какие оптические накопители лучше покупать конечным пользователям, чтобы защита StarForce гарантированно могла на них отработать без ошибок?

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

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

В последнее время в основном все приводы работают в CAV (constant angular velocity) режиме. И практически не осталось приводов, работающих только в CLV (constant linear velocity) режиме. Проверка тестировалась и успешно работает в обоих режимах. Она боится только непредсказуемого изменения скорости. Поскольку в CAV режиме привод не должен менять скорость, а в CLV режиме скорость меняется по линейному закону, а значит - предсказуемо, проверка должна срабатывать корректно. Из нашего опыта можно привести факты, когда приводы работали в CAV режиме, и при этом самопроизвольно меняли скорость по какому-то закону - известному только разработчикам это привода. Такие приводы у нас заносятся в черный список.

При проверке читается некоторый диапазон секторов. Этот диапазон относительно невелик, и вероятность попадания его на стык перехода из CAV в CLV (в случае P-CAV режима) очень низкая, поэтому диапазон скорее всего будет читаться или в режиме CAV, или в режиме CLV. То же можно сказать и про Z-CLV режим. Тем не менее, вероятность этого все же имеется, но до сих пор на большинстве современных приводов проверка работает корректно.

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

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

Полезные ссылки


Информация для пользователей, ссылки на утилиты удаления и обновления защиты StarForce: http://www.star-force.ru/protection/users/