Ринок засобів захисту ПЗ від копіювання: аналіз і рекомендації

ОГЛЯД

Олександр Новачків, Рубен Сардарян

Незважаючи на зусилля самих різних організацій, комп'ютерне піратство триває. В середньому частка піратського ПЗ в світі складає 40%, тобто з кожних десяти копій програми чотири, просто кажучи, вкрадені у виробника.

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

Боротися з піратством можна різними способами. Основним, вважаємо, повинен бути легітимний. Тобто потрібні грамотні закони, що дозволяють переслідувати піратів і залучати їх до адміністративної або кримінальної відповідальності. На жаль, поки таких законів немає.

На жаль, поки таких законів немає

Мал. 1. Динамічна залежність прибутку від ступеня захищеності продукту

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

Залишається третій метод - захист програмного забезпечення від злому і нелегального копіювання. Хороша захист завдає чимало клопоту піратам і в кінцевому рахунку дозволяє софтверним підприємствам отримати свою частку прибутку. (На рис. 1 відображена залежність отримання прибутку від продажів незахищеного і захищеного продуктів).

Вимоги до захисту

Основні вимоги, що пред'являються до сучасної системи захисту, зводяться до наступного.

· Захист повинна мати великий запас міцності, тобто враховувати високу кваліфікацію піратів взагалі і російських зокрема, і бути здатною протистояти їх натиску протягом довгого часу.

Відомо, що абсолютно надійного захисту не буває, але обрана система повинна забезпечити компанії-розробнику достатню тимчасову фору, поки пірати не навчаться розкривати даний продукт.

· По можливості не слід прив'язуватися до апаратної конфігурації комп'ютера, оскільки ПК не є річ в собі і його окремі компоненти можуть і повинні бути замінними в міру старіння.

Таблиця 1. Характеристика захищаються програм

Характеристика захищаються програм

Таблиця 2. Порівняльний огляд систем захисту

Порівняльний огляд систем захисту

Хоча компанії, які розробляють захист, змогли зробити так, що прив'язка до обладнання не викликає особливих проблем при роботі, бажана незалежність захисту від апаратної конфігурації комп'ютера; логічніше прив'язувати її до апаратного ключа або компакт-диску. За допомогою ключів можна реалізовувати також різні схеми продажів ліцензій. Але ключами має сенс захищати дорогий софт, а для дисків підходять і недорогі програмні продукти.

· По можливості не потрібно використовувати для захисту дорогі додаткові апаратні пристосування, які різко підвищують вартість захисту, а отже, і кінцевого продукту.

Таблиця 3. Об'єкт захисту і тип ліцензії захищається продукту

Об'єкт захисту і тип ліцензії захищається продукту

Для недорогий програми немає резону використовувати дорогу захист. При розрахунку її вартості необхідно враховувати вартість об'єкта, що захищається програмного продукту.

· Захист від злому повинна бути заснована на оригінальних принципах. Критерієм може служити той факт, що захист ще ніким не зламана або зламана, але із залученням всіх можливих способів.

Захист може бути ефективною, якщо вона знаходиться в стані постійного розвитку. Це означає, що розробники захисту відстежують хакерські форуми і своєчасно латають дірки в власних системах.

· Не можна перешкоджати вільному копіювання матеріалів, захищених даних (забороняється тільки несанкціонований запуск, тобто додаток копіюється, але не виконується).

В принципі можна окремо розглядати захист від копіювання та від поширення (або нерозповсюдження). Цей критерій передбачає вільне копіювання, але авторизований запуск.

· Захист повинна бути підібрана з урахуванням традицій даного сегмента ринку ПО.

Якщо виробник хоче вийти на світовий ринок, то йому потрібен захист, типова для того сегмента, для якого призначена програма. Так, наприклад, мало хто зважиться ставити захист, засновану на електронних ключах, на ігрову програму, оскільки ніхто з виробників в даному сегменті таким захистом не користується. Відповідно, захист не повинна викликати відторгнення у кінцевого користувача своєю екстравагантністю.

· Вартість захисту для розробника і покупця повинна співвідноситися з вартістю програми.

Сучасні засоби захисту

Відомо, що систем захистів існує безліч, але не всі з них можуть задовольняти кінцевого споживача по співвідношенню ціна / якість.

