Как защитить программное обеспечение от нелегального распространения? [закрытый]


Мне интересно, как вы защищаете свое программное обеспечение от взлома, взлома и т. д.

вы используете какую-то проверку серийного номера? Аппаратные ключи?

используете ли вы какие-либо сторонние решения?

Как вы решаете вопросы лицензирования? (например, управление плавающими лицензиями)

EDIT: я не говорю о каком-либо открытом исходном коде, но строго коммерческом распространении программного обеспечения...

25 85

25 ответов:

есть много, много, много защиты. Ключ:

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

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

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

и вариации выше.

Адам

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

нет.

пираты будут пиратствовать. Независимо от того, какое решение вы придумаете, оно может и будет взломано.

с другой стороны, ваши реальные клиенты-это те, кто помешал хрень.

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

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

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

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

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

тем не менее, аппаратные средства защиты могут работать хорошо. Пример того, как это может хорошо работать, таков: найдите (довольно) простой, но необходимый компонент вашего программного обеспечения и реализуйте его в Verilog/VHDL. Создайте пару открытых и закрытых ключей и создайте веб-сервис, который принимает строку вызова и шифрует ее с помощью закрытого ключа. Затем сделайте USB-ключ, который содержит ваш открытый ключ и генерирует случайные строки вызова. Ваше программное обеспечение должно запросить USB-ключ для строки вызова и отправить его на сервер для шифрования. Затем программное обеспечение отправляет его на ключ. Ключ проверяет зашифрованную строку вызова с помощью открытого ключа и переходит в режим "Включено". Затем ваше программное обеспечение вызывает ключ в любое время, когда ему нужно выполнить операцию, которую вы написали в HDL. Таким образом, любой, кто хочет пиратствовать ваше программное обеспечение, должен выяснить, что операция - это и переопределить ее - гораздо сложнее, чем просто победить чистую защиту программного обеспечения.

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

схема лицензирования программного обеспечения Microsoft безумно дорого для малого бизнеса. Стоимость сервера составляет около $ 12,000, если вы хотите настроить его самостоятельно. Я не рекомендую его для обмана сердца.

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

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

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

управление "прав" Цифров одиночный самый большой продукт змеи-масла программного обеспечения в индустрии. Чтобы взять страницу из классической криптографии, типичный сценарий заключается в том, что Алиса хочет передать Бобу без Чарли не сможет прочитать его. DRM не работает, потому что в своем приложении Боб и Чарли-один и тот же человек!

вам было бы лучше задать обратный вопрос: "Как заставить людей покупать мое программное обеспечение, а не красть его?"И это очень более широкий вопрос. Но это обычно начинается с проведения исследований. Вы выясняете, кто покупает тип программного обеспечения, которое вы хотите продать, а затем производить программное обеспечение, которое обращается к этим людям.

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

Проверьте программное обеспечение Stardock, создатели оконных штор и игр, таких как грехи Солнечной империи, последний не имеет DRM и превратил значительную прибыль от бюджета в $ 2 млн.

Существует несколько методов, таких как использование идентификатора процессора для создания "ключа активации."

суть в том, что если кто-то хочет это плохо-они будут перепроектировать никакой защиты у вас.

наиболее безотказными методами являются использование онлайн-проверки во время выполнения или аппаратного hasp.

удачи!

онлайн - только такие игры, как World of Warcraft (WoW) сделали это, каждый должен подключаться к серверу каждый раз, и поэтому учетные записи могут быть постоянно проверены. Никакой другой метод не работает для фасоли.

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

Readi его в разговор с пиратами.

вообще есть две системы, которые часто путаются -

  • лицензирование или отслеживание активации, законное законное использование
  • безопасность предотвращения незаконного использования

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

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

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

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

проверьте еще один из моих ответов на защита DLL.

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

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

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

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

DRM this, DRM that-издатели, которые заставляют DRM на своих проектах делают это, потому что это выгодно. Их экономисты заключают это на данных, которые никто из нас никогда не увидит. Тролли "DRM is evil" заходят слишком далеко.

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

