Предложения по защите программного обеспечения

#bind #software-design #software-distribution #software-protection

#привязка #программное обеспечение-дизайн #программное обеспечение-распространение #защита программного обеспечения

Вопрос:

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

В настоящее время мы привязываем пользователя по имени пользователя / MAC-адресу, и это очень плохой способ защиты программного обеспечения из-за проблем с док-станциями для ноутбуков или Wi-Fi.

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

-Не обязательно должен быть полностью безопасным, просто должен иметь меньшую частоту сбоев

Это будет среда только для Windows из xp-> Windows 7, которая может быть установлена на чем угодно, от ноутбуков до серверов и виртуальных машин.

Спасибо

Комментарии:

1. это не имеет никакого отношения к безопасности программного обеспечения. Я бы рекомендовал вам отредактировать заголовок.

2. Изменил заголовок, но вам не нужно было -1 его :/

3. также, пожалуйста, удалите метку безопасности

4. как это не связано с безопасностью?

Ответ №1:

Обычно они привязываются к нескольким идентификаторам (серийный номер жесткого диска, MAC-адрес, серийный номер процессора и т.д.) И проверяют, что по крайней мере некоторые из идентификаторов совпадают (поэтому замененный жесткий диск не нарушит sw). Но список hw / идентификаторов лицензий довольно специфичен для платформы, поэтому, не зная этого, точного ответа нет.

Редактировать: (если вы привязываетесь к одному MAC-адресу, вы все равно можете работать довольно хорошо, предполагая, что вы используете встроенный интерфейс (ы) локальной сети, а не активный) (для серверов это сложнее, поскольку они обычно имеют несколько LAN if-ов, поэтому вам определенно понадобится список идентификаторов)

Комментарии:

1. Спасибо за ответ. Это будет среда только для Windows из xp-> Windows 7, которая может быть установлена на чем угодно, от ноутбуков до серверов и виртуальных машин. Редактировать: У нас были проблемы с MAC, потому что ноутбуками пользуется гораздо больше пользователей, поэтому, когда они используют свой ноутбук в док-станции для ноутбука, происходит смена MAC на док-станцию, и наше программное обеспечение перестает работать.

2. Что касается виртуальных машин, вы совершенно не правы … они слишком виртуальные, чтобы найти хороший идентификатор hw : (

3. Устройство и его MAC-адрес обычно все еще там (за исключением случаев, когда у него действительно странный драйвер). Он просто отключен / неактивный. Но вы все равно должны иметь возможность проверить его MAC.

4. Я хочу знать, есть ли какой-либо другой способ, кроме MAC-адресов

Ответ №2:

(Раскрытие информации — я работаю в Agilis Software, поставщике систем защиты программного обеспечения).

Прежде всего, MAC-адрес не является хорошей идеей для блокировки, даже если он широко используется, поскольку он может быть установлен администратором, что упрощает запуск вашего приложения в любом месте. Лучше всего использовать комбинацию параметров, но вам нужно подумать о следующем (все предусмотрено в системе Agilis, конечно):

  • Что, если параметр изменится из-за обновления пользователем своей системы? Вы хотите, чтобы лицензия перестала выполняться или чтобы у нее был некоторый допуск к незначительным изменениям в системе, чтобы она продолжала работать?
  • Как вы будете получать параметры блокировки? Любое вмешательство человека может привести к ошибкам и неудобствам для вашего пользователя (опечатки, использование верхнего и нижнего регистра, ввод ‘1’ вместо ‘l’ или ‘O’ вместо ‘0’ и т.д.)
  • Что, если пользователь захочет перенести свою лицензию на другой компьютер? Могут ли они сделать это без неудобств, но без того, чтобы у вас было много копий, работающих под одной лицензией?
  • Смежная тема — что вы будете делать, когда пользователь звонит и говорит «Помогите, моя система разбилась, и мне нужно установить лицензию на другой компьютер!». Вы будете получать эти вызовы…
  • Вы упомянули виртуальные машины. Основной подход здесь заключается в привязке к неизменным логическим параметрам виртуальной машины. Для дополнительной безопасности вы также можете периодически вызывать свое приложение по «домашнему телефону».

Надеюсь, это поможет.