У табл. 1 наведено вихідні дані по "типовим" програмним продуктам, які необхідно захистити. Особливу увагу слід звернути на цінові категорії і сегмент ринку, хоча кожна позиція може вважатися ключовою. Так як будь-яка система захисту робить продукт дорожче, вибирати слід таку, яка мінімально підвищує вартість ПО для кожної окремої категорії.

Більшість основних гравців працює в сфері захисту компакт-дисків, проте є і "захисники" shareware-програм (захист від злому в чистому вигляді), і компанії, що організують апаратну захист.

Читач може сам порівняти різні продукти, користуючись відомостями, наведеними в табл. 2, а також інформацією, представленою на сайтах виробників або на www.cdmediaworld.com.

За результатами нашого дослідження, в області захисту від копіювання сьогодні лідирують StarForce і "Аладдін". Однак їхні ринки чи перетинаються. Система StarForce більше розрахована на захист дрібних і середніх продуктів, таких, як гри, shareware-програми і т. П., До того ж вона коштує відносно дешево. "Аладдін" обходиться дорожче і розрахований на ринок дорогих систем.

Вибір захисту. Ми наведемо алгоритм вибору захисту, для простоти використовуючи лише два варіанти - StarForce і "Аладдін". Обидві системи забезпечують захист, але засновану на різних принципах: в разі StarForce передбачається прив'язка захищається програми до компакт-диску, компанія "Аладдін" пропонує використовувати електронний ключ, що підключається до порту комп'ютера. Відзначимо, що у кожної системи є свої переваги і недоліки (про які буде розказано нижче), але головне в тому, що вони спрямовані строго на певні сегменти ринку: StarForce орієнтована в першу чергу на ринок ігрових програм, або, іншими словами, на ринок індивідуальних користувачів, в той час як електронні ключі "Аладдіна" більше спрямовані на ринок корпоративних користувачів.

Обидва варіанти захисту передбачають два способи впровадження в тіло програмного забезпечення: використання готової системи і пакету розробника Software Development Kit (SDK).

Ті, хто вдається до готової системі, зможуть швидко впровадити захист в свій програмний продукт, однак тут є одне "але". Вбудована таким чином захист зазвичай дуже легко ламається. На жаль, багато компаній йдуть якраз по шляху найменшого опору, тобто по шляху стандартної захисту, дозволяючи піратам в найкоротші терміни зламати свій програмний продукт. А в результаті не тільки ламається продукт, але дискредитується компанія, яка виробляє цю захист. Хоча вона ні в чому і не винна.

Використання SDK дозволить вбудувати захист в розробляється ПЗ найбільш ефективним чином (так звана "розмазана" захист). Цей спосіб вимагає деяких додаткових витрат на навчання фахівців і написання додаткового коду для створюваного ПО. Але це того варте.

Схема впровадження захисту. Впровадження будь-якого стороннього інструментарію, в тому числі і захисту, має свої складності. Крім вивчення питання безпеки необхідно розширити коло обов'язків розробників і служби технічної підтримки. Розробники повинні вивчити функції SDK, пропонованого компаніями Protection Technology (StarForce) і "Аладдін", на рівні, достатньому для реалізації функцій і завдань інтеграції захисту в нове або розробляється ПЗ.

Особливо складно буде захистити вже існуючі програмні продукти, так як систему доведеться вбудовувати в вихідні тексти, що спричинить за собою витрати на додаткове тестування і поява нової версії продукту.

За оцінкою фахівців, які використовували SDK StarForce, його можна віднести до середнього рівня складності для розробників, так як вивчення пакета укладається в розумні часові рамки: одна людина освоює систему за три-чотири дні.

Щоб знизити загальну вартість впровадження, рекомендується навчити фахівців і виконати пілотний проект, після чого прийняти рішення про подальший розвиток системи захисту. Загальна поетапна схема представлена ​​на рис. 2.

Додаткові труднощі виникають, коли службі технічної підтримки доводиться виконувати невластиві їй раніше функції - відповідати на кількість звернень від користувачів з приводу непрацюючих дисків (якщо захист не спрацьовує на мало поширеному приводі CD / DVD-ROM) і відмов електронних ключів.

При оцінці загальної вартості захисту необхідно враховувати і витрати на розширення служби технічної підтримки.

