Предотвращение обхода защиты от копирования

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

Невозможно ли предотвратить взломщик от обхода защиты от копирования? Почему?

Ответ 1

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

Теоретически неподдерживаемая защита - это не только то, что мы продаем. Основная модель, к которой относятся основные поставщики защиты от копирования (включая нас), - это использование шифрования exe и dll и секретный ключ для дешифрования во время выполнения.

Существует три компонента:

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

  • Защищенное хранилище ключей: если взломщик может получить ключ от шифрования, вы будете закрыты. Единственный способ ГАРАНТИИ ключа не может быть украден, это хранить его на защищенном устройстве. Мы используем ключ (он поставляется во многих вариантах, но ОС всегда просто видит его как съемный флеш-накопитель). Ключ хранит ключ на чипе смарт-карт, который затвердевает от атак боковых каналов, таких как DPA. Генерация ключей привязана к нескольким факторам, которые не являются детерминированными и динамическими, поэтому невозможно использовать одну ключевую/главную трещину. Связь между хранилищем ключей и временем выполнения на компьютере также зашифровывается, поэтому атака "человек в середине" прерывается.

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

У нас есть полный криптолог, который может взломать практически любую систему защиты. Он проводит все свое время, изучая, как взломать программное обеспечение, чтобы мы могли его предотвратить. Поэтому вы не думаете, что это просто дешевый шилл для того, что мы делаем, мы не уникальны: другие компании, такие как SafeNet и Arxan Technologies, могут также очень сильно защищаться.

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

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

НТН.

Ответ 2

Нет, это действительно невозможно предотвратить. Вы можете сделать это чрезвычайно сложно - некоторые версии Starforce, по-видимому, достигли этого, за счет серьезного разговора с несколькими "пользователями" (жертвы могут быть более точными).

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

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

Также стоит отметить, что пользователям может потребоваться взломать защиту от копирования для собственного использования; Я помню, как несколько лет назад играл на Diablo на моем ноутбуке, у которого не было внутреннего оптического привода. Таким образом, я упал в трещину без трещин, а затем был занят несколько часов на длительном полете самолета. Принуждение такого рода проверки, и, следовательно, пользователи, работающие вокруг него, являются неправильной работой самого глупого.

Ответ 3

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

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

Таким образом, вы должны опубликовать свой метод шифрования/защиты от копирования/данные программы для публики достаточно, чтобы данные были видны в его пригодной/незашифрованной форме.
Поэтому вы каким-то образом сделали ваши данные доступными для пиратов.
Поэтому ваши данные будут более доступными для хакеров, чем ваша законная аудитория.
Поэтому, ПРОШЕДШИЙ самый простой способ защиты в конечном итоге будет лечить вашу законную аудиторию, как пираты, и отчуждать их

Или, короче, то, как его видит конечный пользователь:
Steal This Comic

Ответ 4

Потому что это фиксированная защита против мыслящего противника.

Военные теоретики избили этого до смерти, сколько тысячелетий назад?

Ответ 5

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

В большинстве приложений есть определенный момент, когда они спрашивают (сами): "Является ли лицензия действительной?" Хакеру просто нужно найти эту точку и изменить скомпилированный код, чтобы вернуть "да". Альтернативно, крекеры могут использовать грубую силу, чтобы попробовать разные лицензионные ключи до тех пор, пока не сработает. Там также социальные факторы: когда один человек покупает инструмент, он может опубликовать действующий код лицензии в Интернете.

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

Удачи!

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

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

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

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

Ответ 9

"Попытка сделать биты бесполезными - это похоже на попытку сделать воду не мокрой". - Брюс Шнайер

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

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

Ответ 10

}} Почему?

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

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

Ответ 11

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

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

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

Ответ 12

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

Если ваше программное обеспечение разыскивается, у вас нет надежды против армии скучающих 17-летних.:)

Ответ 13

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

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

Ответ 14

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

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

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

Ответ 15

О защите, не требующей сети:

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

Другая схема, которая не включает ключ, - это "широкая защита". Я придумал это только сейчас, но он работает следующим образом: там приложение, которое сохраняет пользовательские данные и для которых пользователи могут покупать расширения и т.д. От третьих сторон. Когда пользователь загружает данные или использует новое расширение, расширения и сохраненные данные содержат также код, который выполняет проверки. И, конечно же, эти проверки также защищены контрольной суммой. Это не так безопасно на бумаге, как в другой схеме, но на практике это приложение было полностью расколото все время, так что оно в основном функционирует как пробное, несмотря на то, что оно треснуто, поскольку трещины всегда будут пропускать некоторые проверки и должны исправлять эти расширения как хорошо.

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

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

Теперь для некоторых теорий в маркетинге программного обеспечения:

Если вы считаете, что warez обеспечивает стоящую маркетинговую ценность, то это должно учитываться в бизнес-плане. Это может повлечь за собой очень (слишком) базовую облегченную версию, которая по-прежнему стоит несколько долларов, чтобы обеспечить ее взлома. Затем вы заходите на пользователей с "ограниченным временем обновления дешево из версии Lite", предлагая регулярно и другую тактику upselling. В версии Lite действительно должно быть не более одной достойной покупки функции, и в противном случае она будет очень искалечена. Вероятно, цена должна быть < 10 $. Полная версия, вероятно, должна быть в два раза больше, чем цена обновления с 10-литровой платной демо-версии. например. Если полная версия составляет 80 долларов США, вы предложите обновления с облегченной версии до полной версии за 40 долларов или что-то, что действительно похоже на сделку с убийцей. Конечно, вы избегаете раскрывать эти сделки покупателям, которые пошли прямо за издание в размере 80 долларов.

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

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

Остерегайтесь - там что-то называется "закон растущих ожиданий". Пример из игр: стандартная коробка Ultima 4-6 включала карту из ткани, а издание Skyrim Collectors имеет карту, сделанную из бумаги. Ожидания поднялись, и некоторые люди не будут довольны бумажной картой. Вы хотите либо сохранить качество продукции, либо услугу постоянной или управлять ожиданиями раньше времени. Я считаю, что это важно, когда вы рассматриваете эти вещи с добавленной стоимостью так, как вы хотите, чтобы они были желательными, но не все более дорогостоящими, а не превращались во что-то, что кажется таким бесполезным, что оно побеждает цель.

Ответ 16

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

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

Ответ 17

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

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

Лучший способ - обратить вспять моральный упадок и тем самым повысить уровень целостности в обществе.