Re: Как защитить программу от кражи?
От: quodum  
Дата: 10.12.10 15:06
Оценка: 2 (1)
Здравствуйте, piEpj, Вы писали:

E>Необходимо запускать собственную программу на собственном компьютере.

E>Что это будет за компьютер (железо, версия Windows, софт, файловая система, учетные записи) зависит от меня.
E>Компьютер будет размещен в сторонней организации и будет управляться мною удаленно.
E>Посторонние люди будут иметь физический доступ к машине.
E>Стоимость программы очень велика.

E>Нужно минимизировать технические риски кражи коммерческого софта на данной машине (то есть посторониться люди не должны заполучить программу).

E>Если же кража произошла, то бинарные файлы должны оказаться бесполезным для использования или для восстановления алгоритмов программы.

E>Планирую установить Windows 7, диски шифровать, пароли от учетных записей Windows и никому не передавать.


Про возможности IEEE1394 в курсе? На всякий случай: единственная мера защиты -- использовать железяку, на которой физически нет IEEE1394 и нет никаких портов расширения (включая USB) — а то воткнут адаптер и привет. Винда драйвера сама поставит.

Если стоимость программы действительно "очень" велика, стоит задуматься об упомянутой по той же ссылке "RAM-freezing thing" и иже с нею.

Если прграмма всё же не настолько ценна, чтобы оправдать такие методы её добывания, то можно, например, зашифровать основную часть программы, а ключ доставлять при запуске через SSL (обязательно с проверкой как "серверного", так и "клиентского" сертификатов). Расшифровывать можно в память, либо (проще реализовать) во временный каталог на ram-диске. Ключ, естественно, нигде не сохранять. Очевидный недостаток схемы: для каждого запуска системы потребуется ваше (удалённое) участие.

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

А вообще -- при наличии физического доступа никаких гарантий дать нельзя.

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