Ну а тепер підберемо систему захисту для конкретного продукту (табл. 3).

З огляду на специфіку кожної програми, спробуємо дати загальні рекомендації по організації їх ефективного захисту.

LSHead SDK (фірма LifeMode Interactive)

Це найскладніший з точки зору захисту програмний продукт, тому що являє собою не окремий виконуваний модуль, а цілу бібліотеку. Захистити його повністю без втрат в продуктивності поки не представляється здійсненним. Якщо SDK буде поставлятися в відкритому вигляді, то захист взагалі неможлива. У цьому випадку доцільно порекомендувати виробнику програми (що використовує даний SDK) користуватися максимально ефективним способом захисту від злому і копіювання.

LSHead і LSHead Pro (фірма LifeMode Interactive)

Оскільки дані модулі є оригінальними розробками для розрахунку міміки персонажа в реальному часі, то захистити відразу весь продукт практично неможливо. Тут основну роль відіграє фактор часу. Будь-яка ефективна захист змушена певним чином шифрувати код, а це додаткові витрати в продуктивності. Відповідно, якщо продукт захистити "в лоб", буде втрачена швидкість роботи. І тут на допомогу приходить SDK. Розробники ПЗ повинні самі визначити той код (функції, класи), який необхідно захищати.

LSHead WWW (фірма LifeMode Interactive)

На даний момент не представляється можливим захистити існуючими продуктами.

PsyTest (авторський продукт Олексія Красовського)

Рекомендації ті ж, що і вище. Необхідно використовувати SDK захисту. Але в цьому випадку потрібно враховувати не тільки захист коду від злому, але і захист даних від нелегальних "доповнень" і змін.

Ігрова програма

Тут також не обійтися без застосування SDK захисту. Особливо слід захищати ресурси від несанкціонованих дій, таких, як зміни (нелегальний переклад картинок і звуків) і виведення зі складу гри.

Наведені вище рекомендації є загальними і не прив'язані до конкретної реалізації захисту. Нагадаю, що ми вибираємо з двох способів захисту, принципово різняться за ціною та типу прив'язки. Це StarForce (прив'язка до компакт-диску і характеристикам комп'ютера, відсутність мережевих ліцензій) і "Аладдін" (прив'язка до електронних ключів, наявність мережевих ліцензій).

Це StarForce (прив'язка до компакт-диску і характеристикам комп'ютера, відсутність мережевих ліцензій) і Аладдін (прив'язка до електронних ключів, наявність мережевих ліцензій)

Мал. 2. Загальна схема впровадження захисту

Рекомендації враховували і такий важливий критерій, як традиційність захисту для даного сегмента ринку. Цей критерій деяким чином відсунув на другий план навіть фактор ефективності. Крім того, до уваги брався планований тираж програмного продукту і його орієнтація (не тільки за шкалою корпоративний - приватний, але і за шкалою вітчизняний - зарубіжний).

Складність технічної підтримки захищених продуктів. Раніше основною проблемою всіх систем, включаючи StarForce, була несумісність захисту з деякими видами приводів CD / DVD (продукцією no-name-густо пристроїв для ноутбуків). Компанія StarForce успішно вирішила цю проблему двома способами. По-перше, список сумісності з приводами постійно зростає. По-друге, в системі є можливість введення універсального коду, який дозволить запустити додаток, якщо диск НЕ аутентифицирующей.

Остання функція, безумовно, є дірою в захисті. Але її наявність або відсутність визначає фірма, що випускає ПО.

У разі застосування цієї функції необхідно організувати службу підтримки, яка реєструє запити від користувачів і створює Rescue-ключі * 1 (служба отримує запити і генерує ключі через сервер StarForce).

_____

* 1 Ключ, висиланий клієнту в разі, якщо привід CD / DVD-ROM не працює.

У разі вибору захисту компанії "Аладдін" службі технічної підтримки доведеться відповідати на питання про встановлення драйверів і про роботу з портами.

Дослідницька робота з вибору захисту для комерційних продуктів проводилася на замовлення фірми Lifemi (www.lifemi.ru).

З Олександром Новічкова можна зв'язатися за адресою: [email protected], з Рубеном Сардаряном - за адресою: [email protected].

Версія для друку

Тільки зареєстровані користувачі можуть залишати коментарі.