Как организовать защиту ПО: лучшая практика
4К открытий4К показов
Наш читатель прислал нам вопрос:
Пишу ПО для Windows, хочу получать из этого хоть какую-нибудь выгоду. Но проблема в том, что все процессы активации ломаю даже я сам минут за 10. Не могли бы вы рассказать о защите ПО, основные понятия этого сложного механизма?
Мы передали его нашим экспертам, а полученные ответы представляем вашему вниманию.
Как организовать защиту ПО?
Стас Павлов
руководитель направления маркетинга для технических аудиторий в Microsoft Россия
Общего ответа на такой вопрос нет. Обсуждать конкретные механизмы не хватит места и времени, но есть несколько подходов к данному вопросу:
- использование магазинов приложений;
- программно-аппаратная защита, разнообразные USB ключи и т. д.
- завязывание софта на онлайн-сервис, без которого использование ПО теряет большую часть ценности.
Если вы посмотрите на успешные проекты, то увидите, что большинство из них, обычно, используют один из указанных подходов. Вопрос «слома» защиты — это вопрос того, насколько готов тратить ресурсы «взломщик» на неавторизованный доступ к программе. Поэтому тут скорее правильный вопрос состоит не в том, как защититься от взлома, а в том, как правильно определить свою аудиторию и подобрать механизм распространения/защиты так, чтобы это было удобно пользователю, при этом защитило от некоторого базового уровня атак на программу.
Николай Мациевский
Chief Executive Officer Airee.International
При любом конкретном вопросе про ПО я всегда себя останавливаю, выдыхаю и задаю другие вопросы: на сколько пользователей это влияет и как это влияет на мой доход? У нас была история с лицензированием ПО (сейчас полностью перешли на SaaS). Нас часто ломали и выкладывали nulled версии. Но на наших продажах это сказывалось, скорее, положительно: чем больше пользователей узнавало про продукт, тем больше было клиентов. Любую защиту — даже если она создана на заказ — можно обойти. Это только вопрос времени и квалификации специалиста по безопасности. Но заниматься взломом будет не более 0,1 % ваших пользователей. Обычно при продаже люди не задают вопрос: как мне это взломать. Если цена меньше ценности, то ее охотно платят. Это быстрее, чем тратить время на взлом.
Сделайте качественное ПО с бесплатным периодом или ограниченным функционалом. Сделайте его удобным, мега-полезным и расскажите о нем пользователям. Это и есть рецепт успеха.
Григорий Земсков
Директор компании «Ревизиум»
Все, что написано одним человеком, может быть взломано другим человеком. Вопрос в том, сколько времени готовы посвятить люди (хакеры), чтобы взломать защиту.
Задача разработчика сделать не абсолютно неприступную защиту, а такую, чтобы «стоимость взлома» (время, затраченное на процесс взлома) превышало стоимость самого продукта или выгоду от взлома, или же было просто нецелесообразным. Как это реализовать технически — это отдельная большая тема для обсуждения. Из очевидных вещей: следует избегать алгоритмов проверки лицензии, которые отключаются простой заменой проверочных условий на негативные, «скручиванием» времени в прошлое, а также защит, алгоритм которых становится очевидным при обычном дизассемблировании. Для более надежной защиты в реализации можно использовать техники обфускации и полиморфные фрагменты кода, привязку к некоторым динамическим состояниям, асимметричные алгоритмы шифрования и другие техники, затрудняющие как поиск/анализ кода проверки защиты, так и его последующую модификацию.
Антон Максимов
технический директор Heads and Hands
Технологии защиты ПО развиваются уже много лет, и за какой-то короткий срок придумать самостоятельно защиту очень сложно. Поэтому лучше взять готовые решения и встроить их в свой продукт.
Дмитрий Сошников
технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R
Хорошая новость состоит в том, что сейчас значительное количество ПО распространяется через магазины приложений, что позволяет в случае массового продукта достичь очень большого количества потребителей, при этом продавая продукт по низкой цене. В этом случае многие люди предпочитают купить продукт, а не взламывать его. Поэтому, чтобы заработать, имеет смысл обратить внимание на разработку массовых приложений для магазина Windows.
Григорий Петров
Лучшая защита — это популярность продукта. Я редко встречал ситуации, когда программы приносили много денег, просто потому что их было тяжело украсть. Продвигайте программу на профильных ресурсах, используйте контент-маркетинг, сделайте версию для Windows Store. Также хорошо помогает вынесение часть функциональности в веб-сервис, регистрация и оплата на котором позволяет пользоваться полной функциональностью связанного с ним приложения.
Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на admin@tproger.ru, мы расскажем как это сделать.
4К открытий4К показов