<< Предыдущая

стр. 7
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

Закон Российской Федерации
"О защите прав потребителей"
Второй пункт 16 статьи Закона РФ "О защите прав потребителей" гласит:

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

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

Несмотря на то, что данная статья присутствует в Законе давно и программы,
защищенные аппаратными ключами, продаются не один год, о прецедентах по-
ка не известно.




3.5. Здравый смысл
Если, приобретая защищенную программу, пользователь оказывается перед
необходимостью тратить усилия на создание условий, в которых подсистема
защиты согласится работать, ценность программы для него резко снижается.
Ведь деньги платились ради автоматизации некоторого процесса, а не для
"развлечений" в виде потерянного времени.
36 Часть I. Кому нужна защита?


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

Активация программных продуктов
Компания Intuit Inc., специализирующаяся на разработке программного обеспе-
чения для учета финансов, в числе прочих выпускает и TurboTax— программу
для подготовки налоговой отчетности. В версии TurboTax для 2002 налогового
года Intuit, оправдывая свои действия борьбой с использованием нелицензион-
ных версий TurboTax, реализовала систему активации, подобную той, что ис-
пользуется сейчас во многих продуктах корпорации Microsoft. По грубым оцен-
кам для 98 % пользователей активация через Интернет не создала практически
никакого неудобства. Но у 2 % возникли сложности. И к тому же активация по-
зволяла полноценно использовать TurboTax только на одном компьютере.
В результате многие пользователи отказались от использования TurboTax
в пользу его давнего конкурента — программного продукта TaxCut, выпускаемо-
го компанией H&R Block Inc. А как минимум один из пользователей подал су-
дебный иск против компании Intuit в защиту прав всех пользователей TurboTax
для 2002 налогового года. Иск основывался на утверждении, что Intuit занима-
ется нечестным бизнесом, недостаточно полно информируя о механизмах ак-
тивации и последствиях их использования клиентов до того, как они приобретут
программный продукт.

Негативная реакция пользователей заставила Intuit заявить в мае 2003 года об
исключении процедуры активации из будущих версий TurboTax. Кстати, компа-
ния H&R Block, которая сначала сама планировала ввести процедуру актива-
ции для своих продуктов, после неудачи Intuit отказалась от этих планов. Более
того, факт отсутствия активации в TaxCut использовался в слогане рекламной
кампании как очевидное преимущество.

Корпорация Microsoft нашла компромиссное решение для активации. Основной
массе пользователей при установке, например, любой современной версии
операционной системы Windows необходимо проходить процедуру активации.
Глава 3. Когда защиты слишком много 37

В то же время существуют так называемые корпоративные лицензии, позво-
ляющие быстро установить Windows на большое число компьютеров, не затра-
чивая время на активацию. Microsoft предпочла предоставить своим крупным
клиентам такую возможность, хотя было очевидно, что утечка регистрационного
номера всего одной корпоративной лицензии приведет к появлению огромного
числа нелегальных, но полностью работоспособных копий Windows (что на
практике и случилось с Windows XP, причем пиратские версии ХР с регистра-
ционным номером от корпоративной лицензии появились в Интернете ранее
чем за месяц до официального начала продаж этой операционной системы).


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


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


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


4.1.1. Качество программ
Если результат работы программы соответствует ожиданиям пользователей
или даже превосходит их, то программу считают качественной. Критерий
качества применяется для сравнения результатов процессов, которые можно
выполнить более чем одним способом. Так при умножении двух чисел мо-
жет получиться только один возможный результат, и если в какой-то про-
грамме получается другое значение, то правильно будет охарактеризовать
программу не как низкокачественную, а как неверно выполняющую расче-
ты. Но, например, при решении дифференциальных уравнений можно ис-
пользовать различные численные методы интегрирования, и за большее или
меньшее время получить отличающиеся по значениям результаты. При этом
несовпадение результатов (как по значению, так и по затраченному време-
ни) обусловлено не ошибками в программе, а свойствами того или иного
метода интегрирования и выбранным значением шага (увеличение шага, как
правило, приводит к уменьшению времени вычислений, но снижению точ-
ности). Качественной будет считаться та программа, которая в подавляющем
большинстве случаев удовлетворяет всем требованиям, предъявляемым
Часть I. Кому нужна защита?

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

4.1.2. Надежность программ
Надежность программы проще всего определить как ее устойчивость в рабо-
те. Из-за очень высокой сложности современных программ далеко не все из
них работают безошибочно. Точнее говоря, редко в какой программе не об-
наруживались ошибки после успешного прохождения отладки и тестирова-
ния. И во многих программах обнаруженные в процессе эксплуатации
ошибки даже не исправляются — их просто переводят в разряд документи-
рованных особенностей, и пользователям предлагается использовать обход-
ной путь, приводящий к желаемому результату и не вызывающий ошибки.
Некоторые ошибки проявляются очень редко и почти случайным образом,
что делает их локализацию и исправление чрезвычайно трудной задачей.
Так, например, почти любой пользователь Microsoft Office сталкивался с си-
туацией, когда Word закрывался с сообщением об ошибке и результаты ра-
боты, выполненной с момента последнего сохранения (или автосохране-
ния), оказывались потерянными. Но условия, при которых Word дает сбой,
у каждого пользователя могут быть индивидуальными. Более того, ошибка
вполне могла произойти не в самой программе текстового редактора,
а в одном из общих компонентов Microsoft Office или Windows, используе-
мых редактором Word.

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

