Водяные знаки в методах защиты программного обеспечения — обзор

admin

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

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

Разработчики водяного знака программного обеспечения путем имплантации уникальных идентификаторов, чтобы заявить права собственности законному владельцу, а также отслеживать пират после незаконного действия. Таким образом, программное обеспечение водяного знака само по себе также избегает пиратства, пугая пользователя от нарушения авторских прав, увеличивая вероятность попадания. Следует отметить, что водяные знаки — это не простой метод. Большинство других существующих методов борьбы с пиратством легко реализовать, хотя их эффективность в предотвращении пиратства часто вызывает сомнения. Кроме того, в настоящее время многие приложения распространяются в форматах, легко реконструируемых — см. Java-байт-код и Microsoft Intermediate Language — так что также в случае водяных знаков, взломщик может декомпилировать или изучить исходный код в дизассемблере и / или отладчике, чтобы найти и удалить все остатки техники.

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

Таким образом, программный водяной знак внедряет уникальный уникальный идентификатор — называемый водяным знаком — в программу. Если идентификатор уникально устанавливает автора программы, то идентификатор является уведомлением об авторских правах. Однако, если идентификатор однозначно идентифицирует законного покупателя программы, тогда водяной знак является отпечатком пальца. Важным аспектом водяного знака является использование секретного ключа. Благодаря использованию ключа водяной знак объединяется в программу, создавая, хотя и немного, другую программу. Тем не менее, проблема идентичности остается прежней: водяной знак может оказаться владельцем, но он не может указывать на фактического виновника незаконных действий. Чтобы добавить такие характеристики к водяному знаку, он становится отпечатком пальца: на самом деле данные отпечатка пальца — это водяной знак, содержащий данные от отдельного клиента.

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

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

Добавить комментарий