Компьютерра ключ без права передачі захист від піратів за допомогою senselock

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

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

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

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

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

Поступово зломщики проаналізували використовувані функції шифрування або прочитали оригінальне вміст ключів і вирахували їх алгоритми (Aladdin HASP-3 і HASP-4, Sentinel SuperPRO, Guardant Stealth I і ін.), Що уможливило створення повних емуляторів для цих ключів.

Як розповіли нам представники компанії "Секьюлеб", яка займається дистрибуцією рішень Senselock в Росії, в електронних ключах SenseLock використаний зовсім інший підхід. Якщо раніше захищається програма лише періодично зверталася до електронного ключа, щоб перевірити його наявність, то тепер вона частково виконується безпосередньо в цьому ключі.

Як це працює? Програміст вибирає ділянки коду, без яких програма гарантовано не буде працювати коректно, а також ті, які необхідно надійно заховати від вивчення (наприклад, конкурентами). Після цього він переписує ці ділянки коду на мову С і створює виконуваний модуль спеціальним компілятором. Результат поміщається в пам'ять електронного ключа, а в коді програми, на тому місці, де ці ділянки перебували раніше, додаються запити до електронного ключа з усіма необхідними параметрами.

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

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

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

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

Що ж стосується вартості ключчей Senselock, то вона не є настільки вже захмарною і становить від 575 до 1250 рублів за один ключ в залежності від властивостей і можливостей конкретної моделі.

Схожі статті