4.1.3. Экономическая эффективность программ
Под эффективностью программного продукта предлагается понимать не бы-
стродействие, которое лучше называть производительностью и рассматри-
вать наряду с другими качественными характеристиками, а экономическую
полезность. Наверное, большинство разрабатываемого в мире программного
обеспечения является коммерческим. Разумеется, существуют программы
для проведения научных расчетов или автоматизации деятельности органи-
заций, разрабатываемые не для продажи, а исключительно для решения
внутренних задач. Существует и бесплатное программное обеспечение.
Но основная масса программ разрабатывается с целью реализации их на
рынке и получения прибыли. И экономическая эффективность программ-
Глава 4. Методы оценки эффективности защиты 41


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


4.2. Оценка средств защиты
Теперь рассмотрим, что изменится при использовании таких критериев, как
качество, надежность и эффективность в приложении к средствам защиты.

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


Удивительная программа eBook Pro
Разработчики программы eBook Pro во всю рекламируют свое детище как
"единственный программный продукт во вселенной, способный обеспечить Ва-
шей информации практически 100% защиту от взлома". Поверить рекламе,
которая обещает именно то, что хочется получить, очень легко. Правда, вскоре
неминуемо выяснится, что, нажав комбинацию клавиш <Ctrl>+<A>, можно вы-
делить весь видимый текст, а затем скопировать его в буфер обмена. Кроме
того, незащищенные копии HTML-страниц и картинок остаются после просмот-
ра в директории, хранящей кэшированные файлы Internet Explorer. И наконец,
выполнив анализ работы программы, можно будет узнать, что защита заключа-
ется в наложении при помощи операции XOR на каждый байт защищаемых дан-
ных последовательно всех байтов строки "encrypted" (зашифровано), что экви-
валентно наложению однобайтовой константы. При этом не обеспечивается
никакой секретности и реальной защиты, т. к. остается возможность извлече-
ния защищенной информации без подбора ключа или иных длительных опера-
ций. Скорее всего разработчики программы просто не знали, что любое число
последовательных вычислений XOR С константой может быть сведено к одному
вычислению XOR.


Дополнительную информацию о свойствах продукта можно получить от
других пользователей или самостоятельно разбираясь в особенностях функ-
Часть I. Кому нужна защита?

ционирования интересующей программы. Но при оценке качества работы
средств защиты далеко не все аспекты можно увидеть невооруженным гла-
зом. Так, например, в случае с программой eBook Pro обнаружить некото-
рые недостатки внутреннего устройства, такие как возможность выделения
текста и копирования его в буфер обмена, а также незащищенные копии
просмотренных страниц па диске, может любой пользователь. Но для того
чтобы разобраться непосредственно в функционировании защиты (что за
алгоритмы применяются и как именно), у обычного пользователя не хватит
знаний. Просто взглянув на защищенный документ и работающую с ним
программу, почти никогда нельзя с уверенностью сказать, насколько пра-
вильно с точки зрения безопасности организована защита. Единственный
способ получить достоверную информацию о качестве защитных механиз-
мов — заказать и оплатить проведение независимой экспертизы. Однако
стоимость экспертных услуг с большой вероятностью окажется очень высо-
кой по сравнению со стоимостью программного продукта, и редко какой
пользователь станет тратить средства на экспертизу. В результате, оценка
качества средств защиты почти всегда основывается на сравнении заявлен-
ных разработчиком характеристик и интерфейса, хотя ни то ни другое не
отражает реальных свойств защиты.


Результаты официального тестирования ключей HASP
Аппаратные ключи для защиты программного обеспечения от несанкциониро-
ванного тиражирования HASP (Hardware Against Software Piracy), производи-
мые компанией Aladdin Knowledge Systems, Ltd., наверное, являются наиболее
распространенными ключами в России. По результатам тестирования, прове-
денного Национальной Тестовой Лабораторией США (National Software Testing
Labs, NSTL), ключи HASP были названы лучшими 2 раза подряд. Согласно от-
чету NSTL, датированному январем 1999 года, сравнительное тестирование
ключей разных производителей велось по пяти категориям: безопасность, про-
стота использования, совместимость, возможности сетевых ключей и универ-
сальность. Ключи HASP оказались лидерами во всех пяти категориях и, следо-
вательно, стали безусловными победителями.

Казалось бы, такой серьезной организации, как NSTL, можно доверять. Но есть
несколько нюансов, ставящих под сомнение истинность вердикта, вынесенного
NSTL.

Прежде всего, при тестировании сравнивались ключи только двух семейств:
HASP от компании Aladdin и Sentinel от компании Rainbow Technologies Inc. He
исключено, что ключи Rainbow Sentinel являются наиболее значимым конкурен-
том для Aladdin HASP, но на момент тестирования на рынке были представле-
ны ключи и других производителей, сравнение с которыми не проводилось.
Глава 4. Методы оценки эффективности защиты 43

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

<< Предыдущая

стр. 7
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>