Защита образов VMWare - PullRequest
       53

Защита образов VMWare

4 голосов
/ 23 июня 2009

у нас есть приложение, которое упаковано как образ Linux VMWare. Теперь нам нужно найти способ защитить его от незаконного копирования и установки. Мы изучили несколько решений на основе USB-ключей, но все они требуют модификаций приложения на уровне исходного кода (простая инструментарий ограничен EXE-файлами Windows). Есть ли способ защитить образ VMWare от запуска и выполнять периодические проверки?

РЕДАКТИРОВАТЬ : это приложение является частью профессионального решения и не распространяется как есть. Упаковка VMWare предназначена для целей виртуализации, а не для распространения. Мы продаем комплексные решения для телекоммуникационных компаний, включая оборудование и поддержку, в ценовом диапазоне от 10 тыс. До 1 млн. Долл. США. Тем не менее, поскольку клиенты имеют доступ к платформам, мы должны убедиться, что они просто не смогут взять образы и запустить их в другом месте или нарушить политику лицензирования. Поэтому замечания, приведенные ниже, ставят под сомнение необходимость защиты, хотя и вполне применимы в общем случае, там не применимы.

Ответы [ 6 ]

11 голосов
/ 23 июня 2009

Я знаю , это говорится каждый раз , но стоит повторить:

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

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

Программное обеспечение Monkey , январь 2009

1 голос
/ 23 июня 2009

Зашифруйте разделы диска образа с помощью Cryptsetup / dm_crypt, а затем используйте некоторый машинно-зависимый элемент (реальный CPU-ID?) Для расшифровки при загрузке. Но это подразумевает создание нового изображения для каждого клиента ... но вы можете написать это.

Хотя после загрузки они все равно могут открыть изображение. От вас не требуется по GPL для распространения в любом случае?

будет сложно

0 голосов
/ 15 сентября 2009

Вы пробовали VMWare ACE?

http://www.vmware.com/products/ace/features.html

Кажется, это решит твои потребности.

0 голосов
/ 23 июня 2009

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

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

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

Как отмечалось ранее, помните, что вы должны действовать в соответствии с лицензиями Linux. На самом деле, вы можете быть вынуждены предоставить свой исходный код для вашего приложения как открытый исходный код, если только вы не докажете, что работали в соответствии с лицензией.

Однако существует разумный простой способ проводить периодические проверки. Используйте CRON, чтобы запускать приложение call-home хотя бы раз в день. Он вызвал бы веб-сервис на вашем веб-хосте, предоставляющий дополнительную информацию о его настройке. В ответ ваш сервис сообщает, законно он или нет. Если это законно, нет проблем. Если эта проверка не удалась, просто дайте приложению сообщить о сообщении. Если call-home не удавалось пять раз подряд или говорит, что это нелегальная версия, тогда пришло время раздражать пользователя. (Но не нарушая удобство использования вашего приложения, в противном случае пользователи становятся очень несчастными.) Теперь то, что вы хотите защитить, может продолжать работать без каких-либо изменений. Или вы изменяете их, чтобы проверить, пыталось ли приложение call-home установить контакт. Если пользователь отключил этот процесс или вмешался в него каким-либо другим способом, вы можете также заблокировать свои приложения.

Или, если воспользоваться простейшим вариантом: создать специальную учетную запись администратора с почти полными правами доступа. Не позволяйте вашим клиентам работать как Root.

0 голосов
/ 23 июня 2009

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

Если бы ключи были серебряной пулей, не думаете ли вы, что Microsoft или Oracle потребовали бы их?

Для программного продукта с очень небольшим числом клиентов поддержка и непрерывная разработка, как правило, имеют решающее значение для клиентов и составляют основную часть стоимости и стоимости вашего решения. Лицензирование становится просто второстепенным дополнением.

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

0 голосов
/ 23 июня 2009

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

В основном то, что вы пытаетесь сделать, называется Tivoization , и если какой-либо из пакетов, которые вы используете, попадает под GPL v3, возможно, вы нарушаете его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...