Железная защита программ

Что такое компьютерное пиратство и чем оно грозит простому обывателю? Многие наслышаны о "подвигах" хакеров, проникающих в банковские сети и снимающих со счетов в свою пользу значительные суммы. Есть еще "фрикеры", атакующие телефонные сети. Прогресс не стоит на месте, и число "профессий" у виртуальных взломщиков постоянно увеличивается. Но наш разговор пойдет о нелегальном копировании и распространении программного обеспечения, о тех ларьках и лотках, которые мы ежедневно видим по дороге на работу или в магазин. Воруется самое разнообразное программное обеспечение - как дешевое, так и стоящее многие сотни, а то и тысячи долларов. С ростом компьютерного парка спрос на программы постоянно растет, и виртуальное воровство оборачивается вполне реальными прибылями для компьютерных пиратов.

Ассоциация производителей программного обеспечения (Business Software Alliance, BSA) подсчитала, что за год в мире около 11 миллионов долларов уходит в карман пиратов, незаконно продающих программное обеспечение.

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

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

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

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

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

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

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

Что такое электронный ключ? Это небольшое компактное устройство, выполненное на основе специализированного чипа. Идея поставить работу программного обеспечения в зависимость от наличия специального аппаратного средства появилась в начале 80-х. Годом рождения электронного ключа для параллельного порта PC-совместимого ПК можно считать 1982 год, когда компания, созданная инженером Дэном Максвеллом, начала выпуск первого электронного ключа - SecuriKey.

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

Неужели все ключи обеспечивают одинаковый уровень защиты? Как говаривал известный персонаж, "а это вряд ли". Интеллектуальные и физические возможности ключа во многом определяются той элементной базой, на которой собран ключ. Современные ключи собирают на базе микросхем энергонезависимой электрически перепрограммируемой памяти (так называемой EEPROM-памяти), на базе заказных ASIC чипов (Application Specific Integrated Circuit) и на базе микропроцессоров. Чем совершеннее элементная база, тем надежнее защита.

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

После того как ключ обнаружен и программа начала исполняться, она, по мере своей работы, будет неоднократно обращаться к ключу и проверять его наличие по типу "запрос-ответ". Причем в качестве запроса обычно используется некоторое число Х, а ответом будет внутренняя функция программы Y=f(X). От значения Y зависит дальнейшая работа программы. Для увеличения эффективности защиты, точки запроса дополнительно маскируются, а обмен данными между защищаемой программой и аппаратной защитой кодируется и зашумляется.

На рынке систем защиты программ стран СНГ доминирующее положение занимают ключи HASP (около 70%) компании Aladdin Knowledge Systems. Ее интересы на территории СНГ представляет компания Aladdin Software Security (www.aladdin.ru).

Примерно в одной весовой категории с ними (по возможностям и цене) находятся ключи Sentinel компании Rainbow Technologies. Относительно небольшой сегмент - рынок дешевых ключей - занимают местные производители.

Aladdin выпускает два типа ключей - HASP и Hardlock. Они работают на всех PC - от notebook'а до desktop'а. Защитить приложение можно несколькими способами: автоматически, с использованием защитного "конверта" (Envelope), вручную, с использованием высокоуровневых функций API, обеспечивающих гибкость и скрытность защиты.

Семейство HASP включает модели для различных типов компьютеров: PC, Apple Macintosh, iMac, notebook'и, Quadra, PowerMac, UNIX-станции, японские NEC и Fujitsu.

Для параллельного порта используются следующие модификации ключей HASP: HASP-3 - ключ без памяти, MemoHASP - ключи с памятью, TimeHASP - ключи с часами и памятью. Последняя модель в этом списке применяется для сдачи программ в аренду или в лизинг и дает возможность периодического сбора платы за пользование защищенной программой. При помощи ключа модели NetHASP, установленного на любом компьютере сети, можно не только защитить свою программу, но и ограничить число рабочих мест (лицензий), на которых она будет использоваться одновременно.

Для мобильных пользователей, работающих с ноутбуками, существует PC-Card HASP. Это PCMCIA-версия ключа MemoHASP-4. Размер ключа - с обычную визитную карточку и толщиной всего 3.3 мм (Type-I). Ключ не занимает принтерный порт и находится внутри компьютера.

MacHASP предлагает решение для всех типов компьютеров Macintosh с ADB-портом, включая Powerbook, Quadra и Power Mac. Ключи MacHASP поддерживают интерфейсы большого количества языков, работают в сетях Appletalk LAN.

Ключи Hardlock позволяют защищать приложения и связанные с ними файлы данных методом "прозрачного" шифрования. Hardlock поддерживает блочное симметричное и несимметричное шифрование, причем для каждого блока аппаратно генерируется новый сеансовый ключ. Для портативных компьютеров используется Hardlock PCMCIA, а для параллельного порта персональной рабочей станции применим ключ Hardlock E-Y-E. Новая модель - Hardlock Twin может работать как с параллельным портом, так и с последовательным, позволяя подключать через него практически любые устройства: принтеры, сканеры, модемы. Для защиты приложений и баз данных, работающих в сети, на выделенном или невыделенном сервере или на любой рабочей станции устанавливается ключ HL-Server. Помимо функций защиты, ключ обеспечивает процедуру лицензирования в сети, позволяя пользователям задействовать только то количество лицензий, за которые они заплатили.

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

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

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

Ирина Черемхина


Компьютерная газета. Статья была опубликована в номере 34 за 1999 год в рубрике hard :: разное

©1997-2024 Компьютерная газета