незаконное распространение практически невозможно предотвратить; просто спросите RIAA. Цифровой контент может быть просто скопирован; аналоговый контент может быть оцифрован, а затем скопирован.

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

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

обязательный отказ от ответственности & plug: компания, которую я основал, производит решение для лицензирования программного обеспечения OffByZero Cobalt для .NET.

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

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

  2. многие случайные не мечтали бы взломать sw сами, но если есть легкая доступная трещина на сайте, таком как piratebay, они будут использовать ее, если бы не было, они могли бы купить ее.

эта концепция не отключения пиратского программного обеспечения после обнаружения также кажется сумасшедшей, я не понимаю, почему я должен позволить кому-то продолжать использовать программное обеспечение, которое они не должны использовать, я думаю, это просто ВЗГЛЯД/Надежда пиратов.

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

единственный способ я вижу, чтобы предотвратить это либо:

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

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

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

Это зависит от того, что именно ваш программный продукт, но одна из возможностей состоит в том, чтобы переместить "ценную" часть программы из программного обеспечения и держать ее под Вашим исключительным контролем. Вы бы взимали скромную плату за программное обеспечение (в основном для покрытия расходов на печать и распространение) и генерировали бы свой доход от внешнего компонента. Например, антивирусная программа, которая продается дешево (или поставляется бесплатно с другими продуктами), но продает подписки на свою службу обновления определений вирусов. С этим модель, пиратская копия, которая подписывается на вашу службу обновлений, не будет представлять собой большую часть финансовых потерь. С ростом популярности приложений "в облаке" этот метод становится все проще реализовать; разместить приложение на своем облаке и взимать плату с пользователей за доступ к облаку. Это не мешает кому-то повторно реализовать свое собственное облако, чтобы устранить необходимость в вашем сервисе, но время и усилия, связанные с этим, скорее всего, перевесят преимущества (если вы сохраните свой модель ценообразования разумная).

Как уже было указано, защита программного обеспечения никогда не гарантируется, чтобы быть надежным. Что вы намерены использовать во многом зависит от вашей целевой аудитории. Например, игра-это не то, что вы сможете защищать вечно. Серверное программное обеспечение, с другой стороны, является чем-то гораздо менее вероятным для распространения в Интернете по ряду причин (проникновение продукта и ответственность приходят на ум; крупная корпорация не хочет нести ответственность за бутлегерское программное обеспечение, и пираты беспокоятся только о вещах, пользующихся достаточно большим спросом). Честно говоря, для громкой игры лучшим решением, вероятно, является засеять торрент самостоятельно (тайно!) и изменить его каким-то образом (например, так, что после двух недель игры он всплывает с сообщениями, говорящими вам, пожалуйста, рассмотреть вопрос о поддержке разработчиков, купив законную копию).

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

простое, и самое лучшее решение, как раз поручить их вверх по фронту. Установите цену, которая работает для вас и их.

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

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

почти вся защита от копирования является как неэффективной, так и кошмаром юзабилити. Некоторые из них, такие как размещение корневых наборов на машинах ваших клиентов, становятся совершенно неэтичными

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

  • Онлайн-Игры
  • Защита От Вирусов
  • Защита От Спама
  • ноутбук отслеживания программного обеспечения

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

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

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

Я продал программное обеспечение потребителям, и я нахожу это правильным балансом стоимости/простоты использования/защиты.

Я согласен со многими плакатами, что никакая программная схема защиты от копирования не будет сдерживать квалифицированного программного пирата. Для коммерческого программного обеспечения на основе .NET Microsoft Software License Protection (SLP) - это очень недорогое решение. Он поддерживает ограниченные по времени и плавающие лицензии. Их цена начинается от 10 $/месяц + 5 $за активацию и компоненты защиты, кажется, работает как рекламируется. Это довольно новое предложение, хотя, так что покупатель будьте осторожны.

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

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

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

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

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

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

мы лицензируем наше коммерческое программное обеспечение, используя нашу собственную систему лицензирования-это то, что мы продаем (инструменты управления лицензиями). Мы обычно продаем лицензии на подписку, но также можем продавать на основе использования, если мы хотим. Это было безопасно для нас до сих пор: www.agilis-sw.com