Предотвращение обхода защиты от копирования - PullRequest
17 голосов
/ 15 октября 2008

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

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

Ответы [ 18 ]

20 голосов
/ 15 октября 2008

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

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

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

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

16 голосов
/ 17 октября 2008

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

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

Таким образом, Вы должны опубликовать свои данные о ключе шифрования / методе защиты от копирования / данных программы в достаточной степени, чтобы данные были видны в пригодной для использования / незашифрованной форме.
Таким образом, вы каким-то образом сделали ваши данные доступными для пиратов.
Следовательно, ваши данные будут более легко доступны хакерам, чем ваша законная аудитория.
Таким образом, НИЧЕГО, кроме самого простого метода защиты, в конечном итоге будет относиться к вашей законной аудитории как к пиратам и отталкивать их

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

14 голосов
/ 15 октября 2008

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

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

12 голосов
/ 15 октября 2008

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

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

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

Удачи!

9 голосов
/ 23 марта 2011

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

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

Есть три компонента:

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

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

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

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

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

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

НТН.

6 голосов
/ 17 октября 2008

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

5 голосов
/ 15 октября 2008

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

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

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

5 голосов
/ 15 октября 2008

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

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

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

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

5 голосов
/ 17 октября 2008

«Попытка сделать кусочки не копируемыми - это все равно, что сделать воду не мокрой». - Брюс Шнайер

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

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

4 голосов
/ 15 октября 2008

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

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

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

...